diff --git a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn index 759bdb5bb4..df8dc3bdad 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.6 Common definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn index 6c3d9de1e7..d1247346d8 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.7 Constant definitions -- ************************************************************** -- @@ -52,6 +52,19 @@ id-meNBinitiatedSeNBRelease ProcedureCode ::= 23 id-seNBinitiatedSeNBRelease ProcedureCode ::= 24 id-seNBCounterCheck ProcedureCode ::= 25 id-retrieveUEContext ProcedureCode ::= 26 +id-sgNBAdditionPreparation ProcedureCode ::= 27 +id-sgNBReconfigurationCompletion ProcedureCode ::= 28 +id-meNBinitiatedSgNBModificationPreparation ProcedureCode ::= 29 +id-sgNBinitiatedSgNBModification ProcedureCode ::= 30 +id-meNBinitiatedSgNBRelease ProcedureCode ::= 31 +id-sgNBinitiatedSgNBRelease ProcedureCode ::= 32 +id-sgNBCounterCheck ProcedureCode ::= 33 +id-sgNBChange ProcedureCode ::= 34 +id-rRCTransfer ProcedureCode ::= 35 +id-endcX2Setup ProcedureCode ::= 36 +id-endcConfigurationUpdate ProcedureCode ::= 37 +id-secondaryRATDataUsageReport ProcedureCode ::= 38 +id-endcCellActivation ProcedureCode ::= 39 -- ************************************************************** @@ -92,6 +105,13 @@ maxnoofPA INTEGER ::= 3 maxCSIProcess INTEGER ::= 4 maxCSIReport INTEGER ::= 2 maxSubband INTEGER ::= 14 +maxofNRNeighbours INTEGER ::= 1024 +maxCellinengNB INTEGER ::= 16384 +-- maxnoofNRCarriers INTEGER ::= 32 +maxnooftimeperiods INTEGER ::= 2 +maxnoofCellIDforQMC INTEGER ::= 32 +maxnoofTAforQMC INTEGER ::= 8 +maxnoofPLMNforQMC INTEGER ::= 16 -- ************************************************************** -- @@ -108,7 +128,7 @@ id-Cause ProtocolIE-ID ::= 5 id-CellInformation ProtocolIE-ID ::= 6 id-CellInformation-Item ProtocolIE-ID ::= 7 --WS extension -id-Unknown-8 ProtocolIE-ID ::= 8 +id-Unknown-8 ProtocolIE-ID ::= 8 id-New-eNB-UE-X2AP-ID ProtocolIE-ID ::= 9 id-Old-eNB-UE-X2AP-ID ProtocolIE-ID ::= 10 id-TargetCell-ID ProtocolIE-ID ::= 11 @@ -174,7 +194,7 @@ id-CSG-Id ProtocolIE-ID ::= 70 id-CSGMembershipStatus ProtocolIE-ID ::= 71 id-MDTConfiguration ProtocolIE-ID ::= 72 --WS extension -id-Unknown-73 ProtocolIE-ID ::= 73 +id-Unknown-73 ProtocolIE-ID ::= 73 id-ManagementBasedMDTallowed ProtocolIE-ID ::= 74 id-RRCConnSetupIndicator ProtocolIE-ID ::= 75 id-NeighbourTAC ProtocolIE-ID ::= 76 @@ -246,7 +266,7 @@ id-E-RABs-SubjectToCounterCheck-List ProtocolIE-ID ::= 141 id-E-RABs-SubjectToCounterCheckItem ProtocolIE-ID ::= 142 id-CoverageModificationList ProtocolIE-ID ::= 143 --WS extension -id-Unknown-144 ProtocolIE-ID ::= 144 +id-Unknown-144 ProtocolIE-ID ::= 144 id-ReportingPeriodicityCSIR ProtocolIE-ID ::= 145 id-CSIReportList ProtocolIE-ID ::= 146 id-UEID ProtocolIE-ID ::= 147 @@ -288,5 +308,89 @@ id-UE-ContextReferenceAtWT ProtocolIE-ID ::= 182 id-WT-UE-ContextKeptIndicator ProtocolIE-ID ::= 183 id-UESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 184 id-uL-GTPtunnelEndpoint ProtocolIE-ID ::= 185 +--WS extension +id-Unknown-186 ProtocolIE-ID ::= 186 +id-Unknown-187 ProtocolIE-ID ::= 187 +id-Unknown-188 ProtocolIE-ID ::= 188 +id-Unknown-189 ProtocolIE-ID ::= 189 +id-Unknown-190 ProtocolIE-ID ::= 190 +id-Unknown-191 ProtocolIE-ID ::= 191 +id-Unknown-192 ProtocolIE-ID ::= 192 +id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 193 +id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID ::= 194 +id-UEAppLayerMeasConfig ProtocolIE-ID ::= 195 +id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID ::= 196 +id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID ::= 197 +id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID ::= 198 +id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID ::= 199 +id-extended-uEaggregateMaximumBitRateDownlink ProtocolIE-ID ::= 200 +id-extended-uEaggregateMaximumBitRateUplink ProtocolIE-ID ::= 201 +id-NRrestriction ProtocolIE-ID ::= 202 +id-SgNBSecurityKey ProtocolIE-ID ::= 203 +id-SgNBUEAggregateMaximumBitRate ProtocolIE-ID ::= 204 +id-E-RABs-ToBeAdded-SgNBAddReqList ProtocolIE-ID ::= 205 +id-MeNBtoSgNBContainer ProtocolIE-ID ::= 206 +id-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 207 +id-RequestedMCGSplitSRBs ProtocolIE-ID ::= 208 +id-E-RABs-ToBeAdded-SgNBAddReq-Item ProtocolIE-ID ::= 209 +id-E-RABs-Admitted-ToBeAdded-SgNBAddResList ProtocolIE-ID ::= 210 +id-SgNBtoMeNBContainer ProtocolIE-ID ::= 211 +id-AdmittedMCGSplitSRBs ProtocolIE-ID ::= 212 +id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item ProtocolIE-ID ::= 213 +id-ResponseInformationSgNBReconfComp ProtocolIE-ID ::= 214 +id-UE-ContextInformation-SgNBModReq ProtocolIE-ID ::= 215 +id-E-RABs-ToBeAdded-SgNBModReq-Item ProtocolIE-ID ::= 216 +id-E-RABs-ToBeModified-SgNBModReq-Item ProtocolIE-ID ::= 217 +id-E-RABs-ToBeReleased-SgNBModReq-Item ProtocolIE-ID ::= 218 +id-E-RABs-Admitted-ToBeAdded-SgNBModAckList ProtocolIE-ID ::= 219 +id-E-RABs-Admitted-ToBeModified-SgNBModAckList ProtocolIE-ID ::= 220 +id-E-RABs-Admitted-ToBeReleased-SgNBModAckList ProtocolIE-ID ::= 221 +id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ProtocolIE-ID ::= 222 +id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item ProtocolIE-ID ::= 223 +id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item ProtocolIE-ID ::= 224 +id-E-RABs-ToBeReleased-SgNBModReqdList ProtocolIE-ID ::= 225 +id-E-RABs-ToBeModified-SgNBModReqdList ProtocolIE-ID ::= 226 +id-E-RABs-ToBeReleased-SgNBModReqd-Item ProtocolIE-ID ::= 227 +id-E-RABs-ToBeModified-SgNBModReqd-Item ProtocolIE-ID ::= 228 +id-E-RABs-ToBeReleased-SgNBChaConfList ProtocolIE-ID ::= 229 +id-E-RABs-ToBeReleased-SgNBChaConf-Item ProtocolIE-ID ::= 230 +id-E-RABs-ToBeReleased-SgNBRelReqList ProtocolIE-ID ::= 231 +id-E-RABs-ToBeReleased-SgNBRelReq-Item ProtocolIE-ID ::= 232 +id-E-RABs-ToBeReleased-SgNBRelConfList ProtocolIE-ID ::= 233 +id-E-RABs-ToBeReleased-SgNBRelConf-Item ProtocolIE-ID ::= 234 +id-E-RABs-SubjectToSgNBCounterCheck-List ProtocolIE-ID ::= 235 +id-E-RABs-SubjectToSgNBCounterCheck-Item ProtocolIE-ID ::= 236 +id-RRCContainer ProtocolIE-ID ::= 237 +id-SRBType ProtocolIE-ID ::= 238 +id-Target-SgNB-ID ProtocolIE-ID ::= 239 +id-HandoverRestrictionList ProtocolIE-ID ::= 240 +id-SCGConfigurationQuery ProtocolIE-ID ::= 241 +id-MCGSplitSRB ProtocolIE-ID ::= 242 +id-UENRMeasurement ProtocolIE-ID ::= 243 +id-InitiatingNodeType-EndcX2Setup ProtocolIE-ID ::= 244 +id-InitiatingNodeType-EndcConfigUpdate ProtocolIE-ID ::= 245 +id-RespondingNodeType-EndcX2Setup ProtocolIE-ID ::= 246 +id-RespondingNodeType-EndcConfigUpdate ProtocolIE-ID ::= 247 +id-NRUESecurityCapabilities ProtocolIE-ID ::= 248 +id-PDCPChangeIndication ProtocolIE-ID ::= 249 +id-ServedEUTRAcellsENDCX2ManagementList ProtocolIE-ID ::= 250 +id-CellAssistanceInformation ProtocolIE-ID ::= 251 +id-Globalen-gNB-ID ProtocolIE-ID ::= 252 +id-ServedNRcellsENDCX2ManagementList ProtocolIE-ID ::= 253 +id-UE-ContextReferenceAtSgNB ProtocolIE-ID ::= 254 +id-SecondaryRATUsageReport ProtocolIE-ID ::= 255 +id-ActivationID ProtocolIE-ID ::= 256 +id-MeNBResourceCoordinationInformation ProtocolIE-ID ::= 257 +id-SgNBResourceCoordinationInformation ProtocolIE-ID ::= 258 +id-ServedEUTRAcellsToModifyListENDCConfUpd ProtocolIE-ID ::= 259 +id-ServedEUTRAcellsToDeleteListENDCConfUpd ProtocolIE-ID ::= 260 +id-ServedNRcellsToModifyListENDCConfUpd ProtocolIE-ID ::= 261 +id-ServedNRcellsToDeleteListENDCConfUpd ProtocolIE-ID ::= 262 +id-E-RABUsageReport-Item ProtocolIE-ID ::= 263 +id-Old-SgNB-UE-X2AP-ID ProtocolIE-ID ::= 264 +id-SecondaryRATUsageReportList ProtocolIE-ID ::= 265 +id-SecondaryRATUsageReport-Item ProtocolIE-ID ::= 266 +id-ServedNRCellsToActivate ProtocolIE-ID ::= 267 +id-ActivatedNRCellList ProtocolIE-ID ::= 268 END diff --git a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn index 0957c3bc6e..b7bef5291d 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.8 Container definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn index 70f1625869..2519906fd0 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.5 Information Element definitions -- ************************************************************** -- @@ -36,6 +36,7 @@ IMPORTS id-M4Configuration, id-M5Configuration, id-MDT-Location-Info, + id-NRrestriction, id-AdditionalSpecialSubframe-Info, id-UEID, id-enhancedRNTP, @@ -46,6 +47,18 @@ IMPORTS id-OffsetOfNbiotChannelNumberToUL-EARFCN, id-AdditionalSpecialSubframeExtension-Info, id-BandwidthReducedSI, + id-extended-e-RAB-MaximumBitrateDL, + id-extended-e-RAB-MaximumBitrateUL, + id-extended-e-RAB-GuaranteedBitrateDL, + id-extended-e-RAB-GuaranteedBitrateUL, + id-extended-uEaggregateMaximumBitRateDownlink, + id-extended-uEaggregateMaximumBitRateUplink, + id-E-RABUsageReport-Item, + id-SecondaryRATUsageReport-Item, + id-UEAppLayerMeasConfig, + id-DL-scheduling-PDCCH-CCE-usage, + id-UL-scheduling-PDCCH-CCE-usage, + maxnoofBearers, maxCellineNB, maxEARFCN, @@ -76,7 +89,11 @@ IMPORTS maxnoofPA, maxCSIProcess, maxCSIReport, - maxSubband + maxSubband, + maxnooftimeperiods, + maxnoofCellIDforQMC, + maxnoofTAforQMC, + maxnoofPLMNforQMC FROM X2AP-Constants @@ -137,6 +154,8 @@ ABS-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +ActivationID ::= INTEGER (0..255) + AdditionalSpecialSubframe-Info ::= SEQUENCE { additionalspecialSubframePatterns AdditionalSpecialSubframePatterns, cyclicPrefixDL CyclicPrefixDL, @@ -200,6 +219,14 @@ AreaScopeOfMDT ::= CHOICE { tAIBased TAIBasedMDT } +AreaScopeOfQMC ::= CHOICE { + cellBased CellBasedQMC, + tABased TABasedQMC, + tAIBased TAIBasedQMC, + pLMNAreaBased PLMNAreaBasedQMC, + ... +} + AS-SecurityInformation ::= SEQUENCE { key-eNodeB-star Key-eNodeB-Star, nextHopChainingCount NextHopChainingCount, @@ -329,12 +356,24 @@ CellBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +CellBasedQMC::= SEQUENCE { + cellIdListforQMC CellIdListforQMC, + iE-Extensions ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +CellBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + CellCapacityClassValue ::= INTEGER (1..100, ...) CellDeploymentStatusIndicator ::= ENUMERATED {pre-change-notification, ...} CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF ECGI +CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF ECGI + CellReplacingInfo ::= SEQUENCE { replacingCellsList ReplacingCellsList, iE-Extensions ProtocolExtensionContainer { { CellReplacingInfo-ExtIEs}} OPTIONAL, @@ -570,6 +609,17 @@ DeactivationIndication::= ENUMERATED { ... } +DeliveryStatus ::= SEQUENCE { + highestSuccessDeliveredPDCPSN INTEGER (0..4095), + iE-Extensions ProtocolExtensionContainer { {DeliveryStatus-ExtIEs} } OPTIONAL, + ... +} + +DeliveryStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + DL-ABS-status::= INTEGER (0..100) DL-Forwarding ::= ENUMERATED { @@ -581,6 +631,8 @@ DL-GBR-PRB-usage::= INTEGER (0..100) DL-non-GBR-PRB-usage::= INTEGER (0..100) +DL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100) + DL-Total-PRB-usage::= INTEGER (0..100) DynamicDLTransmissionInformation ::= CHOICE { @@ -651,6 +703,19 @@ ENB-ID ::= CHOICE { EncryptionAlgorithms ::= BIT STRING (SIZE (16, ...)) +EN-DC-ResourceConfiguration ::= SEQUENCE { + pDCPatSgNB ENUMERATED {present, not-present, ...}, + mCGresources ENUMERATED {present, not-present, ...}, + sCGresources ENUMERATED {present, not-present, ...}, + iE-Extensions ProtocolExtensionContainer { { EN-DC-ResourceConfigurationExtIEs} } OPTIONAL, + ... +} + +EN-DC-ResourceConfigurationExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity E-RAB-ID ::= INTEGER (0..15, ...) @@ -685,6 +750,26 @@ E-RAB-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +E-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-Single-Container { {E-RABUsageReport-ItemIEs} } + +E-RABUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABUsageReport-Item CRITICALITY ignore TYPE E-RABUsageReport-Item PRESENCE mandatory }, + ... +} + +E-RABUsageReport-Item ::= SEQUENCE { + startTimeStamp OCTET STRING (SIZE(4)), + endTimeStamp OCTET STRING (SIZE(4)), + usageCountUL INTEGER, + usageCountDL INTEGER, + iE-Extensions ProtocolExtensionContainer { { E-RABUsageReport-Item-ExtIEs} } OPTIONAL, +... +} + +E-RABUsageReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + EUTRA-Mode-Info ::= CHOICE { fDD FDD-Info, tDD TDD-Info, @@ -743,6 +828,8 @@ ExtendedULInterferenceOverloadInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +ExtendedBitRate ::= INTEGER (10000000001..4000000000000,...) + -- F FDD-Info ::= SEQUENCE { @@ -825,6 +912,11 @@ GBR-QosInformation ::= SEQUENCE { } GBR-QosInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { +-- Extension for maximum bitrate > 10Gbps -- + { ID id-extended-e-RAB-MaximumBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}| + { ID id-extended-e-RAB-MaximumBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}| + { ID id-extended-e-RAB-GuaranteedBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}| + { ID id-extended-e-RAB-GuaranteedBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}, ... } @@ -839,6 +931,17 @@ GlobalENB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +GlobalGNB-ID ::= SEQUENCE { + pLMN-Identity PLMN-Identity, + gNB-ID GNB-ID, + iE-Extensions ProtocolExtensionContainer { {GlobalGNB-ID-ExtIEs} } OPTIONAL, + ... +} + +GlobalGNB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + GTPtunnelEndpoint ::= SEQUENCE { transportLayerAddress TransportLayerAddress, gTP-TEID GTP-TEI, @@ -879,7 +982,10 @@ GUMMEI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } - +GNB-ID ::= CHOICE { + gNB-ID BIT STRING (SIZE (22..32)), + ... +} -- H @@ -901,6 +1007,7 @@ HandoverRestrictionList ::= SEQUENCE { } HandoverRestrictionList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-NRrestriction CRITICALITY ignore EXTENSION NRrestriction PRESENCE optional}, ... } @@ -1145,6 +1252,18 @@ MeasurementThresholdA2 ::= CHOICE { ... } +MeNBResourceCoordinationInformation ::= SEQUENCE { + eUTRA-Cell-ID ECGI, + uLCoordinationInformation BIT STRING (SIZE(6..4400, ...)), + dLCoordinationInformation BIT STRING (SIZE(6..4400, ...)), + iE-Extensions ProtocolExtensionContainer { { MeNBResourceCoordinationInformationExtIEs} } OPTIONAL, + ... +} + +MeNBResourceCoordinationInformationExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + MeNBtoSeNBContainer ::= OCTET STRING MME-Group-ID ::= OCTET STRING (SIZE (2)) @@ -1193,6 +1312,32 @@ BandInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +MeNBtoSgNBContainer ::= OCTET STRING + +MCGSplitSRBs ::= ENUMERATED {srb1, srb2, srb1and2, ...} + +MCGSplitSRB ::= SEQUENCE { + rrcContainer RRCContainer OPTIONAL, + srbType SRBType, + deliveryStatus DeliveryStatus OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MCGSplitSRB-ExtIEs} } OPTIONAL, + ... +} + +MCGSplitSRB-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +UENRMeasurement ::= SEQUENCE { + uENRMeasurements RRCContainer, + iE-Extensions ProtocolExtensionContainer { {UENRMeasurement-ExtIEs} } OPTIONAL, + ... +} + +UENRMeasurement-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + -- N Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF SEQUENCE { @@ -1218,6 +1363,44 @@ Number-of-Antennaports ::= ENUMERATED { ... } +NRARFCN ::= INTEGER (0..65535) -- This IE may be refined. + +NR-TxBW ::= INTEGER (0..65535) -- This IE may be refined. + +NRCellIdentifier ::= BIT STRING (SIZE (36)) + +NRCGI ::= SEQUENCE { + pLMN-Identity PLMN-Identity, + nRcellIdentifier NRCellIdentifier, + iE-Extensions ProtocolExtensionContainer { {NRCGI-ExtIEs} } OPTIONAL, + ... +} + +NRCGI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRPCI ::= INTEGER (0..1007,...) + +NRrestriction ::= ENUMERATED { + nRrestricted, + ... +} + +NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...)) +NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) + +NRUESecurityCapabilities ::= SEQUENCE { + nRencryptionAlgorithms NRencryptionAlgorithms, + nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms, + iE-Extensions ProtocolExtensionContainer { { NRUESecurityCapabilities-ExtIEs} } OPTIONAL, +... +} + +NRUESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + -- O OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED { @@ -1261,6 +1444,8 @@ PA-Values ::= ENUMERATED { ... } +PDCPChangeIndication ::= ENUMERATED {s-KgNB-update-required, pDCP-data-recovery-required,...} + PDCP-SN ::= INTEGER (0..4095) PDCP-SNExtended ::= INTEGER (0..32767) @@ -1283,6 +1468,19 @@ PRACH-Configuration ::= SEQUENCE { ... } +PLMNAreaBasedQMC ::= SEQUENCE { + plmnListforQMC PLMNListforQMC, + iE-Extensions ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +PLMNAreaBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMN-Identity + + PRACH-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } @@ -1360,6 +1558,9 @@ RadioResourceStatus ::= SEQUENCE { } RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + {ID id-DL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION DL-scheduling-PDCCH-CCE-usage PRESENCE optional}| + + {ID id-UL-scheduling-PDCCH-CCE-usage CRITICALITY ignore EXTENSION UL-scheduling-PDCCH-CCE-usage PRESENCE optional}, ... } @@ -1434,6 +1635,11 @@ ResumeID ::= CHOICE { ... } +RLCMode ::= ENUMERATED { + rlc-am, + rlc-um +} + RNTP-Threshold ::= ENUMERATED { minusInfinity, minusEleven, @@ -1490,6 +1696,8 @@ RSRPMRList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +RRCContainer ::= OCTET STRING + -- S S1TNLLoadIndicator ::= SEQUENCE { @@ -1505,6 +1713,25 @@ S1TNLLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { SCGChangeIndication ::= ENUMERATED {pDCPCountWrapAround, pSCellChange, other, ...} +SecondaryRATUsageReportList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container {{SecondaryRATUsageReport-ItemIEs}} + +SecondaryRATUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-SecondaryRATUsageReport-Item CRITICALITY reject TYPE SecondaryRATUsageReport-Item PRESENCE mandatory}, + ... +} + +SecondaryRATUsageReport-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + secondaryRATType ENUMERATED {nr, ...}, + e-RABUsageReportList E-RABUsageReportList, + iE-Extensions ProtocolExtensionContainer { { SecondaryRATUsageReport-Item-ExtIEs} } OPTIONAL, +... +} + +SecondaryRATUsageReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + SeNBSecurityKey ::= BIT STRING (SIZE(256)) SeNBtoMeNBContainer ::= OCTET STRING @@ -1543,6 +1770,20 @@ ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +SgNBResourceCoordinationInformation ::= SEQUENCE { + nR-CGI NRCGI, + uLCoordinationInformation BIT STRING (SIZE(6..4400, ...)), + dLCoordinationInformation BIT STRING (SIZE(6..4400, ...)), + iE-Extensions ProtocolExtensionContainer { { SgNBResourceCoordinationInformationExtIEs} } OPTIONAL, + ... +} + +SgNBResourceCoordinationInformationExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +SgNB-UE-X2AP-ID ::= INTEGER (0..4294967295) + SIPTOBearerDeactivationIndication ::= ENUMERATED { true, ... @@ -1652,6 +1893,12 @@ SubframeAssignment ::= ENUMERATED { ... } +SgNBSecurityKey ::= BIT STRING (SIZE(256)) + +SgNBtoMeNBContainer ::= OCTET STRING + +SRBType ::= ENUMERATED {srb1, srb2, ...} +SCGConfigurationQuery ::= ENUMERATED {true,...} -- T @@ -1692,6 +1939,30 @@ TAI-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC +TABasedQMC ::= SEQUENCE { + tAListforQMC TAListforQMC, + iE-Extensions ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL, + ... +} + +TABasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC + +TAIBasedQMC ::= SEQUENCE { + tAIListforQMC TAIListforQMC, + iE-Extensions ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL, + ... +} + +TAIBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI-Item + TargetCellInUTRAN ::= OCTET STRING -- This IE is to be encoded according to the UTRAN Cell ID in the Last Visited UTRAN Cell Information IE in TS 25.413 [24] TargeteNBtoSource-eNBTransparentContainer ::= OCTET STRING @@ -1739,7 +2010,8 @@ traceCollectionEntityIPAddress TraceCollectionEntityIPAddress, } TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { - { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}, + { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}| + { ID id-UEAppLayerMeasConfig CRITICALITY ignore EXTENSION UEAppLayerMeasConfig PRESENCE optional}, ... } @@ -1796,6 +2068,19 @@ UEAggregateMaximumBitRate ::= SEQUENCE { } UEAggregate-MaximumBitrate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-extended-uEaggregateMaximumBitRateDownlink CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}| + { ID id-extended-uEaggregateMaximumBitRateUplink CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}, + ... +} + +UEAppLayerMeasConfig ::= SEQUENCE { + containerForAppLayerMeasConfig OCTET STRING (SIZE(1..1000)), + areaScopeOfQMC AreaScopeOfQMC, + iE-Extensions ProtocolExtensionContainer { {UEAppLayerMeasConfig-ExtIEs} } OPTIONAL, + ... +} + +UEAppLayerMeasConfig-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } @@ -1844,6 +2129,18 @@ UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +ULConfiguration::= SEQUENCE { + uL-PDCP UL-UE-Configuration, + iE-Extensions ProtocolExtensionContainer { { ULConfiguration-ExtIEs} } OPTIONAL, + ... +} + +ULConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +UL-UE-Configuration::= ENUMERATED { no-data, shared, only, ... } + UL-GBR-PRB-usage::= INTEGER (0..100) UL-HighInterferenceIndicationInfo ::= SEQUENCE (SIZE(1..maxCellineNB)) OF UL-HighInterferenceIndicationInfo-Item @@ -1872,6 +2169,8 @@ UL-InterferenceOverloadIndication-Item ::= ENUMERATED { UL-non-GBR-PRB-usage::= INTEGER (0..100) +UL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100) + UL-Total-PRB-usage::= INTEGER (0..100) UsableABSInformation ::= CHOICE { diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn index bd1462e664..cffee5d534 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.4 PDU Definitions -- ************************************************************** -- @@ -65,6 +65,7 @@ IMPORTS RRCConnReestabIndicator, RRCConnSetupIndicator, UE-RLF-Report-Container, + UEAppLayerMeasConfig, RRC-Context, ServedCell-Information, ServedCells, @@ -122,7 +123,35 @@ IMPORTS MakeBeforeBreakIndicator, WTID, WT-UE-XwAP-ID, - UESidelinkAggregateMaximumBitRate + UESidelinkAggregateMaximumBitRate, + SgNBSecurityKey, + MeNBtoSgNBContainer, + SgNBtoMeNBContainer, + MCGSplitSRBs, + RRCContainer, + SRBType, + GlobalGNB-ID, + GNB-ID, + SCGConfigurationQuery, + MCGSplitSRB, + UENRMeasurement, + EN-DC-ResourceConfiguration, + TAC, + NRARFCN, + NRCGI, + NRPCI, + NRUESecurityCapabilities, + PDCPChangeIndication, + ULConfiguration, + SgNB-UE-X2AP-ID, + SecondaryRATUsageReportList, + ActivationID, + MeNBResourceCoordinationInformation, + SgNBResourceCoordinationInformation, + NR-TxBW, + BroadcastPLMNs-Item, + RLCMode + FROM X2AP-IEs @@ -294,13 +323,82 @@ FROM X2AP-Containers id-MakeBeforeBreakIndicator, id-UESidelinkAggregateMaximumBitRate, id-uL-GTPtunnelEndpoint, + id-SgNBSecurityKey, + id-SgNBUEAggregateMaximumBitRate, + id-E-RABs-ToBeAdded-SgNBAddReqList, + id-MeNBtoSgNBContainer, + id-SgNB-UE-X2AP-ID, + id-RequestedMCGSplitSRBs, + id-E-RABs-ToBeAdded-SgNBAddReq-Item, + id-E-RABs-Admitted-ToBeAdded-SgNBAddResList, + id-SgNBtoMeNBContainer, + id-AdmittedMCGSplitSRBs , + id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item, + id-ResponseInformationSgNBReconfComp, + id-UE-ContextInformation-SgNBModReq, + id-E-RABs-ToBeAdded-SgNBModReq-Item, + id-E-RABs-ToBeModified-SgNBModReq-Item, + id-E-RABs-ToBeReleased-SgNBModReq-Item, + id-E-RABs-Admitted-ToBeAdded-SgNBModAckList, + id-E-RABs-Admitted-ToBeModified-SgNBModAckList, + id-E-RABs-Admitted-ToBeReleased-SgNBModAckList, + id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item, + id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item, + id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item, + id-E-RABs-ToBeReleased-SgNBModReqdList, + id-E-RABs-ToBeModified-SgNBModReqdList, + id-E-RABs-ToBeReleased-SgNBModReqd-Item, + id-E-RABs-ToBeModified-SgNBModReqd-Item, + id-E-RABs-ToBeReleased-SgNBChaConfList, + id-E-RABs-ToBeReleased-SgNBChaConf-Item, + id-E-RABs-ToBeReleased-SgNBRelReqList, + id-E-RABs-ToBeReleased-SgNBRelReq-Item, + id-E-RABs-ToBeReleased-SgNBRelConfList, + id-E-RABs-ToBeReleased-SgNBRelConf-Item, + id-E-RABs-SubjectToSgNBCounterCheck-List, + id-E-RABs-SubjectToSgNBCounterCheck-Item, + id-Target-SgNB-ID, + id-RRCContainer, + id-SRBType, + id-HandoverRestrictionList, + id-SCGConfigurationQuery, + id-MCGSplitSRB, + id-UENRMeasurement, + id-InitiatingNodeType-EndcX2Setup, + id-InitiatingNodeType-EndcConfigUpdate, + id-RespondingNodeType-EndcX2Setup, + id-RespondingNodeType-EndcConfigUpdate, + id-NRUESecurityCapabilities, + id-PDCPChangeIndication, + id-ServedEUTRAcellsENDCX2ManagementList, + id-ServedEUTRAcellsToModifyListENDCConfUpd, + id-ServedEUTRAcellsToDeleteListENDCConfUpd, + id-ServedNRcellsToModifyListENDCConfUpd, + id-ServedNRcellsToDeleteListENDCConfUpd, + id-CellAssistanceInformation, + id-Globalen-gNB-ID, + id-ServedNRcellsENDCX2ManagementList, + id-Old-SgNB-UE-X2AP-ID, + id-UE-ContextReferenceAtSgNB, + id-SecondaryRATUsageReportList, + id-ActivationID, + id-ServedNRCellsToActivate, + id-ActivatedNRCellList, + id-MeNBResourceCoordinationInformation, + id-SgNBResourceCoordinationInformation, + id-UEAppLayerMeasConfig, maxCellineNB, maxnoofBearers, maxnoofPDCP-SN, maxFailedMeasObjects, maxnoofCellIDforMDT, - maxnoofTAforMDT + maxnoofTAforMDT, + maxofNRNeighbours, + maxCellinengNB, + maxnoofCellIDforQMC, + maxnoofTAforQMC, + maxnoofPLMNforQMC FROM X2AP-Constants; -- ************************************************************** @@ -332,7 +430,9 @@ HandoverRequest-IEs X2AP-PROTOCOL-IES ::= { { 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-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}| - { ID id-UE-ContextReferenceAtWT CRITICALITY ignore TYPE UE-ContextReferenceAtWT PRESENCE optional}, + { ID id-UE-ContextReferenceAtWT CRITICALITY ignore TYPE UE-ContextReferenceAtWT PRESENCE optional}| + { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| + { ID id-UE-ContextReferenceAtSgNB CRITICALITY ignore TYPE UE-ContextReferenceAtSgNB PRESENCE optional}, ... } @@ -403,6 +503,17 @@ UE-ContextReferenceAtWT-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +UE-ContextReferenceAtSgNB ::= SEQUENCE { + source-GlobalSgNB-ID GlobalGNB-ID, + sgNB-UE-X2AP-ID SgNB-UE-X2AP-ID, + iE-Extensions ProtocolExtensionContainer { {UE-ContextReferenceAtSgNB-ItemExtIEs} } OPTIONAL, + ... +} + +UE-ContextReferenceAtSgNB-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + -- ************************************************************** -- -- HANDOVER REQUEST ACKNOWLEDGE @@ -508,7 +619,8 @@ SNStatusTransfer-IEs X2AP-PROTOCOL-IES ::= { { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-E-RABs-SubjectToStatusTransfer-List CRITICALITY ignore TYPE E-RABs-SubjectToStatusTransfer-List PRESENCE mandatory}| { ID id-Old-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-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional}, ... } @@ -554,7 +666,8 @@ UEContextRelease-IEs X2AP-PROTOCOL-IES ::= { { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-Old-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-SIPTO-BearerDeactivationIndication CRITICALITY ignore TYPE SIPTOBearerDeactivationIndication PRESENCE optional}, + { ID id-SIPTO-BearerDeactivationIndication CRITICALITY ignore TYPE SIPTOBearerDeactivationIndication PRESENCE optional}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional}, ... } @@ -596,7 +709,8 @@ ErrorIndication-IEs X2AP-PROTOCOL-IES ::= { { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics 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 ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-Old-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE optional}, ... } @@ -2140,4 +2254,1463 @@ RetrieveUEContextFailure-IEs X2AP-PROTOCOL-IES ::= { ... } +-- ************************************************************** +-- +-- SGNB ADDITION REQUEST +-- +-- ************************************************************** + +SgNBAdditionRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBAdditionRequest-IEs}}, + ... +} + +SgNBAdditionRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-NRUESecurityCapabilities CRITICALITY reject TYPE NRUESecurityCapabilities PRESENCE mandatory}| + { ID id-SgNBSecurityKey CRITICALITY reject TYPE SgNBSecurityKey PRESENCE mandatory}| + { ID id-SgNBUEAggregateMaximumBitRate CRITICALITY reject TYPE UEAggregateMaximumBitRate PRESENCE mandatory}| + { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}| + { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}| + { ID id-E-RABs-ToBeAdded-SgNBAddReqList CRITICALITY reject TYPE E-RABs-ToBeAdded-SgNBAddReqList PRESENCE mandatory}| + { ID id-MeNBtoSgNBContainer CRITICALITY reject TYPE MeNBtoSgNBContainer PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE optional}| + { ID id-ExpectedUEBehaviour CRITICALITY ignore TYPE ExpectedUEBehaviour PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-RequestedMCGSplitSRBs CRITICALITY reject TYPE MCGSplitSRBs PRESENCE optional}| + { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional}, + ... +} + +E-RABs-ToBeAdded-SgNBAddReqList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-SgNBAddReq-ItemIEs} } + +E-RABs-ToBeAdded-SgNBAddReq-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeAdded-SgNBAddReq-Item CRITICALITY reject TYPE E-RABs-ToBeAdded-SgNBAddReq-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent ::= SEQUENCE { + full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters, + max-MCG-admit-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + dL-Forwarding DL-Forwarding OPTIONAL, + meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL, +-- This IE shall be present if MCG resource IE in the the EN-DC Resource Configuration IE is set to “present” -- + s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresent ::= SEQUENCE { + requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters, + meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint, + rlc-Mode RLCMode, + uL-Configuration ULConfiguration OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SGNB ADDITION REQUEST ACKNOWLEDGE +-- +-- ************************************************************** + +SgNBAdditionRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBAdditionRequestAcknowledge-IEs}}, + ... +} + +SgNBAdditionRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-E-RABs-Admitted-ToBeAdded-SgNBAddResList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBAddResList PRESENCE mandatory}| + { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}| + { ID id-SgNBtoMeNBContainer CRITICALITY reject TYPE SgNBtoMeNBContainer PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}| + { ID id-AdmittedMCGSplitSRBs CRITICALITY reject TYPE MCGSplitSRBs PRESENCE optional}| + { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBAddResList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-SgNBAddRes-ItemIEs} } + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item PRESENCE mandatory} +} + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBAddRes-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBAddRes-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPpresent ::= SEQUENCE { + s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint, + sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL, +-- This IE shall be present if MCG resource IE in the the EN-DC Resource Configuration IE is set to “present” -- + rlc-Mode RLCMode, + dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, +-- This IE shall be present if MCG resource and SCG resource IEs in the the EN-DC Resource Configuration IE are set to “present” -- + uL-Configuration ULConfiguration OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPnotpresent ::= SEQUENCE { + sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint, + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- SGNB ADDITION REQUEST REJECT +-- +-- ************************************************************** + +SgNBAdditionRequestReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBAdditionRequestReject-IEs}}, + ... +} + +SgNBAdditionRequestReject-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + + +-- ************************************************************** +-- +-- SGNB RECONFIGURATION COMPLETE +-- +-- ************************************************************** + +SgNBReconfigurationComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReconfigurationComplete-IEs}}, + ... +} + +SgNBReconfigurationComplete-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-ResponseInformationSgNBReconfComp CRITICALITY ignore TYPE ResponseInformationSgNBReconfComp PRESENCE mandatory}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +ResponseInformationSgNBReconfComp ::= CHOICE { + success-SgNBReconfComp ResponseInformationSgNBReconfComp-SuccessItem, + reject-by-MeNB-SgNBReconfComp ResponseInformationSgNBReconfComp-RejectByMeNBItem, + ... +} + +ResponseInformationSgNBReconfComp-SuccessItem ::= SEQUENCE { + meNBtoSgNBContainer MeNBtoSgNBContainer, + iE-Extensions ProtocolExtensionContainer { {ResponseInformationSgNBReconfComp-SuccessItemExtIEs} } OPTIONAL, + ... +} + +ResponseInformationSgNBReconfComp-SuccessItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +ResponseInformationSgNBReconfComp-RejectByMeNBItem ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { {ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs} } OPTIONAL, + ... +} + +ResponseInformationSgNBReconfComp-RejectByMeNBItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- SGNB MODIFICATION REQUEST +-- +-- ************************************************************** + +SgNBModificationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ SgNBModificationRequest-IEs}}, + ... +} + +SgNBModificationRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-PDCPChangeIndication CRITICALITY ignore TYPE PDCPChangeIndication PRESENCE optional}| + { ID id-ServingPLMN CRITICALITY ignore TYPE PLMN-Identity PRESENCE optional}| + { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}| + { ID id-SCGConfigurationQuery CRITICALITY ignore TYPE SCGConfigurationQuery PRESENCE optional}| + { ID id-UE-ContextInformation-SgNBModReq CRITICALITY reject TYPE UE-ContextInformation-SgNBModReq PRESENCE optional}| + { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional}, + ... +} + +UE-ContextInformation-SgNBModReq ::= SEQUENCE { + nRUE-SecurityCapabilities NRUESecurityCapabilities OPTIONAL, + sgNB-SecurityKey SgNBSecurityKey OPTIONAL, + sgNBUEAggregateMaximumBitRate UEAggregateMaximumBitRate OPTIONAL, + e-RABs-ToBeAdded E-RABs-ToBeAdded-SgNBModReq-List OPTIONAL, + e-RABs-ToBeModified E-RABs-ToBeModified-SgNBModReq-List OPTIONAL, + e-RABs-ToBeReleased E-RABs-ToBeReleased-SgNBModReq-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UE-ContextInformationSgNBModReqExtIEs} } OPTIONAL, + ... +} + +UE-ContextInformationSgNBModReqExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeAdded-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-SgNBModReq-ItemIEs} } + +E-RABs-ToBeAdded-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeAdded-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeAdded-SgNBModReq-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeAdded-SgNBModReq-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE { + full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters, + max-MN-admit-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + dL-Forwarding DL-Forwarding OPTIONAL, + meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL, +-- This IE shall be present if MCG resource IE in the the EN-DC Resource Configuration IE is set to “present” -- + s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE { + requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters, + meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint, + rlc-Mode RLCMode, + uL-Configuration ULConfiguration OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +E-RABs-ToBeModified-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-SgNBModReq-ItemIEs} } + +E-RABs-ToBeModified-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeModified-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReq-Item PRESENCE mandatory}, + ... +} + + +E-RABs-ToBeModified-SgNBModReq-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE { + full-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, + max-MN-admit-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, + meNB-DL-GTP-TEIDatMCG GTPtunnelEndpoint OPTIONAL, + s1-UL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE { + requested-SCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, + meNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL, + uL-Configuration ULConfiguration OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBModReq-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBModReq-ItemIEs} } + +E-RABs-ToBeReleased-SgNBModReq-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeReleased-SgNBModReq-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReq-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeReleased-SgNBModReq-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBModReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE { + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresent ::= SEQUENCE { + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBModReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- SGNB MODIFICATION REQUEST ACKNOWLEDGE +-- +-- ************************************************************** + +SgNBModificationRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBModificationRequestAcknowledge-IEs}}, + ... +} + +SgNBModificationRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-E-RABs-Admitted-ToBeAdded-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBModAckList PRESENCE optional}| + { ID id-E-RABs-Admitted-ToBeModified-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-SgNBModAckList PRESENCE optional}| + { ID id-E-RABs-Admitted-ToBeReleased-SgNBModAckList CRITICALITY ignore TYPE E-RABs-Admitted-ToBeReleased-SgNBModAckList PRESENCE optional}| + { ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}| + { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs} } + +E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeAdded-SgNBModAck-Item PRESENCE mandatory} +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE { + s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint, + sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL, +-- This IE shall be present if MCG resource IE in the the EN-DC Resource Configuration IE are set to “present” -- + rlc-Mode RLCMode, + dL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + uL-Forwarding-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, +-- This IE shall be present if MCG resource and SCG resource IEs in the the EN-DC Resource Configuration IE are set to “present” -- + uL-Configuration ULConfiguration OPTIONAL, +-- This IE shall be present if MCG resource and SCG resources IEs in the the EN-DC Resource Configuration IE are set to “present” -- + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE { + sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint, + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeModified-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs} } + +E-RABs-Admitted-ToBeModified-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToBeModified-SgNBModAck-Item PRESENCE mandatory} +} + +E-RABs-Admitted-ToBeModified-SgNBModAck-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeAdded-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE { + s1-DL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + sgNB-UL-GTP-TEIDatPDCP GTPtunnelEndpoint OPTIONAL, + mCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE { + sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeModified-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeReleased-SgNBModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs} } + +E-RABs-Admitted-ToBeReleased-SgNBModAck-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item CRITICALITY ignore TYPE E-RABs-Admitted-ToReleased-SgNBModAck-Item PRESENCE mandatory} +} + +E-RABs-Admitted-ToReleased-SgNBModAck-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBModAck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresent ::= SEQUENCE { + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresent ::= SEQUENCE { + iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-Admitted-ToBeReleased-SgNBModAck-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- SGNB MODIFICATION REQUEST REJECT +-- +-- ************************************************************** + +SgNBModificationRequestReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBModificationRequestReject-IEs}}, + ... +} + +SgNBModificationRequestReject-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + + +-- ************************************************************** +-- +-- SGNB MODIFICATION REQUIRED +-- +-- ************************************************************** + +SgNBModificationRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBModificationRequired-IEs}}, + ... +} + +SgNBModificationRequired-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-PDCPChangeIndication CRITICALITY ignore TYPE PDCPChangeIndication PRESENCE optional}| + { ID id-E-RABs-ToBeReleased-SgNBModReqdList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReqdList PRESENCE optional}| + { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-E-RABs-ToBeModified-SgNBModReqdList CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReqdList PRESENCE optional}| + { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}, + ... +} + + +E-RABs-ToBeReleased-SgNBModReqdList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBModReqd-ItemIEs} } + +E-RABs-ToBeReleased-SgNBModReqd-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeReleased-SgNBModReqd-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBModReqd-Item PRESENCE mandatory }, + ... +} + +E-RABs-ToBeReleased-SgNBModReqd-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBModReqd-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeModified-SgNBModReqdList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-SgNBModReqd-ItemIEs} } + +E-RABs-ToBeModified-SgNBModReqd-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeModified-SgNBModReqd-Item CRITICALITY ignore TYPE E-RABs-ToBeModified-SgNBModReqd-Item PRESENCE mandatory }, + ... +} + +E-RABs-ToBeModified-SgNBModReqd-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReqd-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresent ::= SEQUENCE { + requested-MCG-E-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters OPTIONAL, + uL-Configuration ULConfiguration OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresent ::= SEQUENCE { + sgNB-DL-GTP-TEIDatSCG GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeModified-SgNBModReqd-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- SGNB MODIFICATION CONFIRM +-- +-- ************************************************************** + +SgNBModificationConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBModificationConfirm-IEs}}, + ... +} + +SgNBModificationConfirm-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-MeNBResourceCoordinationInformation CRITICALITY ignore TYPE MeNBResourceCoordinationInformation PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB MODIFICATION REFUSE +-- +-- ************************************************************** + +SgNBModificationRefuse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBModificationRefuse-IEs}}, + ... +} + +SgNBModificationRefuse-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-MeNBtoSgNBContainer CRITICALITY ignore TYPE MeNBtoSgNBContainer PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB RELEASE REQUEST +-- +-- ************************************************************** + +SgNBReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReleaseRequest-IEs}}, + ... +} + +SgNBReleaseRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE optional}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional}| + { ID id-E-RABs-ToBeReleased-SgNBRelReqList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReqList 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}, + ... +} + +E-RABs-ToBeReleased-SgNBRelReqList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBRelReq-ItemIEs} } + +E-RABs-ToBeReleased-SgNBRelReq-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeReleased-SgNBRelReq-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReq-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeReleased-SgNBRelReq-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelReq-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresent ::= SEQUENCE { + uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresent ::= SEQUENCE { + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelReq-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SGNB RELEASE REQUEST ACKNOWLEDGE +-- +-- ************************************************************** + +SgNBReleaseRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReleaseRequestAcknowledge-IEs}}, + ... +} + +SgNBReleaseRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB RELEASE REQUEST REJECT +-- +-- ************************************************************** + +SgNBReleaseRequestReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReleaseRequestReject-IEs}}, + ... +} + +SgNBReleaseRequestReject-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB RELEASE REQUIRED +-- +-- ************************************************************** + +SgNBReleaseRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReleaseRequired-IEs}}, + ... +} + +SgNBReleaseRequired-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB RELEASE CONFIRM +-- +-- ************************************************************** + +SgNBReleaseConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBReleaseConfirm-IEs}}, + ... +} + +SgNBReleaseConfirm-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-E-RABs-ToBeReleased-SgNBRelConfList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelConfList PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +E-RABs-ToBeReleased-SgNBRelConfList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBRelConf-ItemIEs} } + +E-RABs-ToBeReleased-SgNBRelConf-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeReleased-SgNBRelConf-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelConf-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresent ::= SEQUENCE { + uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresent ::= SEQUENCE { + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBRelConf-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- SGNB COUNTER CHECK REQUEST +-- +-- ************************************************************** + +SgNBCounterCheckRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBCounterCheckRequest-IEs}}, + ... +} + +SgNBCounterCheckRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-E-RABs-SubjectToSgNBCounterCheck-List CRITICALITY ignore TYPE E-RABs-SubjectToSgNBCounterCheck-List PRESENCE mandatory}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} +E-RABs-SubjectToSgNBCounterCheck-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-SubjectToSgNBCounterCheck-ItemIEs} } + +E-RABs-SubjectToSgNBCounterCheck-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-SubjectToSgNBCounterCheck-Item CRITICALITY ignore TYPE E-RABs-SubjectToSgNBCounterCheck-Item PRESENCE mandatory}, + ... +} + +E-RABs-SubjectToSgNBCounterCheck-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + uL-Count INTEGER (0..4294967295), + dL-Count INTEGER (0..4294967295), + iE-Extensions ProtocolExtensionContainer { {E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-SubjectToSgNBCounterCheck-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SGNB CHANGE REQUIRED +-- +-- ************************************************************** + +SgNBChangeRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBChangeRequired-IEs}}, + ... +} + +SgNBChangeRequired-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Target-SgNB-ID CRITICALITY ignore TYPE GNB-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB CHANGE CONFIRM +-- +-- ************************************************************** + +SgNBChangeConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBChangeConfirm-IEs}}, + ... +} + +SgNBChangeConfirm-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-E-RABs-ToBeReleased-SgNBChaConfList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBChaConfList PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, + ... +} + +E-RABs-ToBeReleased-SgNBChaConfList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-SgNBChaConf-ItemIEs} } + +E-RABs-ToBeReleased-SgNBChaConf-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-E-RABs-ToBeReleased-SgNBChaConf-Item CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBChaConf-Item PRESENCE mandatory}, + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + en-DC-ResourceConfiguration EN-DC-ResourceConfiguration, + resource-configuration CHOICE { + sgNBPDCPpresent E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent, + sgNBPDCPnotpresent E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent, + ... + }, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresent ::= SEQUENCE { + uL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresent ::= SEQUENCE { + dL-GTPtunnelEndpoint GTPtunnelEndpoint OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs} } OPTIONAL, + ... +} + +E-RABs-ToBeReleased-SgNBChaConf-Item-SgNBPDCPnotpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RRC Transfer +-- +-- ************************************************************** + +RRCTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{RRCTransfer-IEs}}, + ... +} + +RRCTransfer-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-MCGSplitSRB CRITICALITY ignore TYPE MCGSplitSRB PRESENCE optional}| + { ID id-UENRMeasurement CRITICALITY ignore TYPE UENRMeasurement PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- SGNB CHANGE REFUSE +-- +-- ************************************************************** + +SgNBChangeRefuse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SgNBChangeRefuse-IEs}}, + ... +} + +SgNBChangeRefuse-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY ignore TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- EN-DC X2 SETUP REQUEST +-- +-- ************************************************************** + +ENDCX2SetupRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCX2SetupRequest-IEs}}, + ... +} + +ENDCX2SetupRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-InitiatingNodeType-EndcX2Setup CRITICALITY reject TYPE InitiatingNodeType-EndcX2Setup PRESENCE mandatory}, + ... +} + +InitiatingNodeType-EndcX2Setup ::= CHOICE { + init-eNB ProtocolIE-Container {{ENB-ENDCX2SetupReqIEs}}, + init-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2SetupReqIEs}}, + ... +} + +ENB-ENDCX2SetupReqIEs X2AP-PROTOCOL-IES ::= { + { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}| + { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE mandatory}| + { ID id-CellAssistanceInformation CRITICALITY reject TYPE CellAssistanceInformation PRESENCE mandatory}, + ... +} + +ServedEUTRAcellsENDCX2ManagementList ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE { + servedEUTRACellInfo ServedCell-Information, + nrNeighbourInfo NRNeighbour-Information OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ServedEUTRAcellsENDCX2Management-ExtIEs} } OPTIONAL, + ... +} + +ServedEUTRAcellsENDCX2Management-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +En-gNB-ENDCX2SetupReqIEs X2AP-PROTOCOL-IES ::= { + { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}| + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}, + ... +} + +ServedNRcellsENDCX2ManagementList ::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF SEQUENCE { + servedNRCellInfo ServedNRCell-Information, + nRNeighbourInfo NRNeighbour-Information, + iE-Extensions ProtocolExtensionContainer { { En-gNBServedCells-ExtIEs} } OPTIONAL, + ... +} + +En-gNBServedCells-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +ServedNRCell-Information ::= SEQUENCE { + nrpCI NRPCI, + nrCellID NRCGI, + tAC TAC, + broadcastPLMNs BroadcastPLMNs-Item, + nrModeInfo CHOICE { + fdd FDD-InfoServedNRCell-Information, + tdd TDD-InfoServedNRCell-Information, + ... + }, + iE-Extensions ProtocolExtensionContainer { { ServedNRCell-Information-ExtIEs} } OPTIONAL, + ... +} + +ServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +FDD-InfoServedNRCell-Information ::= SEQUENCE { + ul-NR-ARFCN NRARFCN, + dl-NR-ARFCN NRARFCN, + ul-NR-TxBW NR-TxBW, + dl-NR-TxBW NR-TxBW, + iE-Extensions ProtocolExtensionContainer { { FDD-InfoServedNRCell-Information-ExtIEs } } OPTIONAL, + ... +} + +FDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + + +TDD-InfoServedNRCell-Information ::= SEQUENCE { + nR-ARFCN NRARFCN, + nR-TxBW NR-TxBW, + iE-Extensions ProtocolExtensionContainer { { TDD-InfoServedNRCell-Information-ExtIEs } } OPTIONAL, + ... +} + +TDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRNeighbour-Information ::= SEQUENCE (SIZE (1.. maxofNRNeighbours))OF SEQUENCE { + nrpCI NRPCI, + nrCellID NRCGI, + nrARFCN NRARFCN, + tAC TAC, iE-Extensions ProtocolExtensionContainer { { NRNeighbour-Information-ExtIEs} } OPTIONAL, + ... +} + +NRNeighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +CellAssistanceInformation ::= CHOICE { -- This IE may be refined. + full-list ENUMERATED {allServedNRcells, ...}, + ... +} + +-- ************************************************************** +-- +-- EN-DC X2 SETUP RESPONSE +-- +-- ************************************************************** + +ENDCX2SetupResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCX2SetupResponse-IEs}}, + ... +} + +ENDCX2SetupResponse-IEs X2AP-PROTOCOL-IES ::= { + { ID id-RespondingNodeType-EndcX2Setup CRITICALITY reject TYPE RespondingNodeType-EndcX2Setup PRESENCE mandatory}, + ... +} + +RespondingNodeType-EndcX2Setup ::= CHOICE { + respond-eNB ProtocolIE-Container {{ENB-ENDCX2SetupReqAckIEs}}, + respond-en-gNB ProtocolIE-Container {{En-gNB-ENDCX2SetupReqAckIEs}}, + ... +} + +ENB-ENDCX2SetupReqAckIEs X2AP-PROTOCOL-IES ::= { + { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}| + { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE mandatory}, + ... +} + + +En-gNB-ENDCX2SetupReqAckIEs X2AP-PROTOCOL-IES ::= { + { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}| + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}, + ... +} + +-- ************************************************************** +-- +-- EN-DC X2 SETUP FAILURE +-- +-- ************************************************************** + +ENDCX2SetupFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCX2SetupFailure-IEs}}, + ... +} + +ENDCX2SetupFailure-IEs X2AP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- EN-DC CONFIGURATION UPDATE +-- +-- ************************************************************** + +ENDCConfigurationUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdate-IEs}}, + ... +} + +ENDCConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= { + { ID id-InitiatingNodeType-EndcConfigUpdate CRITICALITY reject TYPE InitiatingNodeType-EndcConfigUpdate PRESENCE mandatory}, + ... +} + +InitiatingNodeType-EndcConfigUpdate::= CHOICE { + init-eNB ProtocolIE-Container {{ENB-ENDCConfigUpdateIEs}}, + init-en-gNB ProtocolIE-Container {{En-gNB-ENDCConfigUpdateIEs}}, + ... +} + +ENB-ENDCConfigUpdateIEs X2AP-PROTOCOL-IES ::= { + { ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory}| + { ID id-CellAssistanceInformation CRITICALITY reject TYPE CellAssistanceInformation PRESENCE optional }| + { ID id-ServedEUTRAcellsENDCX2ManagementList CRITICALITY reject TYPE ServedEUTRAcellsENDCX2ManagementList PRESENCE optional }| + { ID id-ServedEUTRAcellsToModifyListENDCConfUpd CRITICALITY reject TYPE ServedEUTRAcellsToModifyListENDCConfUpd PRESENCE optional }| + { ID id-ServedEUTRAcellsToDeleteListENDCConfUpd CRITICALITY reject TYPE ServedEUTRAcellsToDeleteListENDCConfUpd PRESENCE optional }, + ... +} + +ServedEUTRAcellsToModifyListENDCConfUpd ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE { + old-ECGI ECGI, + servedEUTRACellInfo ServedCell-Information, + nrNeighbourInfo NRNeighbour-Information OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs} } OPTIONAL, + ... +} + +ServedEUTRAcellsToModifyListENDCConfUpd-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +ServedEUTRAcellsToDeleteListENDCConfUpd ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI + + +En-gNB-ENDCConfigUpdateIEs X2AP-PROTOCOL-IES ::= { + { ID id-Globalen-gNB-ID CRITICALITY reject TYPE GlobalGNB-ID PRESENCE mandatory}| + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE optional }| + { ID id-ServedNRcellsToModifyListENDCConfUpd CRITICALITY reject TYPE ServedNRcellsToModifyENDCConfUpdList PRESENCE optional }| + { ID id-ServedNRcellsToDeleteListENDCConfUpd CRITICALITY reject TYPE ServedNRcellsToDeleteENDCConfUpdList PRESENCE optional }, + ... +} + +ServedNRcellsToModifyENDCConfUpdList ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ServedNRCellsToModify-Item + +ServedNRCellsToModify-Item::= SEQUENCE { + old-nrcgi NRCGI, + servedNRCellInformation ServedNRCell-Information, + nrNeighbourInformation NRNeighbour-Information OPTIONAL, + nrDeactivationIndication DeactivationIndication OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ServedNRCellsToModify-Item-ExtIEs} } OPTIONAL, + ... +} + +ServedNRCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +ServedNRcellsToDeleteENDCConfUpdList ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF NRCGI + +-- ************************************************************** +-- +-- EN-DC CONFIGURATION UPDATE ACKNOWLEDGE +-- +-- ************************************************************** + +ENDCConfigurationUpdateAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdateAcknowledge-IEs}}, + ... +} + +ENDCConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= { + { ID id-RespondingNodeType-EndcConfigUpdate CRITICALITY reject TYPE RespondingNodeType-EndcConfigUpdate PRESENCE mandatory}, + ... +} + + +RespondingNodeType-EndcConfigUpdate::= CHOICE { + respond-en-gNB ProtocolIE-Container {{En-gNB-ENDCConfigUpdateAckIEs}}, + ... +} + + +En-gNB-ENDCConfigUpdateAckIEs X2AP-PROTOCOL-IES ::= { + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}, + ... +} + + +-- ************************************************************** +-- +-- EN-DC CONFIGURATION UPDATE FAILURE +-- +-- ************************************************************** + +ENDCConfigurationUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCConfigurationUpdateFailure-IEs}}, + ... +} + +ENDCConfigurationUpdateFailure-IEs X2AP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + + +-- ************************************************************** +-- +-- EN-DC CELL ACTIVATION REQUEST +-- +-- ************************************************************** + +ENDCCellActivationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCCellActivationRequest-IEs}}, + ... +} + +ENDCCellActivationRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-ServedNRCellsToActivate CRITICALITY reject TYPE ServedNRCellsToActivate PRESENCE mandatory}| + { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory}, + ... +} + +ServedNRCellsToActivate::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF ServedNRCellsToActivate-Item + +ServedNRCellsToActivate-Item::= SEQUENCE { + nrCellID NRCGI, + iE-Extensions ProtocolExtensionContainer { { ServedNRCellsToActivate-Item-ExtIEs} } OPTIONAL, + ... +} + +ServedNRCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- EN-DC CELL ACTIVATION RESPONSE +-- +-- ************************************************************** + +ENDCCellActivationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCCellActivationResponse-IEs}}, + ... +} + +ENDCCellActivationResponse-IEs X2AP-PROTOCOL-IES ::= { + { ID id-ActivatedNRCellList CRITICALITY ignore TYPE ActivatedNRCellList PRESENCE mandatory}| + { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +ActivatedNRCellList ::= SEQUENCE (SIZE (1.. maxCellinengNB)) OF ActivatedNRCellList-Item + +ActivatedNRCellList-Item::= SEQUENCE { + nrCellID NRCGI, + iE-Extensions ProtocolExtensionContainer { { ActivatedNRCellList-Item-ExtIEs} } OPTIONAL, + ... +} + +ActivatedNRCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +--************************************************************** +-- +-- EN-DC CELL ACTIVATION FAILURE +-- +-- ************************************************************** + +ENDCCellActivationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCCellActivationFailure-IEs}}, + ... +} + +ENDCCellActivationFailure-IEs X2AP-PROTOCOL-IES ::= { + { ID id-ActivationID CRITICALITY reject TYPE ActivationID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- SECONDARY RAT DATA USAGE REPORT +-- +-- ************************************************************** + +SecondaryRATDataUsageReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{SecondaryRATDataUsageReport-IEs}}, + ... +} + +SecondaryRATDataUsageReport-IEs X2AP-PROTOCOL-IES ::= { + { ID id-MeNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| + { ID id-SecondaryRATUsageReportList CRITICALITY reject TYPE SecondaryRATUsageReportList PRESENCE mandatory}, + ... +} + + END diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn index d65f0c8fa7..e8cf0222a5 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 V14.3.0 (2017-06) +-- 3GPP TS 36.423 V15.0.0 (2017-12) -- 9.3.3 Elementary Procedure Definitions -- ************************************************************** -- @@ -76,7 +76,37 @@ FROM X2AP-CommonDataTypes X2RemovalResponse, RetrieveUEContextRequest, RetrieveUEContextResponse, - RetrieveUEContextFailure + RetrieveUEContextFailure, + SgNBAdditionRequest, + SgNBAdditionRequestAcknowledge, + SgNBAdditionRequestReject, + SgNBReconfigurationComplete, + SgNBModificationRequest, + SgNBModificationRequestAcknowledge, + SgNBModificationRequestReject, + SgNBModificationRequired, + SgNBModificationConfirm, + SgNBModificationRefuse, + SgNBReleaseRequest, + SgNBReleaseRequestAcknowledge, + SgNBReleaseRequestReject, + SgNBReleaseRequired, + SgNBReleaseConfirm, + SgNBCounterCheckRequest, + SgNBChangeRequired, + SgNBChangeConfirm, + SgNBChangeRefuse, + RRCTransfer, + ENDCX2SetupRequest, + ENDCX2SetupResponse, + ENDCX2SetupFailure, + ENDCConfigurationUpdate, + ENDCConfigurationUpdateAcknowledge, + ENDCConfigurationUpdateFailure, + SecondaryRATDataUsageReport, + ENDCCellActivationRequest, + ENDCCellActivationResponse, + ENDCCellActivationFailure FROM X2AP-PDU-Contents @@ -108,7 +138,20 @@ FROM X2AP-PDU-Contents id-seNBinitiatedSeNBRelease, id-seNBCounterCheck, id-x2Removal, - id-retrieveUEContext + id-retrieveUEContext, + id-sgNBAdditionPreparation, + id-sgNBReconfigurationCompletion, + id-meNBinitiatedSgNBModificationPreparation, + id-sgNBinitiatedSgNBModification, + id-meNBinitiatedSgNBRelease, + id-sgNBinitiatedSgNBRelease, + id-sgNBChange, + id-sgNBCounterCheck, + id-rRCTransfer, + id-endcX2Setup, + id-endcConfigurationUpdate, + id-secondaryRATDataUsageReport, + id-endcCellActivation FROM X2AP-Constants; @@ -189,7 +232,16 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= { seNBinitiatedSeNBModification | seNBinitiatedSeNBRelease | x2Removal | - retrieveUEContext, + retrieveUEContext | + sgNBAdditionPreparation | + meNBinitiatedSgNBModificationPreparation | + sgNBinitiatedSgNBModification | + meNBinitiatedSgNBRelease | + sgNBinitiatedSgNBRelease | + sgNBChange | + endcX2Setup | + endcConfigurationUpdate | + endcCellActivation , ... } @@ -207,7 +259,11 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= { x2APMessageTransfer | seNBReconfigurationCompletion | meNBinitiatedSeNBRelease | - seNBCounterCheck, + seNBCounterCheck | + sgNBReconfigurationCompletion | + sgNBCounterCheck | + rRCTransfer | + secondaryRATDataUsageReport , ... } @@ -406,4 +462,100 @@ retrieveUEContext X2AP-ELEMENTARY-PROCEDURE ::= { CRITICALITY reject } +sgNBAdditionPreparation X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBAdditionRequest + SUCCESSFUL OUTCOME SgNBAdditionRequestAcknowledge + UNSUCCESSFUL OUTCOME SgNBAdditionRequestReject + PROCEDURE CODE id-sgNBAdditionPreparation + CRITICALITY reject +} + +sgNBReconfigurationCompletion X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBReconfigurationComplete + PROCEDURE CODE id-sgNBReconfigurationCompletion + CRITICALITY ignore +} + +meNBinitiatedSgNBModificationPreparation X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBModificationRequest + SUCCESSFUL OUTCOME SgNBModificationRequestAcknowledge + UNSUCCESSFUL OUTCOME SgNBModificationRequestReject + PROCEDURE CODE id-meNBinitiatedSgNBModificationPreparation + CRITICALITY reject +} + +sgNBinitiatedSgNBModification X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBModificationRequired + SUCCESSFUL OUTCOME SgNBModificationConfirm + UNSUCCESSFUL OUTCOME SgNBModificationRefuse + PROCEDURE CODE id-sgNBinitiatedSgNBModification + CRITICALITY reject +} + +meNBinitiatedSgNBRelease X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBReleaseRequest + SUCCESSFUL OUTCOME SgNBReleaseRequestAcknowledge + UNSUCCESSFUL OUTCOME SgNBReleaseRequestReject + PROCEDURE CODE id-meNBinitiatedSgNBRelease + CRITICALITY ignore +} + +sgNBinitiatedSgNBRelease X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBReleaseRequired + SUCCESSFUL OUTCOME SgNBReleaseConfirm + PROCEDURE CODE id-sgNBinitiatedSgNBRelease + CRITICALITY reject +} + +sgNBCounterCheck X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBCounterCheckRequest + PROCEDURE CODE id-sgNBCounterCheck + CRITICALITY reject +} + +sgNBChange X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SgNBChangeRequired + SUCCESSFUL OUTCOME SgNBChangeConfirm + UNSUCCESSFUL OUTCOME SgNBChangeRefuse + PROCEDURE CODE id-sgNBChange + CRITICALITY reject +} + +rRCTransfer X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RRCTransfer + PROCEDURE CODE id-rRCTransfer + CRITICALITY reject +} + +endcX2Setup X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ENDCX2SetupRequest + SUCCESSFUL OUTCOME ENDCX2SetupResponse + UNSUCCESSFUL OUTCOME ENDCX2SetupFailure + PROCEDURE CODE id-endcX2Setup + CRITICALITY reject +} + + +endcConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ENDCConfigurationUpdate + SUCCESSFUL OUTCOME ENDCConfigurationUpdateAcknowledge + UNSUCCESSFUL OUTCOME ENDCConfigurationUpdateFailure + PROCEDURE CODE id-endcConfigurationUpdate + CRITICALITY reject +} + +secondaryRATDataUsageReport X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SecondaryRATDataUsageReport + PROCEDURE CODE id-secondaryRATDataUsageReport + CRITICALITY reject +} + +endcCellActivation X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ENDCCellActivationRequest + SUCCESSFUL OUTCOME ENDCCellActivationResponse + UNSUCCESSFUL OUTCOME ENDCCellActivationFailure + PROCEDURE CODE id-endcCellActivation + CRITICALITY reject +} + END diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c index 8fe46fb11a..7505afea04 100644 --- a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c +++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c @@ -3,7 +3,7 @@ * X2 Application Protocol (X2AP); * 3GPP TS 36.423 packet dissection * Copyright 2007-2014, Anders Broman - * Copyright 2016, Pascal Quantin + * Copyright 2016-2018, Pascal Quantin * * Wireshark - Network traffic analyzer * By Gerald Combs @@ -24,7 +24,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * Ref: - * 3GPP TS 36.423 V14.3.0 (2017-06) + * 3GPP TS 36.423 V15.0.0 (2017-12) */ #include "config.h" @@ -39,6 +39,8 @@ #include "packet-per.h" #include "packet-e212.h" #include "packet-lte-rrc.h" +#include "packet-nr-rrc.h" +#include "packet-ntp.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -111,6 +113,14 @@ static int hf_x2ap_MDT_transmissionModes_tm6 = -1; static int hf_x2ap_MDT_transmissionModes_tm8 = -1; static int hf_x2ap_MDT_transmissionModes_tm9 = -1; static int hf_x2ap_MDT_transmissionModes_tm10 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA1 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA2 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA3 = -1; +static int hf_x2ap_NRencryptionAlgorithms_Reserved = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA1 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA2 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA3 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_Reserved = -1; #include "packet-x2ap-hf.c" /* Initialize the subtree pointers */ @@ -135,11 +145,24 @@ static int ett_x2ap_MeasurementsToActivate = -1; static int ett_x2ap_MDT_Location_Info = -1; static int ett_x2ap_transmissionModes = -1; static int ett_x2ap_X2AP_Message = -1; +static int ett_x2ap_MeNBtoSgNBContainer = -1; +static int ett_x2ap_SgNBtoMeNBContainer = -1; +static int ett_x2ap_RRCContainer = -1; +static int ett_x2ap_NRencryptionAlgorithms = -1; +static int ett_x2ap_NRintegrityProtectionAlgorithms = -1; #include "packet-x2ap-ett.c" +typedef enum { + RRC_CONTAINER_TYPE_UNKNOWN, + RRC_CONTAINER_TYPE_PDCP_C_PDU, + RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT +} rrc_container_type_e; + struct x2ap_private_data { guint32 procedure_code; guint32 protocol_ie_id; + guint32 triggering_message; + rrc_container_type_e rrc_container_type; }; enum { @@ -497,6 +520,38 @@ void proto_register_x2ap(void) { { "TM10", "x2ap.MDT_Location_Info.transmissionModes.tm10", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x01, NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA1, + { "128-NEA1", "x2ap.NRencryptionAlgorithms.NEA1", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA2, + { "128-NEA2", "x2ap.NRencryptionAlgorithms.NEA2", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA3, + { "128-NEA3", "x2ap.NRencryptionAlgorithms.NEA3", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_Reserved, + { "Reserved", "x2ap.NRencryptionAlgorithms.Reserved", + FT_UINT16, BASE_HEX, NULL, 0x1fff, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, + { "128-NIA1", "x2ap.NRintegrityProtectionAlgorithms.NIA1", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, + { "128-NIA2", "x2ap.NRintegrityProtectionAlgorithms.NIA2", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, + { "128-NIA3", "x2ap.NRintegrityProtectionAlgorithms.NIA3", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, + { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved", + FT_UINT16, BASE_HEX, NULL, 0x1fff, + NULL, HFILL }}, #include "packet-x2ap-hfarr.c" }; @@ -523,6 +578,11 @@ void proto_register_x2ap(void) { &ett_x2ap_MDT_Location_Info, &ett_x2ap_transmissionModes, &ett_x2ap_X2AP_Message, + &ett_x2ap_MeNBtoSgNBContainer, + &ett_x2ap_SgNBtoMeNBContainer, + &ett_x2ap_RRCContainer, + &ett_x2ap_NRencryptionAlgorithms, + &ett_x2ap_NRintegrityProtectionAlgorithms, #include "packet-x2ap-ettarr.c" }; @@ -544,7 +604,7 @@ void proto_register_x2ap(void) { x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); - /* Register configuration options for ports */ + /* Register configuration1 options for ports */ x2ap_module = prefs_register_protocol(proto_x2ap, proto_reg_handoff_x2ap); prefs_register_uint_preference(x2ap_module, "sctp.port", diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf index 8226f5bb7c..e19e55ed25 100644 --- a/epan/dissectors/asn1/x2ap/x2ap.cnf +++ b/epan/dissectors/asn1/x2ap/x2ap.cnf @@ -17,6 +17,7 @@ X2AP-PDU #.MAKE_ENUM ProtocolIE-ID ProcedureCode +TriggeringMessage #.USE_VALS_EXT CauseRadioNetwork @@ -64,6 +65,10 @@ ProtocolIE-ContainerPairList #.FN_BODY ProcedureCode VAL_PTR = &x2ap_data->procedure_code struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s + +#.FN_BODY TriggeringMessage VAL_PTR = &x2ap_data->triggering_message + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); +%(DEFAULT_BODY)s #.END #.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue @@ -228,9 +233,57 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SeNBtoMeNBContainer); dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(parameter_tvb, actx->pinfo, subtree, NULL); -#.FN_BODY EUTRANTraceID VAL_PTR = ¶meter_tvb +#.FN_BODY MeNBtoSgNBContainer VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); +%(DEFAULT_BODY)s + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSgNBContainer); + if ((x2ap_data->procedure_code == id_sgNBReconfigurationCompletion && + x2ap_data->triggering_message == initiating_message) || + (x2ap_data->procedure_code == id_sgNBinitiatedSgNBModification && + x2ap_data->triggering_message == successful_outcome)) { + dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } else { + dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY SgNBtoMeNBContainer VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; +%(DEFAULT_BODY)s + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer); + dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + +#.FN_HDR MCGSplitSRB/rrcContainer + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_PDCP_C_PDU; + +#.FN_HDR UENRMeasurement/uENRMeasurements + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT; + +#.FN_BODY RRCContainer VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); +%(DEFAULT_BODY)s + if (!parameter_tvb) + return offset; + if (x2ap_data->rrc_container_type == RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer); + dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY EUTRANTraceID VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; @@ -457,6 +510,64 @@ LHN-ID TYPE=FT_STRING DISPLAY = STR_UNICODE proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_X2AP_Message); dissect_X2AP_PDU_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } + +#.TYPE_ATTR +ExtendedBitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec + +#.FN_BODY NRencryptionAlgorithms VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + const gint *fields[] = { + &hf_x2ap_NRencryptionAlgorithms_NEA1, + &hf_x2ap_NRencryptionAlgorithms_NEA2, + &hf_x2ap_NRencryptionAlgorithms_NEA3, + &hf_x2ap_NRencryptionAlgorithms_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRencryptionAlgorithms); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); + } + +#.FN_BODY NRintegrityProtectionAlgorithms VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + const gint *fields[] = { + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, + &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRintegrityProtectionAlgorithms); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); + } + +#.FN_BODY E-RABUsageReport-Item/startTimeStamp VAL_PTR = ×tamp_tvb + tvbuff_t *timestamp_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR E-RABUsageReport-Item/startTimeStamp + if (timestamp_tvb) { + proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); + } + +#.FN_BODY E-RABUsageReport-Item/endTimeStamp VAL_PTR = ×tamp_tvb + tvbuff_t *timestamp_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR E-RABUsageReport-Item/endTimeStamp + if (timestamp_tvb) { + proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); + } + +#.TYPE_ATTR +E-RABUsageReport-Item/usageCountUL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets + +#.TYPE_ATTR +E-RABUsageReport-Item/usageCountDL DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_octet_octets + #.END #.FN_HDR HandoverRequest @@ -561,23 +672,83 @@ LHN-ID TYPE=FT_STRING DISPLAY = STR_UNICODE col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse"); #.FN_HDR RetrieveUEContextFailure col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure"); +#.FN_HDR SgNBAdditionRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequest"); +#.FN_HDR SgNBAdditionRequestAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestAcknowledge"); +#.FN_HDR SgNBAdditionRequestReject + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestReject"); +#.FN_HDR SgNBReconfigurationComplete + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReconfigurationComplete"); +#.FN_HDR SgNBModificationRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequest"); +#.FN_HDR SgNBModificationRequestAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestAcknowledge"); +#.FN_HDR SgNBModificationRequestReject + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestReject"); +#.FN_HDR SgNBModificationRequired + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequired"); +#.FN_HDR SgNBModificationConfirm + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationConfirm"); +#.FN_HDR SgNBModificationRefuse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRefuse"); +#.FN_HDR SgNBReleaseRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequest"); +#.FN_HDR SgNBReleaseRequestAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestAcknowledge"); +#.FN_HDR SgNBReleaseRequestReject + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestReject"); +#.FN_HDR SgNBReleaseRequired + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequired"); +#.FN_HDR SgNBReleaseConfirm + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseConfirm"); +#.FN_HDR SgNBCounterCheckRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBCounterCheckRequest"); +#.FN_HDR SgNBChangeRequired + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRequired"); +#.FN_HDR SgNBChangeConfirm + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeConfirm"); +#.FN_HDR SgNBChangeRefuse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRefuse"); +#.FN_HDR RRCTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer"); +#.FN_HDR ENDCX2SetupRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupRequest"); +#.FN_HDR ENDCX2SetupResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupResponse"); +#.FN_HDR ENDCX2SetupFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupFailure"); +#.FN_HDR ENDCConfigurationUpdate + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdate"); +#.FN_HDR ENDCConfigurationUpdateAcknowledge + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateAcknowledge"); +#.FN_HDR ENDCConfigurationUpdateFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateFailure"); +#.FN_HDR SecondaryRATDataUsageReport + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); +#.FN_HDR ENDCCellActivationRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationRequest"); +#.FN_HDR ENDCCellActivationResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationResponse"); +#.FN_HDR ENDCCellActivationFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationFailure"); #.ASSIGN_VALUE_TO_TYPE # X2AP does not have constants assigned to types, they are pure INTEGER # ProcedureCode -id-handoverPreparation ProcedureCode +id-handoverPreparation ProcedureCode id-handoverCancel ProcedureCode id-loadIndication ProcedureCode id-errorIndication ProcedureCode id-snStatusTransfer ProcedureCode id-uEContextRelease ProcedureCode -id-x2Setup ProcedureCode -id-reset ProcedureCode -id-eNBConfigurationUpdate ProcedureCode -id-resourceStatusReportingInitiation ProcedureCode -id-resourceStatusReporting ProcedureCode +id-x2Setup ProcedureCode +id-reset ProcedureCode +id-eNBConfigurationUpdate ProcedureCode +id-resourceStatusReportingInitiation ProcedureCode +id-resourceStatusReporting ProcedureCode id-privateMessage ProcedureCode -id-mobilitySettingsChange ProcedureCode +id-mobilitySettingsChange ProcedureCode id-rLFIndication ProcedureCode id-handoverReport ProcedureCode id-cellActivation ProcedureCode @@ -592,267 +763,356 @@ id-meNBinitiatedSeNBRelease ProcedureCode id-seNBinitiatedSeNBRelease ProcedureCode id-seNBCounterCheck ProcedureCode id-retrieveUEContext ProcedureCode +id-sgNBAdditionPreparation ProcedureCode +id-sgNBReconfigurationCompletion ProcedureCode +id-meNBinitiatedSgNBModificationPreparation ProcedureCode +id-sgNBinitiatedSgNBModification ProcedureCode +id-meNBinitiatedSgNBRelease ProcedureCode +id-sgNBinitiatedSgNBRelease ProcedureCode +id-sgNBCounterCheck ProcedureCode +id-sgNBChange ProcedureCode +id-rRCTransfer ProcedureCode +id-endcX2Setup ProcedureCode +id-endcConfigurationUpdate ProcedureCode +id-secondaryRATDataUsageReport ProcedureCode +id-endcCellActivation ProcedureCode # ProtocolIE-ID -id-E-RABs-Admitted-Item ProtocolIE-ID -id-E-RABs-Admitted-List ProtocolIE-ID -id-E-RAB-Item ProtocolIE-ID -id-E-RABs-NotAdmitted-List ProtocolIE-ID -id-E-RABs-ToBeSetup-Item ProtocolIE-ID -id-Cause ProtocolIE-ID -id-CellInformation ProtocolIE-ID -id-CellInformation-Item ProtocolIE-ID -id-New-eNB-UE-X2AP-ID ProtocolIE-ID -id-Old-eNB-UE-X2AP-ID ProtocolIE-ID -id-TargetCell-ID ProtocolIE-ID -id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID -id-TraceActivation ProtocolIE-ID -id-UE-ContextInformation ProtocolIE-ID -id-UE-HistoryInformation ProtocolIE-ID -id-UE-X2AP-ID ProtocolIE-ID -id-CriticalityDiagnostics ProtocolIE-ID -id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID -id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID -id-ServedCells ProtocolIE-ID -id-GlobalENB-ID ProtocolIE-ID -id-TimeToWait ProtocolIE-ID -id-GUMMEI-ID ProtocolIE-ID -id-GUGroupIDList ProtocolIE-ID -id-ServedCellsToAdd ProtocolIE-ID -id-ServedCellsToModify ProtocolIE-ID -id-ServedCellsToDelete ProtocolIE-ID -id-Registration-Request ProtocolIE-ID -id-CellToReport ProtocolIE-ID -id-ReportingPeriodicity ProtocolIE-ID -id-CellToReport-Item ProtocolIE-ID -id-CellMeasurementResult ProtocolIE-ID -id-CellMeasurementResult-Item ProtocolIE-ID -id-GUGroupIDToAddList ProtocolIE-ID -id-GUGroupIDToDeleteList ProtocolIE-ID -id-SRVCCOperationPossible ProtocolIE-ID -id-Measurement-ID ProtocolIE-ID -id-ReportCharacteristics ProtocolIE-ID -id-ENB1-Measurement-ID ProtocolIE-ID -id-ENB2-Measurement-ID ProtocolIE-ID -id-Number-of-Antennaports ProtocolIE-ID -id-CompositeAvailableCapacityGroup ProtocolIE-ID -id-ENB1-Cell-ID ProtocolIE-ID -id-ENB2-Cell-ID ProtocolIE-ID -id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID -id-ENB1-Mobility-Parameters ProtocolIE-ID -id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID -id-FailureCellPCI ProtocolIE-ID -id-Re-establishmentCellECGI ProtocolIE-ID -id-FailureCellCRNTI ProtocolIE-ID -id-ShortMAC-I ProtocolIE-ID -id-SourceCellECGI ProtocolIE-ID -id-FailureCellECGI ProtocolIE-ID -id-HandoverReportType ProtocolIE-ID -id-PRACH-Configuration ProtocolIE-ID -id-MBSFN-Subframe-Info ProtocolIE-ID -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 -id-NeighbourTAC ProtocolIE-ID -id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID -id-RRCConnReestabIndicator ProtocolIE-ID -id-MBMS-Service-Area-List ProtocolIE-ID -id-HO-cause ProtocolIE-ID -id-TargetCellInUTRAN ProtocolIE-ID -id-MobilityInformation ProtocolIE-ID -id-SourceCellCRNTI ProtocolIE-ID -id-MultibandInfoList ProtocolIE-ID -id-M3Configuration ProtocolIE-ID -id-M4Configuration ProtocolIE-ID -id-M5Configuration ProtocolIE-ID -id-MDT-Location-Info ProtocolIE-ID -id-ManagementBasedMDTPLMNList ProtocolIE-ID -id-SignallingBasedMDTPLMNList ProtocolIE-ID -id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID -id-ULCOUNTValueExtended ProtocolIE-ID -id-DLCOUNTValueExtended ProtocolIE-ID -id-eARFCNExtension ProtocolIE-ID -id-UL-EARFCNExtension ProtocolIE-ID -id-DL-EARFCNExtension ProtocolIE-ID -id-AdditionalSpecialSubframe-Info ProtocolIE-ID -id-Masked-IMEISV ProtocolIE-ID -id-IntendedULDLConfiguration ProtocolIE-ID -id-ExtendedULInterferenceOverloadInfo ProtocolIE-ID -id-RNL-Header ProtocolIE-ID -id-x2APMessage ProtocolIE-ID -id-ProSeAuthorized ProtocolIE-ID -id-ExpectedUEBehaviour ProtocolIE-ID -id-UE-HistoryInformationFromTheUE ProtocolIE-ID -id-DynamicDLTransmissionInformation ProtocolIE-ID -id-UE-RLF-Report-Container-for-extended-bands ProtocolIE-ID -id-CoMPInformation ProtocolIE-ID -id-ReportingPeriodicityRSRPMR ProtocolIE-ID -id-RSRPMRList ProtocolIE-ID -id-MeNB-UE-X2AP-ID ProtocolIE-ID -id-SeNB-UE-X2AP-ID ProtocolIE-ID -id-UE-SecurityCapabilities ProtocolIE-ID -id-SeNBSecurityKey ProtocolIE-ID -id-SeNBUEAggregateMaximumBitRate ProtocolIE-ID -id-ServingPLMN ProtocolIE-ID -id-E-RABs-ToBeAdded-List ProtocolIE-ID -id-E-RABs-ToBeAdded-Item ProtocolIE-ID -id-MeNBtoSeNBContainer ProtocolIE-ID -id-E-RABs-Admitted-ToBeAdded-List ProtocolIE-ID -id-E-RABs-Admitted-ToBeAdded-Item ProtocolIE-ID -id-SeNBtoMeNBContainer ProtocolIE-ID -id-ResponseInformationSeNBReconfComp ProtocolIE-ID -id-UE-ContextInformationSeNBModReq ProtocolIE-ID -id-E-RABs-ToBeAdded-ModReqItem ProtocolIE-ID -id-E-RABs-ToBeModified-ModReqItem ProtocolIE-ID -id-E-RABs-ToBeReleased-ModReqItem ProtocolIE-ID -id-E-RABs-Admitted-ToBeAdded-ModAckList ProtocolIE-ID -id-E-RABs-Admitted-ToBeModified-ModAckList ProtocolIE-ID -id-E-RABs-Admitted-ToBeReleased-ModAckList ProtocolIE-ID -id-E-RABs-Admitted-ToBeAdded-ModAckItem ProtocolIE-ID -id-E-RABs-Admitted-ToBeModified-ModAckItem ProtocolIE-ID -id-E-RABs-Admitted-ToBeReleased-ModAckItem ProtocolIE-ID -id-E-RABs-ToBeReleased-ModReqd ProtocolIE-ID -id-E-RABs-ToBeReleased-ModReqdItem ProtocolIE-ID -id-SCGChangeIndication ProtocolIE-ID -id-E-RABs-ToBeReleased-List-RelReq ProtocolIE-ID -id-E-RABs-ToBeReleased-RelReqItem ProtocolIE-ID -id-E-RABs-ToBeReleased-List-RelConf ProtocolIE-ID -id-E-RABs-ToBeReleased-RelConfItem ProtocolIE-ID -id-E-RABs-SubjectToCounterCheck-List ProtocolIE-ID -id-E-RABs-SubjectToCounterCheckItem ProtocolIE-ID -id-CoverageModificationList ProtocolIE-ID -id-ReportingPeriodicityCSIR ProtocolIE-ID -id-CSIReportList ProtocolIE-ID -id-UEID ProtocolIE-ID -id-enhancedRNTP ProtocolIE-ID -id-ProSeUEtoNetworkRelaying ProtocolIE-ID -id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID -id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID -id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID -id-UE-ContextReferenceAtSeNB ProtocolIE-ID -id-UE-ContextKeptIndicator ProtocolIE-ID -id-New-eNB-UE-X2AP-ID-Extension ProtocolIE-ID -id-Old-eNB-UE-X2AP-ID-Extension ProtocolIE-ID -id-MeNB-UE-X2AP-ID-Extension ProtocolIE-ID -id-SeNB-UE-X2AP-ID-Extension ProtocolIE-ID -id-LHN-ID ProtocolIE-ID -id-FreqBandIndicatorPriority ProtocolIE-ID -id-M6Configuration ProtocolIE-ID -id-M7Configuration ProtocolIE-ID -id-Tunnel-Information-for-BBF ProtocolIE-ID -id-SIPTO-BearerDeactivationIndication ProtocolIE-ID -id-GW-TransportLayerAddress ProtocolIE-ID -id-Correlation-ID ProtocolIE-ID -id-SIPTO-Correlation-ID ProtocolIE-ID -id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID -id-X2RemovalThreshold ProtocolIE-ID -id-CellReportingIndicator ProtocolIE-ID -id-BearerType ProtocolIE-ID -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-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 +id-E-RABs-Admitted-Item ProtocolIE-ID +id-E-RABs-Admitted-List ProtocolIE-ID +id-E-RAB-Item ProtocolIE-ID +id-E-RABs-NotAdmitted-List ProtocolIE-ID +id-E-RABs-ToBeSetup-Item ProtocolIE-ID +id-Cause ProtocolIE-ID +id-CellInformation ProtocolIE-ID +id-CellInformation-Item ProtocolIE-ID +id-New-eNB-UE-X2AP-ID ProtocolIE-ID +id-Old-eNB-UE-X2AP-ID ProtocolIE-ID +id-TargetCell-ID ProtocolIE-ID +id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID +id-TraceActivation ProtocolIE-ID +id-UE-ContextInformation ProtocolIE-ID +id-UE-HistoryInformation ProtocolIE-ID +id-UE-X2AP-ID ProtocolIE-ID +id-CriticalityDiagnostics ProtocolIE-ID +id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID +id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID +id-ServedCells ProtocolIE-ID +id-GlobalENB-ID ProtocolIE-ID +id-TimeToWait ProtocolIE-ID +id-GUMMEI-ID ProtocolIE-ID +id-GUGroupIDList ProtocolIE-ID +id-ServedCellsToAdd ProtocolIE-ID +id-ServedCellsToModify ProtocolIE-ID +id-ServedCellsToDelete ProtocolIE-ID +id-Registration-Request ProtocolIE-ID +id-CellToReport ProtocolIE-ID +id-ReportingPeriodicity ProtocolIE-ID +id-CellToReport-Item ProtocolIE-ID +id-CellMeasurementResult ProtocolIE-ID +id-CellMeasurementResult-Item ProtocolIE-ID +id-GUGroupIDToAddList ProtocolIE-ID +id-GUGroupIDToDeleteList ProtocolIE-ID +id-SRVCCOperationPossible ProtocolIE-ID +id-Measurement-ID ProtocolIE-ID +id-ReportCharacteristics ProtocolIE-ID +id-ENB1-Measurement-ID ProtocolIE-ID +id-ENB2-Measurement-ID ProtocolIE-ID +id-Number-of-Antennaports ProtocolIE-ID +id-CompositeAvailableCapacityGroup ProtocolIE-ID +id-ENB1-Cell-ID ProtocolIE-ID +id-ENB2-Cell-ID ProtocolIE-ID +id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID +id-ENB1-Mobility-Parameters ProtocolIE-ID +id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID +id-FailureCellPCI ProtocolIE-ID +id-Re-establishmentCellECGI ProtocolIE-ID +id-FailureCellCRNTI ProtocolIE-ID +id-ShortMAC-I ProtocolIE-ID +id-SourceCellECGI ProtocolIE-ID +id-FailureCellECGI ProtocolIE-ID +id-HandoverReportType ProtocolIE-ID +id-PRACH-Configuration ProtocolIE-ID +id-MBSFN-Subframe-Info ProtocolIE-ID +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 +id-NeighbourTAC ProtocolIE-ID +id-Time-UE-StayedInCell-EnhancedGranularity ProtocolIE-ID +id-RRCConnReestabIndicator ProtocolIE-ID +id-MBMS-Service-Area-List ProtocolIE-ID +id-HO-cause ProtocolIE-ID +id-TargetCellInUTRAN ProtocolIE-ID +id-MobilityInformation ProtocolIE-ID +id-SourceCellCRNTI ProtocolIE-ID +id-MultibandInfoList ProtocolIE-ID +id-M3Configuration ProtocolIE-ID +id-M4Configuration ProtocolIE-ID +id-M5Configuration ProtocolIE-ID +id-MDT-Location-Info ProtocolIE-ID +id-ManagementBasedMDTPLMNList ProtocolIE-ID +id-SignallingBasedMDTPLMNList ProtocolIE-ID +id-ReceiveStatusOfULPDCPSDUsExtended ProtocolIE-ID +id-ULCOUNTValueExtended ProtocolIE-ID +id-DLCOUNTValueExtended ProtocolIE-ID +id-eARFCNExtension ProtocolIE-ID +id-UL-EARFCNExtension ProtocolIE-ID +id-DL-EARFCNExtension ProtocolIE-ID +id-AdditionalSpecialSubframe-Info ProtocolIE-ID +id-Masked-IMEISV ProtocolIE-ID +id-IntendedULDLConfiguration ProtocolIE-ID +id-ExtendedULInterferenceOverloadInfo ProtocolIE-ID +id-RNL-Header ProtocolIE-ID +id-x2APMessage ProtocolIE-ID +id-ProSeAuthorized ProtocolIE-ID +id-ExpectedUEBehaviour ProtocolIE-ID +id-UE-HistoryInformationFromTheUE ProtocolIE-ID +id-DynamicDLTransmissionInformation ProtocolIE-ID +id-UE-RLF-Report-Container-for-extended-bands ProtocolIE-ID +id-CoMPInformation ProtocolIE-ID +id-ReportingPeriodicityRSRPMR ProtocolIE-ID +id-RSRPMRList ProtocolIE-ID +id-MeNB-UE-X2AP-ID ProtocolIE-ID +id-SeNB-UE-X2AP-ID ProtocolIE-ID +id-UE-SecurityCapabilities ProtocolIE-ID +id-SeNBSecurityKey ProtocolIE-ID +id-SeNBUEAggregateMaximumBitRate ProtocolIE-ID +id-ServingPLMN ProtocolIE-ID +id-E-RABs-ToBeAdded-List ProtocolIE-ID +id-E-RABs-ToBeAdded-Item ProtocolIE-ID +id-MeNBtoSeNBContainer ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-List ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-Item ProtocolIE-ID +id-SeNBtoMeNBContainer ProtocolIE-ID +id-ResponseInformationSeNBReconfComp ProtocolIE-ID +id-UE-ContextInformationSeNBModReq ProtocolIE-ID +id-E-RABs-ToBeAdded-ModReqItem ProtocolIE-ID +id-E-RABs-ToBeModified-ModReqItem ProtocolIE-ID +id-E-RABs-ToBeReleased-ModReqItem ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-ModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeModified-ModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeReleased-ModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-ModAckItem ProtocolIE-ID +id-E-RABs-Admitted-ToBeModified-ModAckItem ProtocolIE-ID +id-E-RABs-Admitted-ToBeReleased-ModAckItem ProtocolIE-ID +id-E-RABs-ToBeReleased-ModReqd ProtocolIE-ID +id-E-RABs-ToBeReleased-ModReqdItem ProtocolIE-ID +id-SCGChangeIndication ProtocolIE-ID +id-E-RABs-ToBeReleased-List-RelReq ProtocolIE-ID +id-E-RABs-ToBeReleased-RelReqItem ProtocolIE-ID +id-E-RABs-ToBeReleased-List-RelConf ProtocolIE-ID +id-E-RABs-ToBeReleased-RelConfItem ProtocolIE-ID +id-E-RABs-SubjectToCounterCheck-List ProtocolIE-ID +id-E-RABs-SubjectToCounterCheckItem ProtocolIE-ID +id-CoverageModificationList ProtocolIE-ID +id-ReportingPeriodicityCSIR ProtocolIE-ID +id-CSIReportList ProtocolIE-ID +id-UEID ProtocolIE-ID +id-enhancedRNTP ProtocolIE-ID +id-ProSeUEtoNetworkRelaying ProtocolIE-ID +id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ProtocolIE-ID +id-ULCOUNTValuePDCP-SNlength18 ProtocolIE-ID +id-DLCOUNTValuePDCP-SNlength18 ProtocolIE-ID +id-UE-ContextReferenceAtSeNB ProtocolIE-ID +id-UE-ContextKeptIndicator ProtocolIE-ID +id-New-eNB-UE-X2AP-ID-Extension ProtocolIE-ID +id-Old-eNB-UE-X2AP-ID-Extension ProtocolIE-ID +id-MeNB-UE-X2AP-ID-Extension ProtocolIE-ID +id-SeNB-UE-X2AP-ID-Extension ProtocolIE-ID +id-LHN-ID ProtocolIE-ID +id-FreqBandIndicatorPriority ProtocolIE-ID +id-M6Configuration ProtocolIE-ID +id-M7Configuration ProtocolIE-ID +id-Tunnel-Information-for-BBF ProtocolIE-ID +id-SIPTO-BearerDeactivationIndication ProtocolIE-ID +id-GW-TransportLayerAddress ProtocolIE-ID +id-Correlation-ID ProtocolIE-ID +id-SIPTO-Correlation-ID ProtocolIE-ID +id-SIPTO-L-GW-TransportLayerAddress ProtocolIE-ID +id-X2RemovalThreshold ProtocolIE-ID +id-CellReportingIndicator ProtocolIE-ID +id-BearerType ProtocolIE-ID +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-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 +id-DL-scheduling-PDCCH-CCE-usage ProtocolIE-ID +id-UL-scheduling-PDCCH-CCE-usage ProtocolIE-ID +id-UEAppLayerMeasConfig ProtocolIE-ID +id-extended-e-RAB-MaximumBitrateDL ProtocolIE-ID +id-extended-e-RAB-MaximumBitrateUL ProtocolIE-ID +id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID +id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID +id-extended-uEaggregateMaximumBitRateDownlink ProtocolIE-ID +id-extended-uEaggregateMaximumBitRateUplink ProtocolIE-ID +id-NRrestriction ProtocolIE-ID +id-SgNBSecurityKey ProtocolIE-ID +id-SgNBUEAggregateMaximumBitRate ProtocolIE-ID +id-E-RABs-ToBeAdded-SgNBAddReqList ProtocolIE-ID +id-MeNBtoSgNBContainer ProtocolIE-ID +id-SgNB-UE-X2AP-ID ProtocolIE-ID +id-RequestedMCGSplitSRBs ProtocolIE-ID +id-E-RABs-ToBeAdded-SgNBAddReq-Item ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-SgNBAddResList ProtocolIE-ID +id-SgNBtoMeNBContainer ProtocolIE-ID +id-AdmittedMCGSplitSRBs ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item ProtocolIE-ID +id-ResponseInformationSgNBReconfComp ProtocolIE-ID +id-UE-ContextInformation-SgNBModReq ProtocolIE-ID +id-E-RABs-ToBeAdded-SgNBModReq-Item ProtocolIE-ID +id-E-RABs-ToBeModified-SgNBModReq-Item ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBModReq-Item ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-SgNBModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeModified-SgNBModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeReleased-SgNBModAckList ProtocolIE-ID +id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item ProtocolIE-ID +id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item ProtocolIE-ID +id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBModReqdList ProtocolIE-ID +id-E-RABs-ToBeModified-SgNBModReqdList ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBModReqd-Item ProtocolIE-ID +id-E-RABs-ToBeModified-SgNBModReqd-Item ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBChaConfList ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBChaConf-Item ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBRelReqList ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBRelReq-Item ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBRelConfList ProtocolIE-ID +id-E-RABs-ToBeReleased-SgNBRelConf-Item ProtocolIE-ID +id-E-RABs-SubjectToSgNBCounterCheck-List ProtocolIE-ID +id-E-RABs-SubjectToSgNBCounterCheck-Item ProtocolIE-ID +id-RRCContainer ProtocolIE-ID +id-SRBType ProtocolIE-ID +id-Target-SgNB-ID ProtocolIE-ID +id-HandoverRestrictionList ProtocolIE-ID +id-SCGConfigurationQuery ProtocolIE-ID +id-MCGSplitSRB ProtocolIE-ID +id-UENRMeasurement ProtocolIE-ID +id-InitiatingNodeType-EndcX2Setup ProtocolIE-ID +id-InitiatingNodeType-EndcConfigUpdate ProtocolIE-ID +id-RespondingNodeType-EndcX2Setup ProtocolIE-ID +id-RespondingNodeType-EndcConfigUpdate ProtocolIE-ID +id-NRUESecurityCapabilities ProtocolIE-ID +id-PDCPChangeIndication ProtocolIE-ID +id-ServedEUTRAcellsENDCX2ManagementList ProtocolIE-ID +id-CellAssistanceInformation ProtocolIE-ID +id-Globalen-gNB-ID ProtocolIE-ID +id-ServedNRcellsENDCX2ManagementList ProtocolIE-ID +id-UE-ContextReferenceAtSgNB ProtocolIE-ID +id-SecondaryRATUsageReport ProtocolIE-ID +id-ActivationID ProtocolIE-ID +id-MeNBResourceCoordinationInformation ProtocolIE-ID +id-SgNBResourceCoordinationInformation ProtocolIE-ID +id-ServedEUTRAcellsToModifyListENDCConfUpd ProtocolIE-ID +id-ServedEUTRAcellsToDeleteListENDCConfUpd ProtocolIE-ID +id-ServedNRcellsToModifyListENDCConfUpd ProtocolIE-ID +id-ServedNRcellsToDeleteListENDCConfUpd ProtocolIE-ID +id-E-RABUsageReport-Item ProtocolIE-ID +id-Old-SgNB-UE-X2AP-ID ProtocolIE-ID +id-SecondaryRATUsageReportList ProtocolIE-ID +id-SecondaryRATUsageReport-Item ProtocolIE-ID +id-ServedNRCellsToActivate ProtocolIE-ID +id-ActivatedNRCellList ProtocolIE-ID #.REGISTER #X2AP-PROTOCOL-IES E-RABs-Admitted-Item N x2ap.ies id-E-RABs-Admitted-Item E-RABs-Admitted-List N x2ap.ies id-E-RABs-Admitted-List -E-RAB-Item N x2ap.ies id-E-RAB-Item -E-RAB-List N x2ap.ies id-E-RABs-NotAdmitted-List +E-RAB-Item N x2ap.ies id-E-RAB-Item +E-RAB-List N x2ap.ies id-E-RABs-NotAdmitted-List E-RABs-ToBeSetup-Item N x2ap.ies id-E-RABs-ToBeSetup-Item -Cause N x2ap.ies id-Cause +Cause N x2ap.ies id-Cause CellInformation-List N x2ap.ies id-CellInformation CellInformation-Item N x2ap.ies id-CellInformation-Item -UE-X2AP-ID N x2ap.ies id-New-eNB-UE-X2AP-ID -UE-X2AP-ID N x2ap.ies id-Old-eNB-UE-X2AP-ID -ECGI N x2ap.ies id-TargetCell-ID -TargeteNBtoSource-eNBTransparentContainer N x2ap.ies id-TargeteNBtoSource-eNBTransparentContainer -TraceActivation N x2ap.ies id-TraceActivation +UE-X2AP-ID N x2ap.ies id-New-eNB-UE-X2AP-ID +UE-X2AP-ID N x2ap.ies id-Old-eNB-UE-X2AP-ID +ECGI N x2ap.ies id-TargetCell-ID +TargeteNBtoSource-eNBTransparentContainer N x2ap.ies id-TargeteNBtoSource-eNBTransparentContainer +TraceActivation N x2ap.ies id-TraceActivation UE-ContextInformation N x2ap.ies id-UE-ContextInformation UE-HistoryInformation N x2ap.ies id-UE-HistoryInformation -UE-X2AP-ID N x2ap.ies id-UE-X2AP-ID +UE-X2AP-ID N x2ap.ies id-UE-X2AP-ID CriticalityDiagnostics N x2ap.ies id-CriticalityDiagnostics -E-RABs-SubjectToStatusTransfer-List N x2ap.ies id-E-RABs-SubjectToStatusTransfer-List -E-RABs-SubjectToStatusTransfer-Item N x2ap.ies id-E-RABs-SubjectToStatusTransfer-Item -ServedCells N x2ap.ies id-ServedCells -GlobalENB-ID N x2ap.ies id-GlobalENB-ID -TimeToWait N x2ap.ies id-TimeToWait -GUMMEI N x2ap.ies id-GUMMEI-ID -GUGroupIDList N x2ap.ies id-GUGroupIDList -ServedCells N x2ap.ies id-ServedCellsToAdd -ServedCellsToModify N x2ap.ies id-ServedCellsToModify -Old-ECGIs N x2ap.ies id-ServedCellsToDelete +E-RABs-SubjectToStatusTransfer-List N x2ap.ies id-E-RABs-SubjectToStatusTransfer-List +E-RABs-SubjectToStatusTransfer-Item N x2ap.ies id-E-RABs-SubjectToStatusTransfer-Item +ServedCells N x2ap.ies id-ServedCells +GlobalENB-ID N x2ap.ies id-GlobalENB-ID +TimeToWait N x2ap.ies id-TimeToWait +GUMMEI N x2ap.ies id-GUMMEI-ID +GUGroupIDList N x2ap.ies id-GUGroupIDList +ServedCells N x2ap.ies id-ServedCellsToAdd +ServedCellsToModify N x2ap.ies id-ServedCellsToModify +Old-ECGIs N x2ap.ies id-ServedCellsToDelete Registration-Request N x2ap.ies id-Registration-Request -CellToReport-List N x2ap.ies id-CellToReport +CellToReport-List N x2ap.ies id-CellToReport ReportingPeriodicity N x2ap.ies id-ReportingPeriodicity -CellToReport-Item N x2ap.ies id-CellToReport-Item +CellToReport-Item N x2ap.ies id-CellToReport-Item CellMeasurementResult-List N x2ap.ies id-CellMeasurementResult CellMeasurementResult-Item N x2ap.ies id-CellMeasurementResult-Item -GUGroupIDList N x2ap.ies id-GUGroupIDToAddList -GUGroupIDList N x2ap.ies id-GUGroupIDToDeleteList +GUGroupIDList N x2ap.ies id-GUGroupIDToAddList +GUGroupIDList N x2ap.ies id-GUGroupIDToDeleteList SRVCCOperationPossible N x2ap.ies id-SRVCCOperationPossible # N x2ap.ies id-Measurement-ID ReportCharacteristics N x2ap.ies id-ReportCharacteristics -Measurement-ID N x2ap.ies id-ENB1-Measurement-ID -Measurement-ID N x2ap.ies id-ENB2-Measurement-ID -ECGI N x2ap.ies id-ENB1-Cell-ID -ECGI N x2ap.ies id-ENB2-Cell-ID -MobilityParametersInformation N x2ap.ies id-ENB2-Proposed-Mobility-Parameters -MobilityParametersInformation N x2ap.ies id-ENB1-Mobility-Parameters -MobilityParametersModificationRange N x2ap.ies id-ENB2-Mobility-Parameters-Modification-Range -PCI N x2ap.ies id-FailureCellPCI -ECGI N x2ap.ies id-Re-establishmentCellECGI -CRNTI N x2ap.ies id-FailureCellCRNTI -ShortMAC-I N x2ap.ies id-ShortMAC-I -ECGI N x2ap.ies id-SourceCellECGI -ECGI N x2ap.ies id-FailureCellECGI -HandoverReportType N x2ap.ies id-HandoverReportType +Measurement-ID N x2ap.ies id-ENB1-Measurement-ID +Measurement-ID N x2ap.ies id-ENB2-Measurement-ID +ECGI N x2ap.ies id-ENB1-Cell-ID +ECGI N x2ap.ies id-ENB2-Cell-ID +MobilityParametersInformation N x2ap.ies id-ENB2-Proposed-Mobility-Parameters +MobilityParametersInformation N x2ap.ies id-ENB1-Mobility-Parameters +MobilityParametersModificationRange N x2ap.ies id-ENB2-Mobility-Parameters-Modification-Range +PCI N x2ap.ies id-FailureCellPCI +ECGI N x2ap.ies id-Re-establishmentCellECGI +CRNTI N x2ap.ies id-FailureCellCRNTI +ShortMAC-I N x2ap.ies id-ShortMAC-I +ECGI N x2ap.ies id-SourceCellECGI +ECGI N x2ap.ies id-FailureCellECGI +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 +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 +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 RRCConnReestabIndicator N x2ap.ies id-RRCConnReestabIndicator -TargetCellInUTRAN N x2ap.ies id-TargetCellInUTRAN -MobilityInformation N x2ap.ies id-MobilityInformation -CRNTI N x2ap.ies id-SourceCellCRNTI -Masked-IMEISV N x2ap.ies id-Masked-IMEISV -RNL-Header N x2ap.ies id-RNL-Header -X2AP-Message N x2ap.ies id-x2APMessage +TargetCellInUTRAN N x2ap.ies id-TargetCellInUTRAN +MobilityInformation N x2ap.ies id-MobilityInformation +CRNTI N x2ap.ies id-SourceCellCRNTI +Masked-IMEISV N x2ap.ies id-Masked-IMEISV +RNL-Header N x2ap.ies id-RNL-Header +X2AP-Message N x2ap.ies id-x2APMessage ProSeAuthorized N x2ap.ies id-ProSeAuthorized ExpectedUEBehaviour N x2ap.ies id-ExpectedUEBehaviour UE-HistoryInformationFromTheUE N x2ap.ies id-UE-HistoryInformationFromTheUE @@ -912,39 +1172,102 @@ 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 +SgNBSecurityKey N x2ap.ies id-SgNBSecurityKey +UEAggregateMaximumBitRate N x2ap.ies id-SgNBUEAggregateMaximumBitRate +E-RABs-ToBeAdded-SgNBAddReqList N x2ap.ies id-E-RABs-ToBeAdded-SgNBAddReqList +MeNBtoSgNBContainer N x2ap.ies id-MeNBtoSgNBContainer +SgNB-UE-X2AP-ID N x2ap.ies id-SgNB-UE-X2AP-ID +MCGSplitSRBs N x2ap.ies id-RequestedMCGSplitSRBs +E-RABs-ToBeAdded-SgNBAddReq-Item N x2ap.ies id-E-RABs-ToBeAdded-SgNBAddReq-Item +E-RABs-Admitted-ToBeAdded-SgNBAddResList N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBAddResList +SgNBtoMeNBContainer N x2ap.ies id-SgNBtoMeNBContainer +MCGSplitSRBs N x2ap.ies id-AdmittedMCGSplitSRBs +E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item +ResponseInformationSgNBReconfComp N x2ap.ies id-ResponseInformationSgNBReconfComp +UE-ContextInformation-SgNBModReq N x2ap.ies id-UE-ContextInformation-SgNBModReq +E-RABs-ToBeAdded-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeAdded-SgNBModReq-Item +E-RABs-ToBeModified-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeModified-SgNBModReq-Item +E-RABs-ToBeReleased-SgNBModReq-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReq-Item +E-RABs-Admitted-ToBeAdded-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBModAckList +E-RABs-Admitted-ToBeModified-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeModified-SgNBModAckList +E-RABs-Admitted-ToBeReleased-SgNBModAckList N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBModAckList +E-RABs-Admitted-ToBeAdded-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item +E-RABs-Admitted-ToBeModified-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item +E-RABs-Admitted-ToReleased-SgNBModAck-Item N x2ap.ies id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item +E-RABs-ToBeReleased-SgNBModReqdList N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReqdList +E-RABs-ToBeModified-SgNBModReqdList N x2ap.ies id-E-RABs-ToBeModified-SgNBModReqdList +E-RABs-ToBeReleased-SgNBModReqd-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBModReqd-Item +E-RABs-ToBeModified-SgNBModReqd-Item N x2ap.ies id-E-RABs-ToBeModified-SgNBModReqd-Item +E-RABs-ToBeReleased-SgNBChaConfList N x2ap.ies id-E-RABs-ToBeReleased-SgNBChaConfList +E-RABs-ToBeReleased-SgNBChaConf-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBChaConf-Item +E-RABs-ToBeReleased-SgNBRelReqList N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReqList +E-RABs-ToBeReleased-SgNBRelReq-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelReq-Item +E-RABs-ToBeReleased-SgNBRelConfList N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelConfList +E-RABs-ToBeReleased-SgNBRelConf-Item N x2ap.ies id-E-RABs-ToBeReleased-SgNBRelConf-Item +E-RABs-SubjectToSgNBCounterCheck-List N x2ap.ies id-E-RABs-SubjectToSgNBCounterCheck-List +E-RABs-SubjectToSgNBCounterCheck-Item N x2ap.ies id-E-RABs-SubjectToSgNBCounterCheck-Item +GNB-ID N x2ap.ies id-Target-SgNB-ID +HandoverRestrictionList N x2ap.ies id-HandoverRestrictionList +SCGConfigurationQuery N x2ap.ies id-SCGConfigurationQuery +MCGSplitSRB N x2ap.ies id-MCGSplitSRB +UENRMeasurement N x2ap.ies id-UENRMeasurement +InitiatingNodeType-EndcX2Setup N x2ap.ies id-InitiatingNodeType-EndcX2Setup +InitiatingNodeType-EndcConfigUpdate N x2ap.ies id-InitiatingNodeType-EndcConfigUpdate +RespondingNodeType-EndcX2Setup N x2ap.ies id-RespondingNodeType-EndcX2Setup +RespondingNodeType-EndcConfigUpdate N x2ap.ies id-RespondingNodeType-EndcConfigUpdate +NRUESecurityCapabilities N x2ap.ies id-NRUESecurityCapabilities +PDCPChangeIndication N x2ap.ies id-PDCPChangeIndication +ServedEUTRAcellsENDCX2ManagementList N x2ap.ies id-ServedEUTRAcellsENDCX2ManagementList +CellAssistanceInformation N x2ap.ies id-CellAssistanceInformation +GlobalGNB-ID N x2ap.ies id-Globalen-gNB-ID +ServedNRcellsENDCX2ManagementList N x2ap.ies id-ServedNRcellsENDCX2ManagementList +UE-ContextReferenceAtSgNB N x2ap.ies id-UE-ContextReferenceAtSgNB +ActivationID N x2ap.ies id-ActivationID +MeNBResourceCoordinationInformation N x2ap.ies id-MeNBResourceCoordinationInformation +SgNBResourceCoordinationInformation N x2ap.ies id-SgNBResourceCoordinationInformation +ServedEUTRAcellsToModifyListENDCConfUpd N x2ap.ies id-ServedEUTRAcellsToModifyListENDCConfUpd +ServedEUTRAcellsToDeleteListENDCConfUpd N x2ap.ies id-ServedEUTRAcellsToDeleteListENDCConfUpd +ServedNRcellsToModifyENDCConfUpdList N x2ap.ies id-ServedNRcellsToModifyListENDCConfUpd +ServedNRcellsToDeleteENDCConfUpdList N x2ap.ies id-ServedNRcellsToDeleteListENDCConfUpd +E-RABUsageReport-Item N x2ap.ies id-E-RABUsageReport-Item +SgNB-UE-X2AP-ID N x2ap.ies id-Old-SgNB-UE-X2AP-ID +SecondaryRATUsageReportList N x2ap.ies id-SecondaryRATUsageReportList +SecondaryRATUsageReport-Item N x2ap.ies id-SecondaryRATUsageReport-Item +ServedNRCellsToActivate N x2ap.ies id-ServedNRCellsToActivate +ActivatedNRCellList N x2ap.ies id-ActivatedNRCellList #X2AP-PROTOCOL-EXTENSION Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports -CompositeAvailableCapacityGroup N x2ap.extension id-CompositeAvailableCapacityGroup -PRACH-Configuration N x2ap.extension id-PRACH-Configuration +CompositeAvailableCapacityGroup N x2ap.extension id-CompositeAvailableCapacityGroup +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 +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 -TAC N x2ap.extension id-NeighbourTAC -Time-UE-StayedInCell-EnhancedGranularity N x2ap.extension id-Time-UE-StayedInCell-EnhancedGranularity -MBMS-Service-Area-Identity-List N x2ap.extension id-MBMS-Service-Area-List -Cause N x2ap.extension id-HO-cause -MultibandInfoList N x2ap.extension id-MultibandInfoList -M3Configuration N x2ap.extension id-M3Configuration -M4Configuration N x2ap.extension id-M4Configuration -M5Configuration N x2ap.extension id-M5Configuration -MDT-Location-Info N x2ap.extension id-MDT-Location-Info -MDTPLMNList N x2ap.extension id-ManagementBasedMDTPLMNList -MDTPLMNList N x2ap.extension id-SignallingBasedMDTPLMNList -ReceiveStatusOfULPDCPSDUsExtended N x2ap.extension id-ReceiveStatusOfULPDCPSDUsExtended -COUNTValueExtended N x2ap.extension id-ULCOUNTValueExtended -COUNTValueExtended N x2ap.extension id-DLCOUNTValueExtended -EARFCNExtension N x2ap.extension id-eARFCNExtension -EARFCNExtension N x2ap.extension id-UL-EARFCNExtension -EARFCNExtension N x2ap.extension id-DL-EARFCNExtension -AdditionalSpecialSubframe-Info N x2ap.extension id-AdditionalSpecialSubframe-Info -SubframeAssignment N x2ap.extension id-IntendedULDLConfiguration -ExtendedULInterferenceOverloadInfo N x2ap.extension id-ExtendedULInterferenceOverloadInfo +TAC N x2ap.extension id-NeighbourTAC +Time-UE-StayedInCell-EnhancedGranularity N x2ap.extension id-Time-UE-StayedInCell-EnhancedGranularity +MBMS-Service-Area-Identity-List N x2ap.extension id-MBMS-Service-Area-List +Cause N x2ap.extension id-HO-cause +MultibandInfoList N x2ap.extension id-MultibandInfoList +M3Configuration N x2ap.extension id-M3Configuration +M4Configuration N x2ap.extension id-M4Configuration +M5Configuration N x2ap.extension id-M5Configuration +MDT-Location-Info N x2ap.extension id-MDT-Location-Info +MDTPLMNList N x2ap.extension id-ManagementBasedMDTPLMNList +MDTPLMNList N x2ap.extension id-SignallingBasedMDTPLMNList +ReceiveStatusOfULPDCPSDUsExtended N x2ap.extension id-ReceiveStatusOfULPDCPSDUsExtended +COUNTValueExtended N x2ap.extension id-ULCOUNTValueExtended +COUNTValueExtended N x2ap.extension id-DLCOUNTValueExtended +EARFCNExtension N x2ap.extension id-eARFCNExtension +EARFCNExtension N x2ap.extension id-UL-EARFCNExtension +EARFCNExtension N x2ap.extension id-DL-EARFCNExtension +AdditionalSpecialSubframe-Info N x2ap.extension id-AdditionalSpecialSubframe-Info +SubframeAssignment N x2ap.extension id-IntendedULDLConfiguration +ExtendedULInterferenceOverloadInfo N x2ap.extension id-ExtendedULInterferenceOverloadInfo DynamicDLTransmissionInformation N x2ap.extension id-DynamicDLTransmissionInformation CoMPInformation N x2ap.extension id-CoMPInformation RSRPMRList N x2ap.extension id-RSRPMRList @@ -968,33 +1291,43 @@ 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 +DL-scheduling-PDCCH-CCE-usage N x2ap.extension id-DL-scheduling-PDCCH-CCE-usage +UL-scheduling-PDCCH-CCE-usage N x2ap.extension id-UL-scheduling-PDCCH-CCE-usage +UEAppLayerMeasConfig N x2ap.extension id-UEAppLayerMeasConfig +ExtendedBitRate N x2ap.extension id-extended-e-RAB-MaximumBitrateDL +ExtendedBitRate N x2ap.extension id-extended-e-RAB-MaximumBitrateUL +ExtendedBitRate N x2ap.extension id-extended-e-RAB-GuaranteedBitrateDL +ExtendedBitRate N x2ap.extension id-extended-e-RAB-GuaranteedBitrateUL +ExtendedBitRate N x2ap.extension id-extended-uEaggregateMaximumBitRateDownlink +ExtendedBitRate N x2ap.extension id-extended-uEaggregateMaximumBitRateUplink +NRrestriction N x2ap.extension id-NRrestriction # X2AP-PDU-Descriptions.asn Interface Elementary Procedures #X2AP-ELEMENTARY-PROCEDURE -HandoverRequest N x2ap.proc.imsg id-handoverPreparation +HandoverRequest N x2ap.proc.imsg id-handoverPreparation HandoverRequestAcknowledge N x2ap.proc.sout id-handoverPreparation HandoverPreparationFailure N x2ap.proc.uout id-handoverPreparation -SNStatusTransfer N x2ap.proc.imsg id-snStatusTransfer +SNStatusTransfer N x2ap.proc.imsg id-snStatusTransfer -UEContextRelease N x2ap.proc.imsg id-uEContextRelease +UEContextRelease N x2ap.proc.imsg id-uEContextRelease -HandoverCancel N x2ap.proc.imsg id-handoverCancel +HandoverCancel N x2ap.proc.imsg id-handoverCancel -ErrorIndication N x2ap.proc.imsg id-errorIndication +ErrorIndication N x2ap.proc.imsg id-errorIndication -ResetRequest N x2ap.proc.imsg id-reset -ResetResponse N x2ap.proc.sout id-reset +ResetRequest N x2ap.proc.imsg id-reset +ResetResponse N x2ap.proc.sout id-reset -X2SetupRequest N x2ap.proc.imsg id-x2Setup -X2SetupResponse N x2ap.proc.sout id-x2Setup -X2SetupFailure N x2ap.proc.uout id-x2Setup +X2SetupRequest N x2ap.proc.imsg id-x2Setup +X2SetupResponse N x2ap.proc.sout id-x2Setup +X2SetupFailure N x2ap.proc.uout id-x2Setup -LoadInformation N x2ap.proc.imsg id-loadIndication +LoadInformation N x2ap.proc.imsg id-loadIndication ENBConfigurationUpdate N x2ap.proc.imsg id-eNBConfigurationUpdate -ENBConfigurationUpdateAcknowledge N x2ap.proc.sout id-eNBConfigurationUpdate -ENBConfigurationUpdateFailure N x2ap.proc.uout id-eNBConfigurationUpdate +ENBConfigurationUpdateAcknowledge N x2ap.proc.sout id-eNBConfigurationUpdate +ENBConfigurationUpdateFailure N x2ap.proc.uout id-eNBConfigurationUpdate ResourceStatusRequest N x2ap.proc.imsg id-resourceStatusReportingInitiation ResourceStatusResponse N x2ap.proc.sout id-resourceStatusReportingInitiation @@ -1002,11 +1335,11 @@ ResourceStatusFailure N x2ap.proc.uout id-resourceStatusReportingInitiation ResourceStatusUpdate N x2ap.proc.imsg id-resourceStatusReporting -PrivateMessage N x2ap.proc.imsg id-privateMessage +PrivateMessage N x2ap.proc.imsg id-privateMessage -HandoverReport N x2ap.proc.imsg id-handoverReport +HandoverReport N x2ap.proc.imsg id-handoverReport -RLFIndication N x2ap.proc.imsg id-rLFIndication +RLFIndication N x2ap.proc.imsg id-rLFIndication MobilityChangeRequest N x2ap.proc.imsg id-mobilitySettingsChange MobilityChangeAcknowledge N x2ap.proc.sout id-mobilitySettingsChange @@ -1016,9 +1349,9 @@ CellActivationRequest N x2ap.proc.imsg id-cellActivation CellActivationResponse N x2ap.proc.sout id-cellActivation CellActivationFailure N x2ap.proc.uout id-cellActivation -X2Release N x2ap.proc.imsg id-x2Release +X2Release N x2ap.proc.imsg id-x2Release -X2APMessageTransfer N x2ap.proc.imsg id-x2APMessageTransfer +X2APMessageTransfer N x2ap.proc.imsg id-x2APMessageTransfer X2RemovalRequest N x2ap.proc.imsg id-x2Removal X2RemovalResponse N x2ap.proc.sout id-x2Removal @@ -1048,4 +1381,47 @@ SeNBCounterCheckRequest N x2ap.proc.imsg id-seNBCounterCheck RetrieveUEContextRequest N x2ap.proc.imsg id-retrieveUEContext RetrieveUEContextResponse N x2ap.proc.sout id-retrieveUEContext RetrieveUEContextFailure N x2ap.proc.uout id-retrieveUEContext + +SgNBAdditionRequest N x2ap.proc.imsg id-sgNBAdditionPreparation +SgNBAdditionRequestAcknowledge N x2ap.proc.sout id-sgNBAdditionPreparation +SgNBAdditionRequestReject N x2ap.proc.uout id-sgNBAdditionPreparation + +SgNBReconfigurationComplete N x2ap.proc.imsg id-sgNBReconfigurationCompletion + +SgNBModificationRequest N x2ap.proc.imsg id-meNBinitiatedSgNBModificationPreparation +SgNBModificationRequestAcknowledge N x2ap.proc.sout id-meNBinitiatedSgNBModificationPreparation +SgNBModificationRequestReject N x2ap.proc.uout id-meNBinitiatedSgNBModificationPreparation + +SgNBModificationRequired N x2ap.proc.imsg id-sgNBinitiatedSgNBModification +SgNBModificationConfirm N x2ap.proc.sout id-sgNBinitiatedSgNBModification +SgNBModificationRefuse N x2ap.proc.uout id-sgNBinitiatedSgNBModification + +SgNBReleaseRequest N x2ap.proc.imsg id-meNBinitiatedSgNBRelease +SgNBReleaseRequestAcknowledge N x2ap.proc.sout id-meNBinitiatedSgNBRelease +SgNBReleaseRequestReject N x2ap.proc.uout id-meNBinitiatedSgNBRelease + +SgNBReleaseRequired N x2ap.proc.imsg id-sgNBinitiatedSgNBRelease +SgNBReleaseConfirm N x2ap.proc.sout id-sgNBinitiatedSgNBRelease + +SgNBCounterCheckRequest N x2ap.proc.imsg id-sgNBCounterCheck + +SgNBChangeRequired N x2ap.proc.imsg id-sgNBChange +SgNBChangeConfirm N x2ap.proc.sout id-sgNBChange +SgNBChangeRefuse N x2ap.proc.uout id-sgNBChange + +RRCTransfer N x2ap.proc.imsg id-rRCTransfer + +ENDCX2SetupRequest N x2ap.proc.imsg id-endcX2Setup +ENDCX2SetupResponse N x2ap.proc.sout id-endcX2Setup +ENDCX2SetupFailure N x2ap.proc.uout id-endcX2Setup + +ENDCConfigurationUpdate N x2ap.proc.imsg id-endcConfigurationUpdate +ENDCConfigurationUpdateAcknowledge N x2ap.proc.sout id-endcConfigurationUpdate +ENDCConfigurationUpdateFailure N x2ap.proc.uout id-endcConfigurationUpdate + +SecondaryRATDataUsageReport N x2ap.proc.imsg id-secondaryRATDataUsageReport + +ENDCCellActivationRequest N x2ap.proc.imsg id-endcCellActivation +ENDCCellActivationResponse N x2ap.proc.sout id-endcCellActivation +ENDCCellActivationFailure N x2ap.proc.uout id-endcCellActivation #.END diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index 5832b795ac..fce09e8f25 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -11,7 +11,7 @@ * X2 Application Protocol (X2AP); * 3GPP TS 36.423 packet dissection * Copyright 2007-2014, Anders Broman - * Copyright 2016, Pascal Quantin + * Copyright 2016-2018, Pascal Quantin * * Wireshark - Network traffic analyzer * By Gerald Combs @@ -32,7 +32,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * Ref: - * 3GPP TS 36.423 V14.3.0 (2017-06) + * 3GPP TS 36.423 V15.0.0 (2017-12) */ #include "config.h" @@ -47,6 +47,8 @@ #include "packet-per.h" #include "packet-e212.h" #include "packet-lte-rrc.h" +#include "packet-nr-rrc.h" +#include "packet-ntp.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -100,6 +102,12 @@ void proto_register_x2ap(void); #define maxCSIProcess 4 #define maxCSIReport 2 #define maxSubband 14 +#define maxofNRNeighbours 1024 +#define maxCellinengNB 16384 +#define maxnooftimeperiods 2 +#define maxnoofCellIDforQMC 32 +#define maxnoofTAforQMC 8 +#define maxnoofPLMNforQMC 16 typedef enum _ProcedureCode_enum { id_handoverPreparation = 0, @@ -128,7 +136,20 @@ typedef enum _ProcedureCode_enum { id_meNBinitiatedSeNBRelease = 23, id_seNBinitiatedSeNBRelease = 24, id_seNBCounterCheck = 25, - id_retrieveUEContext = 26 + id_retrieveUEContext = 26, + id_sgNBAdditionPreparation = 27, + id_sgNBReconfigurationCompletion = 28, + id_meNBinitiatedSgNBModificationPreparation = 29, + id_sgNBinitiatedSgNBModification = 30, + id_meNBinitiatedSgNBRelease = 31, + id_sgNBinitiatedSgNBRelease = 32, + id_sgNBCounterCheck = 33, + id_sgNBChange = 34, + id_rRCTransfer = 35, + id_endcX2Setup = 36, + id_endcConfigurationUpdate = 37, + id_secondaryRATDataUsageReport = 38, + id_endcCellActivation = 39 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -317,11 +338,100 @@ typedef enum _ProtocolIE_ID_enum { id_UE_ContextReferenceAtWT = 182, id_WT_UE_ContextKeptIndicator = 183, id_UESidelinkAggregateMaximumBitRate = 184, - id_uL_GTPtunnelEndpoint = 185 + id_uL_GTPtunnelEndpoint = 185, + id_Unknown_186 = 186, + id_Unknown_187 = 187, + id_Unknown_188 = 188, + id_Unknown_189 = 189, + id_Unknown_190 = 190, + id_Unknown_191 = 191, + id_Unknown_192 = 192, + id_DL_scheduling_PDCCH_CCE_usage = 193, + id_UL_scheduling_PDCCH_CCE_usage = 194, + id_UEAppLayerMeasConfig = 195, + id_extended_e_RAB_MaximumBitrateDL = 196, + id_extended_e_RAB_MaximumBitrateUL = 197, + id_extended_e_RAB_GuaranteedBitrateDL = 198, + id_extended_e_RAB_GuaranteedBitrateUL = 199, + id_extended_uEaggregateMaximumBitRateDownlink = 200, + id_extended_uEaggregateMaximumBitRateUplink = 201, + id_NRrestriction = 202, + id_SgNBSecurityKey = 203, + id_SgNBUEAggregateMaximumBitRate = 204, + id_E_RABs_ToBeAdded_SgNBAddReqList = 205, + id_MeNBtoSgNBContainer = 206, + id_SgNB_UE_X2AP_ID = 207, + id_RequestedMCGSplitSRBs = 208, + id_E_RABs_ToBeAdded_SgNBAddReq_Item = 209, + id_E_RABs_Admitted_ToBeAdded_SgNBAddResList = 210, + id_SgNBtoMeNBContainer = 211, + id_AdmittedMCGSplitSRBs = 212, + id_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item = 213, + id_ResponseInformationSgNBReconfComp = 214, + id_UE_ContextInformation_SgNBModReq = 215, + id_E_RABs_ToBeAdded_SgNBModReq_Item = 216, + id_E_RABs_ToBeModified_SgNBModReq_Item = 217, + id_E_RABs_ToBeReleased_SgNBModReq_Item = 218, + id_E_RABs_Admitted_ToBeAdded_SgNBModAckList = 219, + id_E_RABs_Admitted_ToBeModified_SgNBModAckList = 220, + id_E_RABs_Admitted_ToBeReleased_SgNBModAckList = 221, + id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item = 222, + id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item = 223, + id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item = 224, + id_E_RABs_ToBeReleased_SgNBModReqdList = 225, + id_E_RABs_ToBeModified_SgNBModReqdList = 226, + id_E_RABs_ToBeReleased_SgNBModReqd_Item = 227, + id_E_RABs_ToBeModified_SgNBModReqd_Item = 228, + id_E_RABs_ToBeReleased_SgNBChaConfList = 229, + id_E_RABs_ToBeReleased_SgNBChaConf_Item = 230, + id_E_RABs_ToBeReleased_SgNBRelReqList = 231, + id_E_RABs_ToBeReleased_SgNBRelReq_Item = 232, + id_E_RABs_ToBeReleased_SgNBRelConfList = 233, + id_E_RABs_ToBeReleased_SgNBRelConf_Item = 234, + id_E_RABs_SubjectToSgNBCounterCheck_List = 235, + id_E_RABs_SubjectToSgNBCounterCheck_Item = 236, + id_RRCContainer = 237, + id_SRBType = 238, + id_Target_SgNB_ID = 239, + id_HandoverRestrictionList = 240, + id_SCGConfigurationQuery = 241, + id_MCGSplitSRB = 242, + id_UENRMeasurement = 243, + id_InitiatingNodeType_EndcX2Setup = 244, + id_InitiatingNodeType_EndcConfigUpdate = 245, + id_RespondingNodeType_EndcX2Setup = 246, + id_RespondingNodeType_EndcConfigUpdate = 247, + id_NRUESecurityCapabilities = 248, + id_PDCPChangeIndication = 249, + id_ServedEUTRAcellsENDCX2ManagementList = 250, + id_CellAssistanceInformation = 251, + id_Globalen_gNB_ID = 252, + id_ServedNRcellsENDCX2ManagementList = 253, + id_UE_ContextReferenceAtSgNB = 254, + id_SecondaryRATUsageReport = 255, + id_ActivationID = 256, + id_MeNBResourceCoordinationInformation = 257, + id_SgNBResourceCoordinationInformation = 258, + id_ServedEUTRAcellsToModifyListENDCConfUpd = 259, + id_ServedEUTRAcellsToDeleteListENDCConfUpd = 260, + id_ServedNRcellsToModifyListENDCConfUpd = 261, + id_ServedNRcellsToDeleteListENDCConfUpd = 262, + id_E_RABUsageReport_Item = 263, + id_Old_SgNB_UE_X2AP_ID = 264, + id_SecondaryRATUsageReportList = 265, + id_SecondaryRATUsageReport_Item = 266, + id_ServedNRCellsToActivate = 267, + id_ActivatedNRCellList = 268 } ProtocolIE_ID_enum; +typedef enum _TriggeringMessage_enum { + initiating_message = 0, + successful_outcome = 1, + unsuccessful_outcome = 2 +} TriggeringMessage_enum; + /*--- End of included file: packet-x2ap-val.h ---*/ -#line 58 "./asn1/x2ap/packet-x2ap-template.c" +#line 60 "./asn1/x2ap/packet-x2ap-template.c" /* Initialize the protocol and registered fields */ static int proto_x2ap = -1; @@ -378,11 +488,20 @@ static int hf_x2ap_MDT_transmissionModes_tm6 = -1; static int hf_x2ap_MDT_transmissionModes_tm8 = -1; static int hf_x2ap_MDT_transmissionModes_tm9 = -1; static int hf_x2ap_MDT_transmissionModes_tm10 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA1 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA2 = -1; +static int hf_x2ap_NRencryptionAlgorithms_NEA3 = -1; +static int hf_x2ap_NRencryptionAlgorithms_Reserved = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA1 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA2 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_NIA3 = -1; +static int hf_x2ap_NRintegrityProtectionAlgorithms_Reserved = -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_ActivationID_PDU = -1; /* ActivationID */ 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 */ @@ -401,21 +520,27 @@ static int hf_x2ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */ static int hf_x2ap_CSG_Id_PDU = -1; /* CSG_Id */ static int hf_x2ap_CSIReportList_PDU = -1; /* CSIReportList */ static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */ +static int hf_x2ap_DL_scheduling_PDCCH_CCE_usage_PDU = -1; /* DL_scheduling_PDCCH_CCE_usage */ static int hf_x2ap_DynamicDLTransmissionInformation_PDU = -1; /* DynamicDLTransmissionInformation */ static int hf_x2ap_EARFCNExtension_PDU = -1; /* EARFCNExtension */ static int hf_x2ap_ECGI_PDU = -1; /* ECGI */ static int hf_x2ap_EnhancedRNTP_PDU = -1; /* EnhancedRNTP */ static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */ static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */ +static int hf_x2ap_E_RABUsageReport_Item_PDU = -1; /* E_RABUsageReport_Item */ static int hf_x2ap_EUTRANCellIdentifier_PDU = -1; /* EUTRANCellIdentifier */ static int hf_x2ap_ExpectedUEBehaviour_PDU = -1; /* ExpectedUEBehaviour */ static int hf_x2ap_ExtendedULInterferenceOverloadInfo_PDU = -1; /* ExtendedULInterferenceOverloadInfo */ +static int hf_x2ap_ExtendedBitRate_PDU = -1; /* ExtendedBitRate */ static int hf_x2ap_FreqBandIndicatorPriority_PDU = -1; /* FreqBandIndicatorPriority */ static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */ +static int hf_x2ap_GlobalGNB_ID_PDU = -1; /* GlobalGNB_ID */ static int hf_x2ap_GTPtunnelEndpoint_PDU = -1; /* GTPtunnelEndpoint */ static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */ static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */ +static int hf_x2ap_GNB_ID_PDU = -1; /* GNB_ID */ static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */ +static int hf_x2ap_HandoverRestrictionList_PDU = -1; /* HandoverRestrictionList */ static int hf_x2ap_InvokeIndication_PDU = -1; /* InvokeIndication */ static int hf_x2ap_LHN_ID_PDU = -1; /* LHN_ID */ static int hf_x2ap_M3Configuration_PDU = -1; /* M3Configuration */ @@ -430,14 +555,22 @@ static int hf_x2ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */ static int hf_x2ap_MDTPLMNList_PDU = -1; /* MDTPLMNList */ static int hf_x2ap_MDT_Location_Info_PDU = -1; /* MDT_Location_Info */ static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */ +static int hf_x2ap_MeNBResourceCoordinationInformation_PDU = -1; /* MeNBResourceCoordinationInformation */ static int hf_x2ap_MeNBtoSeNBContainer_PDU = -1; /* MeNBtoSeNBContainer */ static int hf_x2ap_MBMS_Service_Area_Identity_List_PDU = -1; /* MBMS_Service_Area_Identity_List */ static int hf_x2ap_MBSFN_Subframe_Infolist_PDU = -1; /* MBSFN_Subframe_Infolist */ static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */ static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */ static int hf_x2ap_MultibandInfoList_PDU = -1; /* MultibandInfoList */ +static int hf_x2ap_MeNBtoSgNBContainer_PDU = -1; /* MeNBtoSgNBContainer */ +static int hf_x2ap_MCGSplitSRBs_PDU = -1; /* MCGSplitSRBs */ +static int hf_x2ap_MCGSplitSRB_PDU = -1; /* MCGSplitSRB */ +static int hf_x2ap_UENRMeasurement_PDU = -1; /* UENRMeasurement */ static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */ +static int hf_x2ap_NRrestriction_PDU = -1; /* NRrestriction */ +static int hf_x2ap_NRUESecurityCapabilities_PDU = -1; /* NRUESecurityCapabilities */ static int hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU = -1; /* OffsetOfNbiotChannelNumberToEARFCN */ +static int hf_x2ap_PDCPChangeIndication_PDU = -1; /* PDCPChangeIndication */ static int hf_x2ap_PCI_PDU = -1; /* PCI */ static int hf_x2ap_PLMN_Identity_PDU = -1; /* PLMN_Identity */ static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */ @@ -454,13 +587,20 @@ static int hf_x2ap_RRCConnReestabIndicator_PDU = -1; /* RRCConnReestabIndicator static int hf_x2ap_RRCConnSetupIndicator_PDU = -1; /* RRCConnSetupIndicator */ static int hf_x2ap_RSRPMRList_PDU = -1; /* RSRPMRList */ static int hf_x2ap_SCGChangeIndication_PDU = -1; /* SCGChangeIndication */ +static int hf_x2ap_SecondaryRATUsageReportList_PDU = -1; /* SecondaryRATUsageReportList */ +static int hf_x2ap_SecondaryRATUsageReport_Item_PDU = -1; /* SecondaryRATUsageReport_Item */ static int hf_x2ap_SeNBSecurityKey_PDU = -1; /* SeNBSecurityKey */ static int hf_x2ap_SeNBtoMeNBContainer_PDU = -1; /* SeNBtoMeNBContainer */ static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */ +static int hf_x2ap_SgNBResourceCoordinationInformation_PDU = -1; /* SgNBResourceCoordinationInformation */ +static int hf_x2ap_SgNB_UE_X2AP_ID_PDU = -1; /* SgNB_UE_X2AP_ID */ static int hf_x2ap_SIPTOBearerDeactivationIndication_PDU = -1; /* SIPTOBearerDeactivationIndication */ static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */ static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */ static int hf_x2ap_SubframeAssignment_PDU = -1; /* SubframeAssignment */ +static int hf_x2ap_SgNBSecurityKey_PDU = -1; /* SgNBSecurityKey */ +static int hf_x2ap_SgNBtoMeNBContainer_PDU = -1; /* SgNBtoMeNBContainer */ +static int hf_x2ap_SCGConfigurationQuery_PDU = -1; /* SCGConfigurationQuery */ static int hf_x2ap_TAC_PDU = -1; /* TAC */ static int hf_x2ap_TargetCellInUTRAN_PDU = -1; /* TargetCellInUTRAN */ static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */ @@ -470,6 +610,7 @@ static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */ static int hf_x2ap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_x2ap_TunnelInformation_PDU = -1; /* TunnelInformation */ static int hf_x2ap_UEAggregateMaximumBitRate_PDU = -1; /* UEAggregateMaximumBitRate */ +static int hf_x2ap_UEAppLayerMeasConfig_PDU = -1; /* UEAppLayerMeasConfig */ static int hf_x2ap_UE_ContextKeptIndicator_PDU = -1; /* UE_ContextKeptIndicator */ static int hf_x2ap_UEID_PDU = -1; /* UEID */ static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */ @@ -480,6 +621,7 @@ 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_UL_scheduling_PDCCH_CCE_usage_PDU = -1; /* UL_scheduling_PDCCH_CCE_usage */ static int hf_x2ap_V2XServicesAuthorized_PDU = -1; /* V2XServicesAuthorized */ static int hf_x2ap_X2BenefitValue_PDU = -1; /* X2BenefitValue */ static int hf_x2ap_HandoverRequest_PDU = -1; /* HandoverRequest */ @@ -488,6 +630,7 @@ 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_UE_ContextReferenceAtSgNB_PDU = -1; /* UE_ContextReferenceAtSgNB */ 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 */ @@ -586,6 +729,76 @@ static int hf_x2ap_RetrieveUEContextResponse_PDU = -1; /* RetrieveUEContextResp static int hf_x2ap_UE_ContextInformationRetrieve_PDU = -1; /* UE_ContextInformationRetrieve */ static int hf_x2ap_E_RABs_ToBeSetupRetrieve_Item_PDU = -1; /* E_RABs_ToBeSetupRetrieve_Item */ static int hf_x2ap_RetrieveUEContextFailure_PDU = -1; /* RetrieveUEContextFailure */ +static int hf_x2ap_SgNBAdditionRequest_PDU = -1; /* SgNBAdditionRequest */ +static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU = -1; /* E_RABs_ToBeAdded_SgNBAddReqList */ +static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU = -1; /* E_RABs_ToBeAdded_SgNBAddReq_Item */ +static int hf_x2ap_SgNBAdditionRequestAcknowledge_PDU = -1; /* SgNBAdditionRequestAcknowledge */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_PDU = -1; /* E_RABs_Admitted_ToBeAdded_SgNBAddResList */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_PDU = -1; /* E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item */ +static int hf_x2ap_SgNBAdditionRequestReject_PDU = -1; /* SgNBAdditionRequestReject */ +static int hf_x2ap_SgNBReconfigurationComplete_PDU = -1; /* SgNBReconfigurationComplete */ +static int hf_x2ap_ResponseInformationSgNBReconfComp_PDU = -1; /* ResponseInformationSgNBReconfComp */ +static int hf_x2ap_SgNBModificationRequest_PDU = -1; /* SgNBModificationRequest */ +static int hf_x2ap_UE_ContextInformation_SgNBModReq_PDU = -1; /* UE_ContextInformation_SgNBModReq */ +static int hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU = -1; /* E_RABs_ToBeAdded_SgNBModReq_Item */ +static int hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU = -1; /* E_RABs_ToBeModified_SgNBModReq_Item */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU = -1; /* E_RABs_ToBeReleased_SgNBModReq_Item */ +static int hf_x2ap_SgNBModificationRequestAcknowledge_PDU = -1; /* SgNBModificationRequestAcknowledge */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU = -1; /* E_RABs_Admitted_ToBeAdded_SgNBModAckList */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU = -1; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item */ +static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU = -1; /* E_RABs_Admitted_ToBeModified_SgNBModAckList */ +static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU = -1; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item */ +static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU = -1; /* E_RABs_Admitted_ToBeReleased_SgNBModAckList */ +static int hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU = -1; /* E_RABs_Admitted_ToReleased_SgNBModAck_Item */ +static int hf_x2ap_SgNBModificationRequestReject_PDU = -1; /* SgNBModificationRequestReject */ +static int hf_x2ap_SgNBModificationRequired_PDU = -1; /* SgNBModificationRequired */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU = -1; /* E_RABs_ToBeReleased_SgNBModReqdList */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU = -1; /* E_RABs_ToBeReleased_SgNBModReqd_Item */ +static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU = -1; /* E_RABs_ToBeModified_SgNBModReqdList */ +static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU = -1; /* E_RABs_ToBeModified_SgNBModReqd_Item */ +static int hf_x2ap_SgNBModificationConfirm_PDU = -1; /* SgNBModificationConfirm */ +static int hf_x2ap_SgNBModificationRefuse_PDU = -1; /* SgNBModificationRefuse */ +static int hf_x2ap_SgNBReleaseRequest_PDU = -1; /* SgNBReleaseRequest */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU = -1; /* E_RABs_ToBeReleased_SgNBRelReqList */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU = -1; /* E_RABs_ToBeReleased_SgNBRelReq_Item */ +static int hf_x2ap_SgNBReleaseRequestAcknowledge_PDU = -1; /* SgNBReleaseRequestAcknowledge */ +static int hf_x2ap_SgNBReleaseRequestReject_PDU = -1; /* SgNBReleaseRequestReject */ +static int hf_x2ap_SgNBReleaseRequired_PDU = -1; /* SgNBReleaseRequired */ +static int hf_x2ap_SgNBReleaseConfirm_PDU = -1; /* SgNBReleaseConfirm */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU = -1; /* E_RABs_ToBeReleased_SgNBRelConfList */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU = -1; /* E_RABs_ToBeReleased_SgNBRelConf_Item */ +static int hf_x2ap_SgNBCounterCheckRequest_PDU = -1; /* SgNBCounterCheckRequest */ +static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU = -1; /* E_RABs_SubjectToSgNBCounterCheck_List */ +static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU = -1; /* E_RABs_SubjectToSgNBCounterCheck_Item */ +static int hf_x2ap_SgNBChangeRequired_PDU = -1; /* SgNBChangeRequired */ +static int hf_x2ap_SgNBChangeConfirm_PDU = -1; /* SgNBChangeConfirm */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU = -1; /* E_RABs_ToBeReleased_SgNBChaConfList */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU = -1; /* E_RABs_ToBeReleased_SgNBChaConf_Item */ +static int hf_x2ap_RRCTransfer_PDU = -1; /* RRCTransfer */ +static int hf_x2ap_SgNBChangeRefuse_PDU = -1; /* SgNBChangeRefuse */ +static int hf_x2ap_ENDCX2SetupRequest_PDU = -1; /* ENDCX2SetupRequest */ +static int hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU = -1; /* InitiatingNodeType_EndcX2Setup */ +static int hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU = -1; /* ServedEUTRAcellsENDCX2ManagementList */ +static int hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU = -1; /* ServedNRcellsENDCX2ManagementList */ +static int hf_x2ap_CellAssistanceInformation_PDU = -1; /* CellAssistanceInformation */ +static int hf_x2ap_ENDCX2SetupResponse_PDU = -1; /* ENDCX2SetupResponse */ +static int hf_x2ap_RespondingNodeType_EndcX2Setup_PDU = -1; /* RespondingNodeType_EndcX2Setup */ +static int hf_x2ap_ENDCX2SetupFailure_PDU = -1; /* ENDCX2SetupFailure */ +static int hf_x2ap_ENDCConfigurationUpdate_PDU = -1; /* ENDCConfigurationUpdate */ +static int hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU = -1; /* InitiatingNodeType_EndcConfigUpdate */ +static int hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU = -1; /* ServedEUTRAcellsToModifyListENDCConfUpd */ +static int hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU = -1; /* ServedEUTRAcellsToDeleteListENDCConfUpd */ +static int hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU = -1; /* ServedNRcellsToModifyENDCConfUpdList */ +static int hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU = -1; /* ServedNRcellsToDeleteENDCConfUpdList */ +static int hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU = -1; /* ENDCConfigurationUpdateAcknowledge */ +static int hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU = -1; /* RespondingNodeType_EndcConfigUpdate */ +static int hf_x2ap_ENDCConfigurationUpdateFailure_PDU = -1; /* ENDCConfigurationUpdateFailure */ +static int hf_x2ap_ENDCCellActivationRequest_PDU = -1; /* ENDCCellActivationRequest */ +static int hf_x2ap_ServedNRCellsToActivate_PDU = -1; /* ServedNRCellsToActivate */ +static int hf_x2ap_ENDCCellActivationResponse_PDU = -1; /* ENDCCellActivationResponse */ +static int hf_x2ap_ActivatedNRCellList_PDU = -1; /* ActivatedNRCellList */ +static int hf_x2ap_ENDCCellActivationFailure_PDU = -1; /* ENDCCellActivationFailure */ +static int hf_x2ap_SecondaryRATDataUsageReport_PDU = -1; /* SecondaryRATDataUsageReport */ static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */ static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */ static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */ @@ -622,6 +835,10 @@ 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_tAIBased = -1; /* TAIBasedMDT */ +static int hf_x2ap_cellBased_01 = -1; /* CellBasedQMC */ +static int hf_x2ap_tABased_01 = -1; /* TABasedQMC */ +static int hf_x2ap_tAIBased_01 = -1; /* TAIBasedQMC */ +static int hf_x2ap_pLMNAreaBased = -1; /* PLMNAreaBasedQMC */ static int hf_x2ap_key_eNodeB_star = -1; /* Key_eNodeB_Star */ static int hf_x2ap_nextHopChainingCount = -1; /* NextHopChainingCount */ static int hf_x2ap_BroadcastPLMNs_Item_item = -1; /* PLMN_Identity */ @@ -630,7 +847,9 @@ 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_cellIdListforQMC = -1; /* CellIdListforQMC */ static int hf_x2ap_CellIdListforMDT_item = -1; /* ECGI */ +static int hf_x2ap_CellIdListforQMC_item = -1; /* ECGI */ static int hf_x2ap_replacingCellsList = -1; /* ReplacingCellsList */ static int hf_x2ap_cell_Size = -1; /* Cell_Size */ static int hf_x2ap_CoMPHypothesisSet_item = -1; /* CoMPHypothesisSetItem */ @@ -678,6 +897,7 @@ static int hf_x2ap_rI = -1; /* INTEGER_1_8_ */ static int hf_x2ap_widebandCQI = -1; /* WidebandCQI */ static int hf_x2ap_subbandSize = -1; /* SubbandSize */ static int hf_x2ap_subbandCQIList = -1; /* SubbandCQIList */ +static int hf_x2ap_highestSuccessDeliveredPDCPSN = -1; /* INTEGER_0_4095 */ static int hf_x2ap_naics_active = -1; /* DynamicNAICSInformation */ static int hf_x2ap_naics_inactive = -1; /* NULL */ static int hf_x2ap_transmissionModes = -1; /* T_transmissionModes */ @@ -693,6 +913,9 @@ 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_pDCPatSgNB = -1; /* T_pDCPatSgNB */ +static int hf_x2ap_mCGresources = -1; /* T_mCGresources */ +static int hf_x2ap_sCGresources = -1; /* T_sCGresources */ static int hf_x2ap_EPLMNs_item = -1; /* PLMN_Identity */ static int hf_x2ap_qCI = -1; /* QCI */ static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */ @@ -700,6 +923,11 @@ static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */ static int hf_x2ap_E_RAB_List_item = -1; /* ProtocolIE_Single_Container */ static int hf_x2ap_e_RAB_ID = -1; /* E_RAB_ID */ static int hf_x2ap_cause = -1; /* Cause */ +static int hf_x2ap_E_RABUsageReportList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_startTimeStamp = -1; /* T_startTimeStamp */ +static int hf_x2ap_endTimeStamp = -1; /* T_endTimeStamp */ +static int hf_x2ap_usageCountUL = -1; /* INTEGER */ +static int hf_x2ap_usageCountDL = -1; /* INTEGER */ static int hf_x2ap_fDD = -1; /* FDD_Info */ static int hf_x2ap_tDD = -1; /* TDD_Info */ static int hf_x2ap_expectedActivity = -1; /* ExpectedUEActivityBehaviour */ @@ -724,12 +952,14 @@ static int hf_x2ap_e_RAB_MaximumBitrateUL = -1; /* BitRate */ static int hf_x2ap_e_RAB_GuaranteedBitrateDL = -1; /* BitRate */ static int hf_x2ap_e_RAB_GuaranteedBitrateUL = -1; /* BitRate */ static int hf_x2ap_eNB_ID = -1; /* ENB_ID */ +static int hf_x2ap_gNB_ID = -1; /* GNB_ID */ static int hf_x2ap_transportLayerAddress = -1; /* TransportLayerAddress */ static int hf_x2ap_gTP_TEID = -1; /* GTP_TEI */ static int hf_x2ap_GUGroupIDList_item = -1; /* GU_Group_ID */ static int hf_x2ap_mME_Group_ID = -1; /* MME_Group_ID */ static int hf_x2ap_gU_Group_ID = -1; /* GU_Group_ID */ static int hf_x2ap_mME_Code = -1; /* MME_Code */ +static int hf_x2ap_gNB_ID_01 = -1; /* BIT_STRING_SIZE_22_32 */ static int hf_x2ap_servingPLMN = -1; /* PLMN_Identity */ static int hf_x2ap_equivalentPLMNs = -1; /* EPLMNs */ static int hf_x2ap_forbiddenTAs = -1; /* ForbiddenTAs */ @@ -768,6 +998,9 @@ static int hf_x2ap_m1periodicReporting = -1; /* M1PeriodicReporting */ static int hf_x2ap_MDTPLMNList_item = -1; /* PLMN_Identity */ static int hf_x2ap_threshold_RSRP = -1; /* Threshold_RSRP */ static int hf_x2ap_threshold_RSRQ = -1; /* Threshold_RSRQ */ +static int hf_x2ap_eUTRA_Cell_ID = -1; /* ECGI */ +static int hf_x2ap_uLCoordinationInformation = -1; /* BIT_STRING_SIZE_6_4400_ */ +static int hf_x2ap_dLCoordinationInformation = -1; /* BIT_STRING_SIZE_6_4400_ */ static int hf_x2ap_MBMS_Service_Area_Identity_List_item = -1; /* MBMS_Service_Area_Identity */ static int hf_x2ap_MBSFN_Subframe_Infolist_item = -1; /* MBSFN_Subframe_Info */ static int hf_x2ap_radioframeAllocationPeriod = -1; /* RadioframeAllocationPeriod */ @@ -778,14 +1011,23 @@ static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */ static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */ static int hf_x2ap_MultibandInfoList_item = -1; /* BandInfo */ static int hf_x2ap_freqBandIndicator = -1; /* FreqBandIndicator */ +static int hf_x2ap_rrcContainer = -1; /* T_rrcContainer */ +static int hf_x2ap_srbType = -1; /* SRBType */ +static int hf_x2ap_deliveryStatus = -1; /* DeliveryStatus */ +static int hf_x2ap_uENRMeasurements = -1; /* T_uENRMeasurements */ static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */ static int hf_x2ap_pCI = -1; /* PCI */ static int hf_x2ap_eARFCN = -1; /* EARFCN */ +static int hf_x2ap_nRcellIdentifier = -1; /* NRCellIdentifier */ +static int hf_x2ap_nRencryptionAlgorithms = -1; /* NRencryptionAlgorithms */ +static int hf_x2ap_nRintegrityProtectionAlgorithms = -1; /* NRintegrityProtectionAlgorithms */ 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_plmnListforQMC = -1; /* PLMNListforQMC */ +static int hf_x2ap_PLMNListforQMC_item = -1; /* PLMN_Identity */ static int hf_x2ap_proSeDirectDiscovery = -1; /* ProSeDirectDiscovery */ static int hf_x2ap_proSeDirectCommunication = -1; /* ProSeDirectCommunication */ static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */ @@ -809,6 +1051,9 @@ static int hf_x2ap_RSRPMRList_item = -1; /* RSRPMRList_item */ static int hf_x2ap_rSRPMeasurementResult = -1; /* RSRPMeasurementResult */ static int hf_x2ap_dLS1TNLLoadIndicator = -1; /* LoadIndicator */ static int hf_x2ap_uLS1TNLLoadIndicator = -1; /* LoadIndicator */ +static int hf_x2ap_SecondaryRATUsageReportList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_secondaryRATType = -1; /* T_secondaryRATType */ +static int hf_x2ap_e_RABUsageReportList = -1; /* E_RABUsageReportList */ static int hf_x2ap_ServedCells_item = -1; /* ServedCells_item */ static int hf_x2ap_servedCellInfo = -1; /* ServedCell_Information */ static int hf_x2ap_neighbour_Info = -1; /* Neighbour_Information */ @@ -816,6 +1061,7 @@ static int hf_x2ap_cellId = -1; /* ECGI */ static int hf_x2ap_tAC = -1; /* TAC */ static int hf_x2ap_broadcastPLMNs = -1; /* BroadcastPLMNs_Item */ static int hf_x2ap_eUTRA_Mode_Info = -1; /* EUTRA_Mode_Info */ +static int hf_x2ap_nR_CGI = -1; /* NRCGI */ static int hf_x2ap_specialSubframePatterns = -1; /* SpecialSubframePatterns */ static int hf_x2ap_subbandCQICodeword0 = -1; /* SubbandCQICodeword0 */ static int hf_x2ap_subbandCQICodeword1 = -1; /* SubbandCQICodeword1 */ @@ -832,6 +1078,10 @@ static int hf_x2ap_tAListforMDT = -1; /* TAListforMDT */ static int hf_x2ap_tAIListforMDT = -1; /* TAIListforMDT */ static int hf_x2ap_TAIListforMDT_item = -1; /* TAI_Item */ static int hf_x2ap_TAListforMDT_item = -1; /* TAC */ +static int hf_x2ap_tAListforQMC = -1; /* TAListforQMC */ +static int hf_x2ap_TAListforQMC_item = -1; /* TAC */ +static int hf_x2ap_tAIListforQMC = -1; /* TAIListforQMC */ +static int hf_x2ap_TAIListforQMC_item = -1; /* TAI_Item */ static int hf_x2ap_transmission_Bandwidth = -1; /* Transmission_Bandwidth */ static int hf_x2ap_subframeAssignment = -1; /* SubframeAssignment */ static int hf_x2ap_specialSubframe_Info = -1; /* SpecialSubframe_Info */ @@ -842,10 +1092,13 @@ static int hf_x2ap_traceCollectionEntityIPAddress = -1; /* TraceCollectionEntit static int hf_x2ap_uDP_Port_Number = -1; /* Port_Number */ static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */ static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */ +static int hf_x2ap_containerForAppLayerMeasConfig = -1; /* OCTET_STRING_SIZE_1_1000 */ +static int hf_x2ap_areaScopeOfQMC = -1; /* AreaScopeOfQMC */ 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_PDCP = -1; /* UL_UE_Configuration */ 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 */ @@ -880,6 +1133,8 @@ 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_source_GlobalSgNB_ID = -1; /* GlobalGNB_ID */ +static int hf_x2ap_sgNB_UE_X2AP_ID = -1; /* SgNB_UE_X2AP_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 */ @@ -966,6 +1221,113 @@ static int hf_x2ap_managBasedMDTallowed = -1; /* ManagementBasedMDTallowed * static int hf_x2ap_managBasedMDTPLMNList = -1; /* MDTPLMNList */ static int hf_x2ap_E_RABs_ToBeSetup_ListRetrieve_item = -1; /* ProtocolIE_Single_Container */ static int hf_x2ap_bearerType = -1; /* BearerType */ +static int hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_en_DC_ResourceConfiguration = -1; /* EN_DC_ResourceConfiguration */ +static int hf_x2ap_resource_configuration = -1; /* T_resource_configuration */ +static int hf_x2ap_sgNBPDCPpresent = -1; /* E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent = -1; /* E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_full_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_meNB_DL_GTP_TEIDatMCG = -1; /* GTPtunnelEndpoint */ +static int hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_meNB_UL_GTP_TEIDatPDCP = -1; /* GTPtunnelEndpoint */ +static int hf_x2ap_rlc_Mode = -1; /* RLCMode */ +static int hf_x2ap_uL_Configuration = -1; /* ULConfiguration */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_01 = -1; /* T_resource_configuration_01 */ +static int hf_x2ap_sgNBPDCPpresent_01 = -1; /* E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_01 = -1; /* E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_sgNB_UL_GTP_TEIDatPDCP = -1; /* GTPtunnelEndpoint */ +static int hf_x2ap_mCG_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_sgNB_DL_GTP_TEIDatSCG = -1; /* GTPtunnelEndpoint */ +static int hf_x2ap_success_SgNBReconfComp = -1; /* ResponseInformationSgNBReconfComp_SuccessItem */ +static int hf_x2ap_reject_by_MeNB_SgNBReconfComp = -1; /* ResponseInformationSgNBReconfComp_RejectByMeNBItem */ +static int hf_x2ap_meNBtoSgNBContainer = -1; /* MeNBtoSgNBContainer */ +static int hf_x2ap_nRUE_SecurityCapabilities = -1; /* NRUESecurityCapabilities */ +static int hf_x2ap_sgNB_SecurityKey = -1; /* SgNBSecurityKey */ +static int hf_x2ap_sgNBUEAggregateMaximumBitRate = -1; /* UEAggregateMaximumBitRate */ +static int hf_x2ap_e_RABs_ToBeAdded_01 = -1; /* E_RABs_ToBeAdded_SgNBModReq_List */ +static int hf_x2ap_e_RABs_ToBeModified_01 = -1; /* E_RABs_ToBeModified_SgNBModReq_List */ +static int hf_x2ap_e_RABs_ToBeReleased_01 = -1; /* E_RABs_ToBeReleased_SgNBModReq_List */ +static int hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_02 = -1; /* T_resource_configuration_02 */ +static int hf_x2ap_sgNBPDCPpresent_02 = -1; /* E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_02 = -1; /* E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_03 = -1; /* T_resource_configuration_03 */ +static int hf_x2ap_sgNBPDCPpresent_03 = -1; /* E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_03 = -1; /* E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_04 = -1; /* T_resource_configuration_04 */ +static int hf_x2ap_sgNBPDCPpresent_04 = -1; /* E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_04 = -1; /* E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_05 = -1; /* T_resource_configuration_05 */ +static int hf_x2ap_sgNBPDCPpresent_05 = -1; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_05 = -1; /* E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_06 = -1; /* T_resource_configuration_06 */ +static int hf_x2ap_sgNBPDCPpresent_06 = -1; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_06 = -1; /* E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_07 = -1; /* T_resource_configuration_07 */ +static int hf_x2ap_sgNBPDCPpresent_07 = -1; /* E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_07 = -1; /* E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_08 = -1; /* T_resource_configuration_08 */ +static int hf_x2ap_sgNBPDCPpresent_08 = -1; /* E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_08 = -1; /* E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters = -1; /* E_RAB_Level_QoS_Parameters */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_09 = -1; /* T_resource_configuration_09 */ +static int hf_x2ap_sgNBPDCPpresent_09 = -1; /* E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_09 = -1; /* E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_10 = -1; /* T_resource_configuration_10 */ +static int hf_x2ap_sgNBPDCPpresent_10 = -1; /* E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_10 = -1; /* E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_resource_configuration_11 = -1; /* T_resource_configuration_11 */ +static int hf_x2ap_sgNBPDCPpresent_11 = -1; /* E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent */ +static int hf_x2ap_sgNBPDCPnotpresent_11 = -1; /* E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent */ +static int hf_x2ap_init_eNB = -1; /* ProtocolIE_Container */ +static int hf_x2ap_init_en_gNB = -1; /* ProtocolIE_Container */ +static int hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item = -1; /* ServedEUTRAcellsENDCX2ManagementList_item */ +static int hf_x2ap_servedEUTRACellInfo = -1; /* ServedCell_Information */ +static int hf_x2ap_nrNeighbourInfo = -1; /* NRNeighbour_Information */ +static int hf_x2ap_ServedNRcellsENDCX2ManagementList_item = -1; /* ServedNRcellsENDCX2ManagementList_item */ +static int hf_x2ap_servedNRCellInfo = -1; /* ServedNRCell_Information */ +static int hf_x2ap_nRNeighbourInfo = -1; /* NRNeighbour_Information */ +static int hf_x2ap_nrpCI = -1; /* NRPCI */ +static int hf_x2ap_nrCellID = -1; /* NRCGI */ +static int hf_x2ap_nrModeInfo = -1; /* T_nrModeInfo */ +static int hf_x2ap_fdd_02 = -1; /* FDD_InfoServedNRCell_Information */ +static int hf_x2ap_tdd_02 = -1; /* TDD_InfoServedNRCell_Information */ +static int hf_x2ap_ul_NR_ARFCN = -1; /* NRARFCN */ +static int hf_x2ap_dl_NR_ARFCN = -1; /* NRARFCN */ +static int hf_x2ap_ul_NR_TxBW = -1; /* NR_TxBW */ +static int hf_x2ap_dl_NR_TxBW = -1; /* NR_TxBW */ +static int hf_x2ap_nR_ARFCN = -1; /* NRARFCN */ +static int hf_x2ap_nR_TxBW = -1; /* NR_TxBW */ +static int hf_x2ap_NRNeighbour_Information_item = -1; /* NRNeighbour_Information_item */ +static int hf_x2ap_nrARFCN = -1; /* NRARFCN */ +static int hf_x2ap_full_list = -1; /* T_full_list */ +static int hf_x2ap_respond_eNB = -1; /* ProtocolIE_Container */ +static int hf_x2ap_respond_en_gNB = -1; /* ProtocolIE_Container */ +static int hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item = -1; /* ServedEUTRAcellsToModifyListENDCConfUpd_item */ +static int hf_x2ap_old_ECGI = -1; /* ECGI */ +static int hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item = -1; /* ECGI */ +static int hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item = -1; /* ServedNRCellsToModify_Item */ +static int hf_x2ap_old_nrcgi = -1; /* NRCGI */ +static int hf_x2ap_servedNRCellInformation = -1; /* ServedNRCell_Information */ +static int hf_x2ap_nrNeighbourInformation = -1; /* NRNeighbour_Information */ +static int hf_x2ap_nrDeactivationIndication = -1; /* DeactivationIndication */ +static int hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item = -1; /* NRCGI */ +static int hf_x2ap_ServedNRCellsToActivate_item = -1; /* ServedNRCellsToActivate_Item */ +static int hf_x2ap_ActivatedNRCellList_item = -1; /* ActivatedNRCellList_Item */ static int hf_x2ap_initiatingMessage = -1; /* InitiatingMessage */ static int hf_x2ap_successfulOutcome = -1; /* SuccessfulOutcome */ static int hf_x2ap_unsuccessfulOutcome = -1; /* UnsuccessfulOutcome */ @@ -974,7 +1336,7 @@ static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */ static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */ /*--- End of included file: packet-x2ap-hf.c ---*/ -#line 115 "./asn1/x2ap/packet-x2ap-template.c" +#line 125 "./asn1/x2ap/packet-x2ap-template.c" /* Initialize the subtree pointers */ static int ett_x2ap = -1; @@ -998,6 +1360,11 @@ static int ett_x2ap_MeasurementsToActivate = -1; static int ett_x2ap_MDT_Location_Info = -1; static int ett_x2ap_transmissionModes = -1; static int ett_x2ap_X2AP_Message = -1; +static int ett_x2ap_MeNBtoSgNBContainer = -1; +static int ett_x2ap_SgNBtoMeNBContainer = -1; +static int ett_x2ap_RRCContainer = -1; +static int ett_x2ap_NRencryptionAlgorithms = -1; +static int ett_x2ap_NRintegrityProtectionAlgorithms = -1; /*--- Included file: packet-x2ap-ett.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ett.c" @@ -1016,11 +1383,14 @@ 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_AreaScopeOfQMC = -1; static gint ett_x2ap_AS_SecurityInformation = -1; static gint ett_x2ap_BroadcastPLMNs_Item = -1; static gint ett_x2ap_Cause = -1; static gint ett_x2ap_CellBasedMDT = -1; +static gint ett_x2ap_CellBasedQMC = -1; static gint ett_x2ap_CellIdListforMDT = -1; +static gint ett_x2ap_CellIdListforQMC = -1; static gint ett_x2ap_CellReplacingInfo = -1; static gint ett_x2ap_CellType = -1; static gint ett_x2ap_CoMPHypothesisSet = -1; @@ -1046,6 +1416,7 @@ static gint ett_x2ap_CSIReportPerCSIProcess = -1; static gint ett_x2ap_CSIReportPerCSIProcess_item = -1; static gint ett_x2ap_CSIReportPerCSIProcessItem = -1; static gint ett_x2ap_CSIReportPerCSIProcessItem_item = -1; +static gint ett_x2ap_DeliveryStatus = -1; static gint ett_x2ap_DynamicDLTransmissionInformation = -1; static gint ett_x2ap_DynamicNAICSInformation = -1; static gint ett_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values = -1; @@ -1053,10 +1424,13 @@ static gint ett_x2ap_ECGI = -1; static gint ett_x2ap_EnhancedRNTP = -1; static gint ett_x2ap_EnhancedRNTPStartTime = -1; static gint ett_x2ap_ENB_ID = -1; +static gint ett_x2ap_EN_DC_ResourceConfiguration = -1; static gint ett_x2ap_EPLMNs = -1; static gint ett_x2ap_E_RAB_Level_QoS_Parameters = -1; static gint ett_x2ap_E_RAB_List = -1; static gint ett_x2ap_E_RAB_Item = -1; +static gint ett_x2ap_E_RABUsageReportList = -1; +static gint ett_x2ap_E_RABUsageReport_Item = -1; static gint ett_x2ap_EUTRA_Mode_Info = -1; static gint ett_x2ap_ExpectedUEBehaviour = -1; static gint ett_x2ap_ExpectedUEActivityBehaviour = -1; @@ -1070,10 +1444,12 @@ static gint ett_x2ap_ForbiddenLAs_Item = -1; static gint ett_x2ap_ForbiddenLACs = -1; static gint ett_x2ap_GBR_QosInformation = -1; static gint ett_x2ap_GlobalENB_ID = -1; +static gint ett_x2ap_GlobalGNB_ID = -1; static gint ett_x2ap_GTPtunnelEndpoint = -1; static gint ett_x2ap_GUGroupIDList = -1; static gint ett_x2ap_GU_Group_ID = -1; static gint ett_x2ap_GUMMEI = -1; +static gint ett_x2ap_GNB_ID = -1; static gint ett_x2ap_HandoverRestrictionList = -1; static gint ett_x2ap_HWLoadIndicator = -1; static gint ett_x2ap_LastVisitedCell_Item = -1; @@ -1090,6 +1466,7 @@ static gint ett_x2ap_M7Configuration = -1; static gint ett_x2ap_MDT_Configuration = -1; static gint ett_x2ap_MDTPLMNList = -1; static gint ett_x2ap_MeasurementThresholdA2 = -1; +static gint ett_x2ap_MeNBResourceCoordinationInformation = -1; static gint ett_x2ap_MBMS_Service_Area_Identity_List = -1; static gint ett_x2ap_MBSFN_Subframe_Infolist = -1; static gint ett_x2ap_MBSFN_Subframe_Info = -1; @@ -1097,9 +1474,15 @@ static gint ett_x2ap_MobilityParametersModificationRange = -1; static gint ett_x2ap_MobilityParametersInformation = -1; static gint ett_x2ap_MultibandInfoList = -1; static gint ett_x2ap_BandInfo = -1; +static gint ett_x2ap_MCGSplitSRB = -1; +static gint ett_x2ap_UENRMeasurement = -1; static gint ett_x2ap_Neighbour_Information = -1; static gint ett_x2ap_Neighbour_Information_item = -1; +static gint ett_x2ap_NRCGI = -1; +static gint ett_x2ap_NRUESecurityCapabilities = -1; static gint ett_x2ap_PRACH_Configuration = -1; +static gint ett_x2ap_PLMNAreaBasedQMC = -1; +static gint ett_x2ap_PLMNListforQMC = -1; static gint ett_x2ap_ProSeAuthorized = -1; static gint ett_x2ap_RadioResourceStatus = -1; static gint ett_x2ap_RelativeNarrowbandTxPower = -1; @@ -1111,9 +1494,12 @@ static gint ett_x2ap_RSRPMeasurementResult_item = -1; static gint ett_x2ap_RSRPMRList = -1; static gint ett_x2ap_RSRPMRList_item = -1; static gint ett_x2ap_S1TNLLoadIndicator = -1; +static gint ett_x2ap_SecondaryRATUsageReportList = -1; +static gint ett_x2ap_SecondaryRATUsageReport_Item = -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_SgNBResourceCoordinationInformation = -1; static gint ett_x2ap_SpecialSubframe_Info = -1; static gint ett_x2ap_SubbandCQI = -1; static gint ett_x2ap_SubbandCQICodeword0 = -1; @@ -1126,13 +1512,19 @@ static gint ett_x2ap_TAIBasedMDT = -1; static gint ett_x2ap_TAIListforMDT = -1; static gint ett_x2ap_TAI_Item = -1; static gint ett_x2ap_TAListforMDT = -1; +static gint ett_x2ap_TABasedQMC = -1; +static gint ett_x2ap_TAListforQMC = -1; +static gint ett_x2ap_TAIBasedQMC = -1; +static gint ett_x2ap_TAIListforQMC = -1; static gint ett_x2ap_TDD_Info = -1; static gint ett_x2ap_TraceActivation = -1; static gint ett_x2ap_TunnelInformation = -1; static gint ett_x2ap_UEAggregateMaximumBitRate = -1; +static gint ett_x2ap_UEAppLayerMeasConfig = -1; static gint ett_x2ap_UE_HistoryInformation = -1; static gint ett_x2ap_UESecurityCapabilities = -1; static gint ett_x2ap_UESidelinkAggregateMaximumBitRate = -1; +static gint ett_x2ap_ULConfiguration = -1; static gint ett_x2ap_UL_HighInterferenceIndicationInfo = -1; static gint ett_x2ap_UL_HighInterferenceIndicationInfo_Item = -1; static gint ett_x2ap_UL_InterferenceOverloadIndication = -1; @@ -1150,6 +1542,7 @@ 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_UE_ContextReferenceAtSgNB = -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; @@ -1275,17 +1668,148 @@ static gint ett_x2ap_UE_ContextInformationRetrieve = -1; static gint ett_x2ap_E_RABs_ToBeSetup_ListRetrieve = -1; static gint ett_x2ap_E_RABs_ToBeSetupRetrieve_Item = -1; static gint ett_x2ap_RetrieveUEContextFailure = -1; +static gint ett_x2ap_SgNBAdditionRequest = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReqList = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item = -1; +static gint ett_x2ap_T_resource_configuration = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBAdditionRequestAcknowledge = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item = -1; +static gint ett_x2ap_T_resource_configuration_01 = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBAdditionRequestReject = -1; +static gint ett_x2ap_SgNBReconfigurationComplete = -1; +static gint ett_x2ap_ResponseInformationSgNBReconfComp = -1; +static gint ett_x2ap_ResponseInformationSgNBReconfComp_SuccessItem = -1; +static gint ett_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem = -1; +static gint ett_x2ap_SgNBModificationRequest = -1; +static gint ett_x2ap_UE_ContextInformation_SgNBModReq = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_List = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item = -1; +static gint ett_x2ap_T_resource_configuration_02 = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_List = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item = -1; +static gint ett_x2ap_T_resource_configuration_03 = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_List = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item = -1; +static gint ett_x2ap_T_resource_configuration_04 = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBModificationRequestAcknowledge = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item = -1; +static gint ett_x2ap_T_resource_configuration_05 = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item = -1; +static gint ett_x2ap_T_resource_configuration_06 = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList = -1; +static gint ett_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item = -1; +static gint ett_x2ap_T_resource_configuration_07 = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBModificationRequestReject = -1; +static gint ett_x2ap_SgNBModificationRequired = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReqdList = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqdList = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item = -1; +static gint ett_x2ap_T_resource_configuration_08 = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBModificationConfirm = -1; +static gint ett_x2ap_SgNBModificationRefuse = -1; +static gint ett_x2ap_SgNBReleaseRequest = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqList = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item = -1; +static gint ett_x2ap_T_resource_configuration_09 = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBReleaseRequestAcknowledge = -1; +static gint ett_x2ap_SgNBReleaseRequestReject = -1; +static gint ett_x2ap_SgNBReleaseRequired = -1; +static gint ett_x2ap_SgNBReleaseConfirm = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConfList = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item = -1; +static gint ett_x2ap_T_resource_configuration_10 = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_SgNBCounterCheckRequest = -1; +static gint ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_List = -1; +static gint ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item = -1; +static gint ett_x2ap_SgNBChangeRequired = -1; +static gint ett_x2ap_SgNBChangeConfirm = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConfList = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item = -1; +static gint ett_x2ap_T_resource_configuration_11 = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent = -1; +static gint ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent = -1; +static gint ett_x2ap_RRCTransfer = -1; +static gint ett_x2ap_SgNBChangeRefuse = -1; +static gint ett_x2ap_ENDCX2SetupRequest = -1; +static gint ett_x2ap_InitiatingNodeType_EndcX2Setup = -1; +static gint ett_x2ap_ServedEUTRAcellsENDCX2ManagementList = -1; +static gint ett_x2ap_ServedEUTRAcellsENDCX2ManagementList_item = -1; +static gint ett_x2ap_ServedNRcellsENDCX2ManagementList = -1; +static gint ett_x2ap_ServedNRcellsENDCX2ManagementList_item = -1; +static gint ett_x2ap_ServedNRCell_Information = -1; +static gint ett_x2ap_T_nrModeInfo = -1; +static gint ett_x2ap_FDD_InfoServedNRCell_Information = -1; +static gint ett_x2ap_TDD_InfoServedNRCell_Information = -1; +static gint ett_x2ap_NRNeighbour_Information = -1; +static gint ett_x2ap_NRNeighbour_Information_item = -1; +static gint ett_x2ap_CellAssistanceInformation = -1; +static gint ett_x2ap_ENDCX2SetupResponse = -1; +static gint ett_x2ap_RespondingNodeType_EndcX2Setup = -1; +static gint ett_x2ap_ENDCX2SetupFailure = -1; +static gint ett_x2ap_ENDCConfigurationUpdate = -1; +static gint ett_x2ap_InitiatingNodeType_EndcConfigUpdate = -1; +static gint ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd = -1; +static gint ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item = -1; +static gint ett_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd = -1; +static gint ett_x2ap_ServedNRcellsToModifyENDCConfUpdList = -1; +static gint ett_x2ap_ServedNRCellsToModify_Item = -1; +static gint ett_x2ap_ServedNRcellsToDeleteENDCConfUpdList = -1; +static gint ett_x2ap_ENDCConfigurationUpdateAcknowledge = -1; +static gint ett_x2ap_RespondingNodeType_EndcConfigUpdate = -1; +static gint ett_x2ap_ENDCConfigurationUpdateFailure = -1; +static gint ett_x2ap_ENDCCellActivationRequest = -1; +static gint ett_x2ap_ServedNRCellsToActivate = -1; +static gint ett_x2ap_ServedNRCellsToActivate_Item = -1; +static gint ett_x2ap_ENDCCellActivationResponse = -1; +static gint ett_x2ap_ActivatedNRCellList = -1; +static gint ett_x2ap_ActivatedNRCellList_Item = -1; +static gint ett_x2ap_ENDCCellActivationFailure = -1; +static gint ett_x2ap_SecondaryRATDataUsageReport = -1; static gint ett_x2ap_X2AP_PDU = -1; static gint ett_x2ap_InitiatingMessage = -1; static gint ett_x2ap_SuccessfulOutcome = -1; static gint ett_x2ap_UnsuccessfulOutcome = -1; /*--- End of included file: packet-x2ap-ett.c ---*/ -#line 139 "./asn1/x2ap/packet-x2ap-template.c" +#line 154 "./asn1/x2ap/packet-x2ap-template.c" + +typedef enum { + RRC_CONTAINER_TYPE_UNKNOWN, + RRC_CONTAINER_TYPE_PDCP_C_PDU, + RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT +} rrc_container_type_e; struct x2ap_private_data { guint32 procedure_code; guint32 protocol_ie_id; + guint32 triggering_message; + rrc_container_type_e rrc_container_type; }; enum { @@ -1460,6 +1984,19 @@ static const value_string x2ap_ProcedureCode_vals[] = { { id_seNBinitiatedSeNBRelease, "id-seNBinitiatedSeNBRelease" }, { id_seNBCounterCheck, "id-seNBCounterCheck" }, { id_retrieveUEContext, "id-retrieveUEContext" }, + { id_sgNBAdditionPreparation, "id-sgNBAdditionPreparation" }, + { id_sgNBReconfigurationCompletion, "id-sgNBReconfigurationCompletion" }, + { id_meNBinitiatedSgNBModificationPreparation, "id-meNBinitiatedSgNBModificationPreparation" }, + { id_sgNBinitiatedSgNBModification, "id-sgNBinitiatedSgNBModification" }, + { id_meNBinitiatedSgNBRelease, "id-meNBinitiatedSgNBRelease" }, + { id_sgNBinitiatedSgNBRelease, "id-sgNBinitiatedSgNBRelease" }, + { id_sgNBCounterCheck, "id-sgNBCounterCheck" }, + { id_sgNBChange, "id-sgNBChange" }, + { id_rRCTransfer, "id-rRCTransfer" }, + { id_endcX2Setup, "id-endcX2Setup" }, + { id_endcConfigurationUpdate, "id-endcConfigurationUpdate" }, + { id_secondaryRATDataUsageReport, "id-secondaryRATDataUsageReport" }, + { id_endcCellActivation, "id-endcCellActivation" }, { 0, NULL } }; @@ -1468,13 +2005,14 @@ static value_string_ext x2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(x2ap static int dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 65 "./asn1/x2ap/x2ap.cnf" +#line 66 "./asn1/x2ap/x2ap.cnf" struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &x2ap_data->procedure_code, FALSE); + return offset; } @@ -1666,6 +2204,89 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = { { id_WT_UE_ContextKeptIndicator, "id-WT-UE-ContextKeptIndicator" }, { id_UESidelinkAggregateMaximumBitRate, "id-UESidelinkAggregateMaximumBitRate" }, { id_uL_GTPtunnelEndpoint, "id-uL-GTPtunnelEndpoint" }, + { id_Unknown_186, "id-Unknown-186" }, + { id_Unknown_187, "id-Unknown-187" }, + { id_Unknown_188, "id-Unknown-188" }, + { id_Unknown_189, "id-Unknown-189" }, + { id_Unknown_190, "id-Unknown-190" }, + { id_Unknown_191, "id-Unknown-191" }, + { id_Unknown_192, "id-Unknown-192" }, + { id_DL_scheduling_PDCCH_CCE_usage, "id-DL-scheduling-PDCCH-CCE-usage" }, + { id_UL_scheduling_PDCCH_CCE_usage, "id-UL-scheduling-PDCCH-CCE-usage" }, + { id_UEAppLayerMeasConfig, "id-UEAppLayerMeasConfig" }, + { id_extended_e_RAB_MaximumBitrateDL, "id-extended-e-RAB-MaximumBitrateDL" }, + { id_extended_e_RAB_MaximumBitrateUL, "id-extended-e-RAB-MaximumBitrateUL" }, + { id_extended_e_RAB_GuaranteedBitrateDL, "id-extended-e-RAB-GuaranteedBitrateDL" }, + { id_extended_e_RAB_GuaranteedBitrateUL, "id-extended-e-RAB-GuaranteedBitrateUL" }, + { id_extended_uEaggregateMaximumBitRateDownlink, "id-extended-uEaggregateMaximumBitRateDownlink" }, + { id_extended_uEaggregateMaximumBitRateUplink, "id-extended-uEaggregateMaximumBitRateUplink" }, + { id_NRrestriction, "id-NRrestriction" }, + { id_SgNBSecurityKey, "id-SgNBSecurityKey" }, + { id_SgNBUEAggregateMaximumBitRate, "id-SgNBUEAggregateMaximumBitRate" }, + { id_E_RABs_ToBeAdded_SgNBAddReqList, "id-E-RABs-ToBeAdded-SgNBAddReqList" }, + { id_MeNBtoSgNBContainer, "id-MeNBtoSgNBContainer" }, + { id_SgNB_UE_X2AP_ID, "id-SgNB-UE-X2AP-ID" }, + { id_RequestedMCGSplitSRBs, "id-RequestedMCGSplitSRBs" }, + { id_E_RABs_ToBeAdded_SgNBAddReq_Item, "id-E-RABs-ToBeAdded-SgNBAddReq-Item" }, + { id_E_RABs_Admitted_ToBeAdded_SgNBAddResList, "id-E-RABs-Admitted-ToBeAdded-SgNBAddResList" }, + { id_SgNBtoMeNBContainer, "id-SgNBtoMeNBContainer" }, + { id_AdmittedMCGSplitSRBs, "id-AdmittedMCGSplitSRBs" }, + { id_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item, "id-E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item" }, + { id_ResponseInformationSgNBReconfComp, "id-ResponseInformationSgNBReconfComp" }, + { id_UE_ContextInformation_SgNBModReq, "id-UE-ContextInformation-SgNBModReq" }, + { id_E_RABs_ToBeAdded_SgNBModReq_Item, "id-E-RABs-ToBeAdded-SgNBModReq-Item" }, + { id_E_RABs_ToBeModified_SgNBModReq_Item, "id-E-RABs-ToBeModified-SgNBModReq-Item" }, + { id_E_RABs_ToBeReleased_SgNBModReq_Item, "id-E-RABs-ToBeReleased-SgNBModReq-Item" }, + { id_E_RABs_Admitted_ToBeAdded_SgNBModAckList, "id-E-RABs-Admitted-ToBeAdded-SgNBModAckList" }, + { id_E_RABs_Admitted_ToBeModified_SgNBModAckList, "id-E-RABs-Admitted-ToBeModified-SgNBModAckList" }, + { id_E_RABs_Admitted_ToBeReleased_SgNBModAckList, "id-E-RABs-Admitted-ToBeReleased-SgNBModAckList" }, + { id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeAdded-SgNBModAck-Item" }, + { id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeModified-SgNBModAck-Item" }, + { id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item, "id-E-RABs-Admitted-ToBeReleased-SgNBModAck-Item" }, + { id_E_RABs_ToBeReleased_SgNBModReqdList, "id-E-RABs-ToBeReleased-SgNBModReqdList" }, + { id_E_RABs_ToBeModified_SgNBModReqdList, "id-E-RABs-ToBeModified-SgNBModReqdList" }, + { id_E_RABs_ToBeReleased_SgNBModReqd_Item, "id-E-RABs-ToBeReleased-SgNBModReqd-Item" }, + { id_E_RABs_ToBeModified_SgNBModReqd_Item, "id-E-RABs-ToBeModified-SgNBModReqd-Item" }, + { id_E_RABs_ToBeReleased_SgNBChaConfList, "id-E-RABs-ToBeReleased-SgNBChaConfList" }, + { id_E_RABs_ToBeReleased_SgNBChaConf_Item, "id-E-RABs-ToBeReleased-SgNBChaConf-Item" }, + { id_E_RABs_ToBeReleased_SgNBRelReqList, "id-E-RABs-ToBeReleased-SgNBRelReqList" }, + { id_E_RABs_ToBeReleased_SgNBRelReq_Item, "id-E-RABs-ToBeReleased-SgNBRelReq-Item" }, + { id_E_RABs_ToBeReleased_SgNBRelConfList, "id-E-RABs-ToBeReleased-SgNBRelConfList" }, + { id_E_RABs_ToBeReleased_SgNBRelConf_Item, "id-E-RABs-ToBeReleased-SgNBRelConf-Item" }, + { id_E_RABs_SubjectToSgNBCounterCheck_List, "id-E-RABs-SubjectToSgNBCounterCheck-List" }, + { id_E_RABs_SubjectToSgNBCounterCheck_Item, "id-E-RABs-SubjectToSgNBCounterCheck-Item" }, + { id_RRCContainer, "id-RRCContainer" }, + { id_SRBType, "id-SRBType" }, + { id_Target_SgNB_ID, "id-Target-SgNB-ID" }, + { id_HandoverRestrictionList, "id-HandoverRestrictionList" }, + { id_SCGConfigurationQuery, "id-SCGConfigurationQuery" }, + { id_MCGSplitSRB, "id-MCGSplitSRB" }, + { id_UENRMeasurement, "id-UENRMeasurement" }, + { id_InitiatingNodeType_EndcX2Setup, "id-InitiatingNodeType-EndcX2Setup" }, + { id_InitiatingNodeType_EndcConfigUpdate, "id-InitiatingNodeType-EndcConfigUpdate" }, + { id_RespondingNodeType_EndcX2Setup, "id-RespondingNodeType-EndcX2Setup" }, + { id_RespondingNodeType_EndcConfigUpdate, "id-RespondingNodeType-EndcConfigUpdate" }, + { id_NRUESecurityCapabilities, "id-NRUESecurityCapabilities" }, + { id_PDCPChangeIndication, "id-PDCPChangeIndication" }, + { id_ServedEUTRAcellsENDCX2ManagementList, "id-ServedEUTRAcellsENDCX2ManagementList" }, + { id_CellAssistanceInformation, "id-CellAssistanceInformation" }, + { id_Globalen_gNB_ID, "id-Globalen-gNB-ID" }, + { id_ServedNRcellsENDCX2ManagementList, "id-ServedNRcellsENDCX2ManagementList" }, + { id_UE_ContextReferenceAtSgNB, "id-UE-ContextReferenceAtSgNB" }, + { id_SecondaryRATUsageReport, "id-SecondaryRATUsageReport" }, + { id_ActivationID, "id-ActivationID" }, + { id_MeNBResourceCoordinationInformation, "id-MeNBResourceCoordinationInformation" }, + { id_SgNBResourceCoordinationInformation, "id-SgNBResourceCoordinationInformation" }, + { id_ServedEUTRAcellsToModifyListENDCConfUpd, "id-ServedEUTRAcellsToModifyListENDCConfUpd" }, + { id_ServedEUTRAcellsToDeleteListENDCConfUpd, "id-ServedEUTRAcellsToDeleteListENDCConfUpd" }, + { id_ServedNRcellsToModifyListENDCConfUpd, "id-ServedNRcellsToModifyListENDCConfUpd" }, + { id_ServedNRcellsToDeleteListENDCConfUpd, "id-ServedNRcellsToDeleteListENDCConfUpd" }, + { id_E_RABUsageReport_Item, "id-E-RABUsageReport-Item" }, + { id_Old_SgNB_UE_X2AP_ID, "id-Old-SgNB-UE-X2AP-ID" }, + { id_SecondaryRATUsageReportList, "id-SecondaryRATUsageReportList" }, + { id_SecondaryRATUsageReport_Item, "id-SecondaryRATUsageReport-Item" }, + { id_ServedNRCellsToActivate, "id-ServedNRCellsToActivate" }, + { id_ActivatedNRCellList, "id-ActivatedNRCellList" }, { 0, NULL } }; @@ -1674,14 +2295,14 @@ static value_string_ext x2ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(x2ap static int dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 52 "./asn1/x2ap/x2ap.cnf" +#line 53 "./asn1/x2ap/x2ap.cnf" struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxProtocolIEs, &x2ap_data->protocol_ie_id, FALSE); -#line 55 "./asn1/x2ap/x2ap.cnf" +#line 56 "./asn1/x2ap/x2ap.cnf" if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(x2ap_data->protocol_ie_id, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)")); } @@ -1691,17 +2312,21 @@ dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const value_string x2ap_TriggeringMessage_vals[] = { - { 0, "initiating-message" }, - { 1, "successful-outcome" }, - { 2, "unsuccessful-outcome" }, + { initiating_message, "initiating-message" }, + { successful_outcome, "successful-outcome" }, + { unsuccessful_outcome, "unsuccessful-outcome" }, { 0, NULL } }; static int dissect_x2ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 70 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); + 3, &x2ap_data->triggering_message, FALSE, 0, NULL); + + return offset; } @@ -2032,6 +2657,16 @@ dissect_x2ap_ABS_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } + +static int +dissect_x2ap_ActivationID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + return offset; +} + + static const value_string x2ap_AdditionalSpecialSubframePatterns_vals[] = { { 0, "ssp0" }, { 1, "ssp1" }, @@ -2207,7 +2842,7 @@ dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a 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 299 "./asn1/x2ap/x2ap.cnf" +#line 352 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; @@ -2288,7 +2923,7 @@ dissect_x2ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U 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_) { -#line 283 "./asn1/x2ap/x2ap.cnf" +#line 336 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -2403,6 +3038,148 @@ dissect_x2ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t CellIdListforQMC_sequence_of[1] = { + { &hf_x2ap_CellIdListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, +}; + +static int +dissect_x2ap_CellIdListforQMC(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_CellIdListforQMC, CellIdListforQMC_sequence_of, + 1, maxnoofCellIDforQMC, FALSE); + + return offset; +} + + +static const per_sequence_t CellBasedQMC_sequence[] = { + { &hf_x2ap_cellIdListforQMC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CellIdListforQMC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CellBasedQMC(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_CellBasedQMC, CellBasedQMC_sequence); + + return offset; +} + + +static const per_sequence_t TAListforQMC_sequence_of[1] = { + { &hf_x2ap_TAListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, +}; + +static int +dissect_x2ap_TAListforQMC(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_TAListforQMC, TAListforQMC_sequence_of, + 1, maxnoofTAforQMC, FALSE); + + return offset; +} + + +static const per_sequence_t TABasedQMC_sequence[] = { + { &hf_x2ap_tAListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAListforQMC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TABasedQMC(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_TABasedQMC, TABasedQMC_sequence); + + return offset; +} + + +static const per_sequence_t TAIListforQMC_sequence_of[1] = { + { &hf_x2ap_TAIListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TAI_Item }, +}; + +static int +dissect_x2ap_TAIListforQMC(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_TAIListforQMC, TAIListforQMC_sequence_of, + 1, maxnoofTAforQMC, FALSE); + + return offset; +} + + +static const per_sequence_t TAIBasedQMC_sequence[] = { + { &hf_x2ap_tAIListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAIListforQMC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TAIBasedQMC(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_TAIBasedQMC, TAIBasedQMC_sequence); + + return offset; +} + + +static const per_sequence_t PLMNListforQMC_sequence_of[1] = { + { &hf_x2ap_PLMNListforQMC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, +}; + +static int +dissect_x2ap_PLMNListforQMC(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_PLMNListforQMC, PLMNListforQMC_sequence_of, + 1, maxnoofPLMNforQMC, FALSE); + + return offset; +} + + +static const per_sequence_t PLMNAreaBasedQMC_sequence[] = { + { &hf_x2ap_plmnListforQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMNListforQMC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_PLMNAreaBasedQMC(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_PLMNAreaBasedQMC, PLMNAreaBasedQMC_sequence); + + return offset; +} + + +static const value_string x2ap_AreaScopeOfQMC_vals[] = { + { 0, "cellBased" }, + { 1, "tABased" }, + { 2, "tAIBased" }, + { 3, "pLMNAreaBased" }, + { 0, NULL } +}; + +static const per_choice_t AreaScopeOfQMC_choice[] = { + { 0, &hf_x2ap_cellBased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_CellBasedQMC }, + { 1, &hf_x2ap_tABased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_TABasedQMC }, + { 2, &hf_x2ap_tAIBased_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_TAIBasedQMC }, + { 3, &hf_x2ap_pLMNAreaBased , ASN1_EXTENSION_ROOT , dissect_x2ap_PLMNAreaBasedQMC }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_AreaScopeOfQMC(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_AreaScopeOfQMC, AreaScopeOfQMC_choice, + NULL); + + 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_) { @@ -3521,6 +4298,31 @@ dissect_x2ap_DeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } + +static int +dissect_x2ap_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4095U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t DeliveryStatus_sequence[] = { + { &hf_x2ap_highestSuccessDeliveredPDCPSN, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4095 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_DeliveryStatus(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_DeliveryStatus, DeliveryStatus_sequence); + + return offset; +} + + static const value_string x2ap_DL_Forwarding_vals[] = { { 0, "dL-forwardingProposed" }, { 0, NULL } @@ -3557,6 +4359,16 @@ dissect_x2ap_DL_non_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t +static int +dissect_x2ap_DL_scheduling_PDCCH_CCE_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, @@ -3569,7 +4381,7 @@ dissect_x2ap_DL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int dissect_x2ap_T_transmissionModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 428 "./asn1/x2ap/x2ap.cnf" +#line 481 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb, NULL); @@ -3843,7 +4655,7 @@ dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro static int dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 335 "./asn1/x2ap/x2ap.cnf" +#line 388 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, ¶meter_tvb, NULL); @@ -3866,6 +4678,71 @@ dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string x2ap_T_pDCPatSgNB_vals[] = { + { 0, "present" }, + { 1, "not-present" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_pDCPatSgNB(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_T_mCGresources_vals[] = { + { 0, "present" }, + { 1, "not-present" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_mCGresources(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_T_sCGresources_vals[] = { + { 0, "present" }, + { 1, "not-present" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_sCGresources(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 EN_DC_ResourceConfiguration_sequence[] = { + { &hf_x2ap_pDCPatSgNB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_pDCPatSgNB }, + { &hf_x2ap_mCGresources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_mCGresources }, + { &hf_x2ap_sCGresources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_sCGresources }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_EN_DC_ResourceConfiguration(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_EN_DC_ResourceConfiguration, EN_DC_ResourceConfiguration_sequence); + + return offset; +} + + static const per_sequence_t EPLMNs_sequence_of[1] = { { &hf_x2ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, }; @@ -3965,6 +4842,89 @@ dissect_x2ap_E_RAB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const per_sequence_t E_RABUsageReportList_sequence_of[1] = { + { &hf_x2ap_E_RABUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABUsageReportList(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_E_RABUsageReportList, E_RABUsageReportList_sequence_of, + 1, maxnooftimeperiods, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 548 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *timestamp_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 4, 4, FALSE, ×tamp_tvb); + + + + +#line 552 "./asn1/x2ap/x2ap.cnf" + if (timestamp_tvb) { + proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); + } + + + return offset; +} + + + +static int +dissect_x2ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 557 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *timestamp_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 4, 4, FALSE, ×tamp_tvb); + + + + +#line 561 "./asn1/x2ap/x2ap.cnf" + if (timestamp_tvb) { + proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); + } + + + return offset; +} + + + +static int +dissect_x2ap_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + +static const per_sequence_t E_RABUsageReport_Item_sequence[] = { + { &hf_x2ap_startTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_startTimeStamp }, + { &hf_x2ap_endTimeStamp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_endTimeStamp }, + { &hf_x2ap_usageCountUL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER }, + { &hf_x2ap_usageCountDL , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABUsageReport_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_E_RABUsageReport_Item, E_RABUsageReport_Item_sequence); + + return offset; +} + + static const value_string x2ap_Transmission_Bandwidth_vals[] = { { 0, "bw6" }, { 1, "bw15" }, @@ -4108,9 +5068,9 @@ dissect_x2ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 232 "./asn1/x2ap/x2ap.cnf" - tvbuff_t *parameter_tvb; - proto_tree *subtree = NULL; +#line 285 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb); @@ -4289,6 +5249,16 @@ dissect_x2ap_ExtendedULInterferenceOverloadInfo(tvbuff_t *tvb _U_, int offset _U } + +static int +dissect_x2ap_ExtendedBitRate(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, + 10000000001U, G_GUINT64_CONSTANT(4000000000000), NULL, TRUE); + + return offset; +} + + static const value_string x2ap_ForbiddenInterRATs_vals[] = { { 0, "all" }, { 1, "geran" }, @@ -4356,7 +5326,7 @@ dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 292 "./asn1/x2ap/x2ap.cnf" +#line 345 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -4468,9 +5438,55 @@ dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U +static int +dissect_x2ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 22, 32, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string x2ap_GNB_ID_vals[] = { + { 0, "gNB-ID" }, + { 0, NULL } +}; + +static const per_choice_t GNB_ID_choice[] = { + { 0, &hf_x2ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , dissect_x2ap_BIT_STRING_SIZE_22_32 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_GNB_ID, GNB_ID_choice, + NULL); + + return offset; +} + + +static const per_sequence_t GlobalGNB_ID_sequence[] = { + { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, + { &hf_x2ap_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GNB_ID }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_GlobalGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_GlobalGNB_ID, GlobalGNB_ID_sequence); + + return offset; +} + + + static int dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 95 "./asn1/x2ap/x2ap.cnf" +#line 100 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; @@ -4530,7 +5546,7 @@ dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_x2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 328 "./asn1/x2ap/x2ap.cnf" +#line 381 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -4578,7 +5594,7 @@ dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 319 "./asn1/x2ap/x2ap.cnf" +#line 372 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 1, FALSE, ¶meter_tvb); @@ -4682,7 +5698,7 @@ dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx 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_) { -#line 350 "./asn1/x2ap/x2ap.cnf" +#line 403 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, ¶meter_tvb, NULL); @@ -4708,7 +5724,7 @@ dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, as static int dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 243 "./asn1/x2ap/x2ap.cnf" +#line 296 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb, NULL); @@ -4832,7 +5848,7 @@ dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_x2ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 449 "./asn1/x2ap/x2ap.cnf" +#line 502 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 32, 256, FALSE, ¶meter_tvb); @@ -5280,7 +6296,7 @@ dissect_x2ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx 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_) { -#line 380 "./asn1/x2ap/x2ap.cnf" +#line 433 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb, NULL); @@ -5344,7 +6360,7 @@ dissect_x2ap_MDTPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int dissect_x2ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 405 "./asn1/x2ap/x2ap.cnf" +#line 458 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, ¶meter_tvb, NULL); @@ -5376,10 +6392,27 @@ dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t MeNBResourceCoordinationInformation_sequence[] = { + { &hf_x2ap_eUTRA_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, + { &hf_x2ap_uLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, + { &hf_x2ap_dLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_MeNBResourceCoordinationInformation(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_MeNBResourceCoordinationInformation, MeNBResourceCoordinationInformation_sequence); + + return offset; +} + + static int dissect_x2ap_MeNBtoSeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 214 "./asn1/x2ap/x2ap.cnf" +#line 219 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5582,6 +6615,152 @@ dissect_x2ap_MultibandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac +static int +dissect_x2ap_MeNBtoSgNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 237 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_MeNBtoSgNBContainer); + if ((x2ap_data->procedure_code == id_sgNBReconfigurationCompletion && + x2ap_data->triggering_message == initiating_message) || + (x2ap_data->procedure_code == id_sgNBinitiatedSgNBModification && + x2ap_data->triggering_message == successful_outcome)) { + dissect_nr_rrc_RRCReconfigurationComplete_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } else { + dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const value_string x2ap_MCGSplitSRBs_vals[] = { + { 0, "srb1" }, + { 1, "srb2" }, + { 2, "srb1and2" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_MCGSplitSRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_x2ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 273 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (!parameter_tvb) + return offset; + if (x2ap_data->rrc_container_type == RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer); + dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_rrcContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 263 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_PDCP_C_PDU; + + + offset = dissect_x2ap_RRCContainer(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string x2ap_SRBType_vals[] = { + { 0, "srb1" }, + { 1, "srb2" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_SRBType(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 MCGSplitSRB_sequence[] = { + { &hf_x2ap_rrcContainer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_rrcContainer }, + { &hf_x2ap_srbType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SRBType }, + { &hf_x2ap_deliveryStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DeliveryStatus }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_MCGSplitSRB(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_MCGSplitSRB, MCGSplitSRB_sequence); + + return offset; +} + + + +static int +dissect_x2ap_T_uENRMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 268 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT; + + + offset = dissect_x2ap_RRCContainer(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t UENRMeasurement_sequence[] = { + { &hf_x2ap_uENRMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_uENRMeasurements }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_UENRMeasurement(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_UENRMeasurement, UENRMeasurement_sequence); + + return offset; +} + + + static int dissect_x2ap_PCI(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, @@ -5639,6 +6818,145 @@ dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } + +static int +dissect_x2ap_NRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_NR_TxBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 65535U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_NRCellIdentifier(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, + 36, 36, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t NRCGI_sequence[] = { + { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, + { &hf_x2ap_nRcellIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCellIdentifier }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRCGI(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_NRCGI, NRCGI_sequence); + + return offset; +} + + + +static int +dissect_x2ap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1007U, NULL, TRUE); + + return offset; +} + + +static const value_string x2ap_NRrestriction_vals[] = { + { 0, "nRrestricted" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_NRrestriction(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_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 518 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, TRUE, ¶meter_tvb, NULL); + + if (parameter_tvb) { + const gint *fields[] = { + &hf_x2ap_NRencryptionAlgorithms_NEA1, + &hf_x2ap_NRencryptionAlgorithms_NEA2, + &hf_x2ap_NRencryptionAlgorithms_NEA3, + &hf_x2ap_NRencryptionAlgorithms_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRencryptionAlgorithms); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + + +static int +dissect_x2ap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 533 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, TRUE, ¶meter_tvb, NULL); + + if (parameter_tvb) { + const gint *fields[] = { + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, + &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, + &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NRintegrityProtectionAlgorithms); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 2, fields, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + +static const per_sequence_t NRUESecurityCapabilities_sequence[] = { + { &hf_x2ap_nRencryptionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRencryptionAlgorithms }, + { &hf_x2ap_nRintegrityProtectionAlgorithms, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRintegrityProtectionAlgorithms }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRUESecurityCapabilities(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_NRUESecurityCapabilities, NRUESecurityCapabilities_sequence); + + return offset; +} + + static const value_string x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals[] = { { 0, "minusTen" }, { 1, "minusNine" }, @@ -5676,10 +6994,26 @@ dissect_x2ap_OffsetOfNbiotChannelNumberToEARFCN(tvbuff_t *tvb _U_, int offset _U } +static const value_string x2ap_PDCPChangeIndication_vals[] = { + { 0, "s-KgNB-update-required" }, + { 1, "pDCP-data-recovery-required" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_PDCPChangeIndication(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_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 120 "./asn1/x2ap/x2ap.cnf" +#line 125 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -5983,7 +7317,7 @@ dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 155 "./asn1/x2ap/x2ap.cnf" +#line 160 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 32, 32, FALSE, ¶meter_tvb, NULL); @@ -6079,10 +7413,26 @@ dissect_x2ap_ResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } +static const value_string x2ap_RLCMode_vals[] = { + { 0, "rlc-am" }, + { 1, "rlc-um" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_RLCMode(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_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 131 "./asn1/x2ap/x2ap.cnf" +#line 136 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; @@ -6239,6 +7589,52 @@ dissect_x2ap_SCGChangeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const per_sequence_t SecondaryRATUsageReportList_sequence_of[1] = { + { &hf_x2ap_SecondaryRATUsageReportList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_SecondaryRATUsageReportList(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_SecondaryRATUsageReportList, SecondaryRATUsageReportList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const value_string x2ap_T_secondaryRATType_vals[] = { + { 0, "nr" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_secondaryRATType(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 SecondaryRATUsageReport_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_secondaryRATType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_secondaryRATType }, + { &hf_x2ap_e_RABUsageReportList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABUsageReportList }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SecondaryRATUsageReport_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_SecondaryRATUsageReport_Item, SecondaryRATUsageReport_Item_sequence); + + return offset; +} + + static int dissect_x2ap_SeNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -6252,7 +7648,7 @@ dissect_x2ap_SeNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_x2ap_SeNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 223 "./asn1/x2ap/x2ap.cnf" +#line 228 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6318,6 +7714,33 @@ dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } +static const per_sequence_t SgNBResourceCoordinationInformation_sequence[] = { + { &hf_x2ap_nR_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_uLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, + { &hf_x2ap_dLCoordinationInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BIT_STRING_SIZE_6_4400_ }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBResourceCoordinationInformation(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_SgNBResourceCoordinationInformation, SgNBResourceCoordinationInformation_sequence); + + return offset; +} + + + +static int +dissect_x2ap_SgNB_UE_X2AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4294967295U, NULL, FALSE); + + return offset; +} + + static const value_string x2ap_SIPTOBearerDeactivationIndication_vals[] = { { 0, "true" }, { 0, NULL } @@ -6369,6 +7792,51 @@ dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_c +static int +dissect_x2ap_SgNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 256, 256, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_x2ap_SgNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 254 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb; + proto_tree *subtree = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_SgNBtoMeNBContainer); + dissect_nr_rrc_SCG_ConfigInfo_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + + + + return offset; +} + + +static const value_string x2ap_SCGConfigurationQuery_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_SCGConfigurationQuery(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_TargetCellInUTRAN(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, @@ -6381,7 +7849,7 @@ dissect_x2ap_TargetCellInUTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 76 "./asn1/x2ap/x2ap.cnf" +#line 81 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; @@ -6453,7 +7921,7 @@ dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 258 "./asn1/x2ap/x2ap.cnf" +#line 311 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; @@ -6534,6 +8002,32 @@ dissect_x2ap_UEAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_c } + +static int +dissect_x2ap_OCTET_STRING_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 1000, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t UEAppLayerMeasConfig_sequence[] = { + { &hf_x2ap_containerForAppLayerMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_OCTET_STRING_SIZE_1_1000 }, + { &hf_x2ap_areaScopeOfQMC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_AreaScopeOfQMC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_UEAppLayerMeasConfig(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_UEAppLayerMeasConfig, UEAppLayerMeasConfig_sequence); + + return offset; +} + + static const value_string x2ap_UE_ContextKeptIndicator_vals[] = { { 0, "true" }, { 0, NULL } @@ -6566,7 +8060,7 @@ dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_x2ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 146 "./asn1/x2ap/x2ap.cnf" +#line 151 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6616,7 +8110,7 @@ dissect_x2ap_UE_X2AP_ID_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 196 "./asn1/x2ap/x2ap.cnf" +#line 201 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6636,7 +8130,7 @@ dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_x2ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 205 "./asn1/x2ap/x2ap.cnf" +#line 210 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6684,6 +8178,38 @@ dissect_x2ap_UESidelinkAggregateMaximumBitRate(tvbuff_t *tvb _U_, int offset _U_ } +static const value_string x2ap_UL_UE_Configuration_vals[] = { + { 0, "no-data" }, + { 1, "shared" }, + { 2, "only" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_UL_UE_Configuration(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 ULConfiguration_sequence[] = { + { &hf_x2ap_uL_PDCP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_UL_UE_Configuration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ULConfiguration(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_ULConfiguration, ULConfiguration_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_) { @@ -6724,6 +8250,16 @@ dissect_x2ap_UL_HighInterferenceIndicationInfo(tvbuff_t *tvb _U_, int offset _U_ } + +static int +dissect_x2ap_UL_scheduling_PDCCH_CCE_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 value_string x2ap_VehicleUE_vals[] = { { 0, "authorized" }, { 1, "not-authorized" }, @@ -6846,7 +8382,7 @@ static const per_sequence_t HandoverRequest_sequence[] = { static int dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 463 "./asn1/x2ap/x2ap.cnf" +#line 574 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6954,6 +8490,22 @@ dissect_x2ap_UE_ContextReferenceAtWT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t UE_ContextReferenceAtSgNB_sequence[] = { + { &hf_x2ap_source_GlobalSgNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GlobalGNB_ID }, + { &hf_x2ap_sgNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SgNB_UE_X2AP_ID }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_UE_ContextReferenceAtSgNB(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_ContextReferenceAtSgNB, UE_ContextReferenceAtSgNB_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 } @@ -6961,7 +8513,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { static int dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 465 "./asn1/x2ap/x2ap.cnf" +#line 576 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7009,7 +8561,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = { static int dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 467 "./asn1/x2ap/x2ap.cnf" +#line 578 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7026,7 +8578,7 @@ static const per_sequence_t HandoverReport_sequence[] = { static int dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 505 "./asn1/x2ap/x2ap.cnf" +#line 616 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7043,7 +8595,7 @@ static const per_sequence_t SNStatusTransfer_sequence[] = { static int dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 469 "./asn1/x2ap/x2ap.cnf" +#line 580 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7092,7 +8644,7 @@ static const per_sequence_t UEContextRelease_sequence[] = { static int dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 471 "./asn1/x2ap/x2ap.cnf" +#line 582 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7109,7 +8661,7 @@ static const per_sequence_t HandoverCancel_sequence[] = { static int dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 473 "./asn1/x2ap/x2ap.cnf" +#line 584 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7126,7 +8678,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 475 "./asn1/x2ap/x2ap.cnf" +#line 586 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7143,7 +8695,7 @@ static const per_sequence_t ResetRequest_sequence[] = { static int dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 477 "./asn1/x2ap/x2ap.cnf" +#line 588 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7160,7 +8712,7 @@ static const per_sequence_t ResetResponse_sequence[] = { static int dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 479 "./asn1/x2ap/x2ap.cnf" +#line 590 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7177,7 +8729,7 @@ static const per_sequence_t X2SetupRequest_sequence[] = { static int dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 481 "./asn1/x2ap/x2ap.cnf" +#line 592 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7194,7 +8746,7 @@ static const per_sequence_t X2SetupResponse_sequence[] = { static int dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 483 "./asn1/x2ap/x2ap.cnf" +#line 594 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7211,7 +8763,7 @@ static const per_sequence_t X2SetupFailure_sequence[] = { static int dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 485 "./asn1/x2ap/x2ap.cnf" +#line 596 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7228,7 +8780,7 @@ static const per_sequence_t LoadInformation_sequence[] = { static int dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 487 "./asn1/x2ap/x2ap.cnf" +#line 598 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7277,7 +8829,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 489 "./asn1/x2ap/x2ap.cnf" +#line 600 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7339,7 +8891,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 491 "./asn1/x2ap/x2ap.cnf" +#line 602 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7356,7 +8908,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = { static int dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 493 "./asn1/x2ap/x2ap.cnf" +#line 604 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7373,7 +8925,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = { static int dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 495 "./asn1/x2ap/x2ap.cnf" +#line 606 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7452,7 +9004,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = { static int dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 497 "./asn1/x2ap/x2ap.cnf" +#line 608 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7509,7 +9061,7 @@ dissect_x2ap_MeasurementInitiationResult_Item(tvbuff_t *tvb _U_, int offset _U_, static int dissect_x2ap_T_measurementFailedReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 174 "./asn1/x2ap/x2ap.cnf" +#line 179 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -7560,7 +9112,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = { static int dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 499 "./asn1/x2ap/x2ap.cnf" +#line 610 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7607,7 +9159,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = { static int dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 501 "./asn1/x2ap/x2ap.cnf" +#line 612 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7656,7 +9208,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 503 "./asn1/x2ap/x2ap.cnf" +#line 614 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7673,7 +9225,7 @@ static const per_sequence_t MobilityChangeRequest_sequence[] = { static int dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 509 "./asn1/x2ap/x2ap.cnf" +#line 620 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7690,7 +9242,7 @@ static const per_sequence_t MobilityChangeAcknowledge_sequence[] = { static int dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 511 "./asn1/x2ap/x2ap.cnf" +#line 622 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7707,7 +9259,7 @@ static const per_sequence_t MobilityChangeFailure_sequence[] = { static int dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 513 "./asn1/x2ap/x2ap.cnf" +#line 624 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7724,7 +9276,7 @@ static const per_sequence_t RLFIndication_sequence[] = { static int dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 507 "./asn1/x2ap/x2ap.cnf" +#line 618 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7741,7 +9293,7 @@ static const per_sequence_t CellActivationRequest_sequence[] = { static int dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 515 "./asn1/x2ap/x2ap.cnf" +#line 626 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7787,7 +9339,7 @@ static const per_sequence_t CellActivationResponse_sequence[] = { static int dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 517 "./asn1/x2ap/x2ap.cnf" +#line 628 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7833,7 +9385,7 @@ static const per_sequence_t CellActivationFailure_sequence[] = { static int dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 519 "./asn1/x2ap/x2ap.cnf" +#line 630 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7850,7 +9402,7 @@ static const per_sequence_t X2Release_sequence[] = { static int dissect_x2ap_X2Release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 521 "./asn1/x2ap/x2ap.cnf" +#line 632 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7867,7 +9419,7 @@ static const per_sequence_t X2APMessageTransfer_sequence[] = { static int dissect_x2ap_X2APMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 523 "./asn1/x2ap/x2ap.cnf" +#line 634 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7896,7 +9448,7 @@ dissect_x2ap_RNL_Header(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_x2ap_X2AP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 454 "./asn1/x2ap/x2ap.cnf" +#line 507 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); @@ -7907,6 +9459,7 @@ dissect_x2ap_X2AP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + return offset; } @@ -7918,7 +9471,7 @@ static const per_sequence_t SeNBAdditionRequest_sequence[] = { static int dissect_x2ap_SeNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 531 "./asn1/x2ap/x2ap.cnf" +#line 642 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8006,7 +9559,7 @@ static const per_sequence_t SeNBAdditionRequestAcknowledge_sequence[] = { static int dissect_x2ap_SeNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 533 "./asn1/x2ap/x2ap.cnf" +#line 644 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8093,7 +9646,7 @@ static const per_sequence_t SeNBAdditionRequestReject_sequence[] = { static int dissect_x2ap_SeNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 535 "./asn1/x2ap/x2ap.cnf" +#line 646 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8110,7 +9663,7 @@ static const per_sequence_t SeNBReconfigurationComplete_sequence[] = { static int dissect_x2ap_SeNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 537 "./asn1/x2ap/x2ap.cnf" +#line 648 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8180,7 +9733,7 @@ static const per_sequence_t SeNBModificationRequest_sequence[] = { static int dissect_x2ap_SeNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 539 "./asn1/x2ap/x2ap.cnf" +#line 650 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8427,7 +9980,7 @@ static const per_sequence_t SeNBModificationRequestAcknowledge_sequence[] = { static int dissect_x2ap_SeNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 541 "./asn1/x2ap/x2ap.cnf" +#line 652 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8648,7 +10201,7 @@ static const per_sequence_t SeNBModificationRequestReject_sequence[] = { static int dissect_x2ap_SeNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 543 "./asn1/x2ap/x2ap.cnf" +#line 654 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8665,7 +10218,7 @@ static const per_sequence_t SeNBModificationRequired_sequence[] = { static int dissect_x2ap_SeNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 545 "./asn1/x2ap/x2ap.cnf" +#line 656 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8712,7 +10265,7 @@ static const per_sequence_t SeNBModificationConfirm_sequence[] = { static int dissect_x2ap_SeNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 547 "./asn1/x2ap/x2ap.cnf" +#line 658 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8729,7 +10282,7 @@ static const per_sequence_t SeNBModificationRefuse_sequence[] = { static int dissect_x2ap_SeNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 549 "./asn1/x2ap/x2ap.cnf" +#line 660 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8746,7 +10299,7 @@ static const per_sequence_t SeNBReleaseRequest_sequence[] = { static int dissect_x2ap_SeNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 551 "./asn1/x2ap/x2ap.cnf" +#line 662 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8832,7 +10385,7 @@ static const per_sequence_t SeNBReleaseRequired_sequence[] = { static int dissect_x2ap_SeNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 553 "./asn1/x2ap/x2ap.cnf" +#line 664 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8849,7 +10402,7 @@ static const per_sequence_t SeNBReleaseConfirm_sequence[] = { static int dissect_x2ap_SeNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 555 "./asn1/x2ap/x2ap.cnf" +#line 666 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8935,7 +10488,7 @@ static const per_sequence_t SeNBCounterCheckRequest_sequence[] = { static int dissect_x2ap_SeNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 557 "./asn1/x2ap/x2ap.cnf" +#line 668 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8993,7 +10546,7 @@ static const per_sequence_t X2RemovalRequest_sequence[] = { static int dissect_x2ap_X2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 525 "./asn1/x2ap/x2ap.cnf" +#line 636 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9010,7 +10563,7 @@ static const per_sequence_t X2RemovalResponse_sequence[] = { static int dissect_x2ap_X2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 527 "./asn1/x2ap/x2ap.cnf" +#line 638 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9027,7 +10580,7 @@ static const per_sequence_t X2RemovalFailure_sequence[] = { static int dissect_x2ap_X2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 529 "./asn1/x2ap/x2ap.cnf" +#line 640 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9044,7 +10597,7 @@ static const per_sequence_t RetrieveUEContextRequest_sequence[] = { static int dissect_x2ap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 559 "./asn1/x2ap/x2ap.cnf" +#line 670 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9061,7 +10614,7 @@ static const per_sequence_t RetrieveUEContextResponse_sequence[] = { static int dissect_x2ap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 561 "./asn1/x2ap/x2ap.cnf" +#line 672 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9134,10 +10687,9 @@ static const per_sequence_t RetrieveUEContextFailure_sequence[] = { static int dissect_x2ap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 563 "./asn1/x2ap/x2ap.cnf" +#line 674 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_RetrieveUEContextFailure, RetrieveUEContextFailure_sequence); @@ -9145,6 +10697,2119 @@ dissect_x2ap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } +static const per_sequence_t SgNBAdditionRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 676 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBAdditionRequest, SgNBAdditionRequest_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReqList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReqList(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_E_RABs_ToBeAdded_SgNBAddReqList, E_RABs_ToBeAdded_SgNBAddReqList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, + { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent(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_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration(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_T_resource_configuration, T_resource_configuration_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBAddReq_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_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_E_RABs_ToBeAdded_SgNBAddReq_Item, E_RABs_ToBeAdded_SgNBAddReq_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBAdditionRequestAcknowledge_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 678 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBAdditionRequestAcknowledge, SgNBAdditionRequestAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddResList_sequence_of[1] = { + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList(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_E_RABs_Admitted_ToBeAdded_SgNBAddResList, E_RABs_Admitted_ToBeAdded_SgNBAddResList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, + { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent(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_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent(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_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_01_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_01_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_01, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_01, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_01, T_resource_configuration_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_01 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_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_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item, E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBAdditionRequestReject_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 680 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBAdditionRequestReject"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBAdditionRequestReject, SgNBAdditionRequestReject_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReconfigurationComplete_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 682 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReconfigurationComplete"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReconfigurationComplete, SgNBReconfigurationComplete_sequence); + + return offset; +} + + +static const per_sequence_t ResponseInformationSgNBReconfComp_SuccessItem_sequence[] = { + { &hf_x2ap_meNBtoSgNBContainer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MeNBtoSgNBContainer }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ResponseInformationSgNBReconfComp_SuccessItem(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_ResponseInformationSgNBReconfComp_SuccessItem, ResponseInformationSgNBReconfComp_SuccessItem_sequence); + + return offset; +} + + +static const per_sequence_t ResponseInformationSgNBReconfComp_RejectByMeNBItem_sequence[] = { + { &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_ResponseInformationSgNBReconfComp_RejectByMeNBItem(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_ResponseInformationSgNBReconfComp_RejectByMeNBItem, ResponseInformationSgNBReconfComp_RejectByMeNBItem_sequence); + + return offset; +} + + +static const value_string x2ap_ResponseInformationSgNBReconfComp_vals[] = { + { 0, "success-SgNBReconfComp" }, + { 1, "reject-by-MeNB-SgNBReconfComp" }, + { 0, NULL } +}; + +static const per_choice_t ResponseInformationSgNBReconfComp_choice[] = { + { 0, &hf_x2ap_success_SgNBReconfComp, ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSgNBReconfComp_SuccessItem }, + { 1, &hf_x2ap_reject_by_MeNB_SgNBReconfComp, ASN1_EXTENSION_ROOT , dissect_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_ResponseInformationSgNBReconfComp(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_ResponseInformationSgNBReconfComp, ResponseInformationSgNBReconfComp_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SgNBModificationRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 684 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationRequest, SgNBModificationRequest_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_List_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_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_E_RABs_ToBeAdded_SgNBModReq_List, E_RABs_ToBeAdded_SgNBModReq_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_List_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_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_E_RABs_ToBeModified_SgNBModReq_List, E_RABs_ToBeModified_SgNBModReq_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_List_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_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_E_RABs_ToBeReleased_SgNBModReq_List, E_RABs_ToBeReleased_SgNBModReq_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t UE_ContextInformation_SgNBModReq_sequence[] = { + { &hf_x2ap_nRUE_SecurityCapabilities, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRUESecurityCapabilities }, + { &hf_x2ap_sgNB_SecurityKey, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SgNBSecurityKey }, + { &hf_x2ap_sgNBUEAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UEAggregateMaximumBitRate }, + { &hf_x2ap_e_RABs_ToBeAdded_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_List }, + { &hf_x2ap_e_RABs_ToBeModified_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_List }, + { &hf_x2ap_e_RABs_ToBeReleased_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_List }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_UE_ContextInformation_SgNBModReq(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_ContextInformation_SgNBModReq, UE_ContextInformation_SgNBModReq_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_dL_Forwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DL_Forwarding }, + { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent(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_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_02_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_02_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_02, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_02, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_02, T_resource_configuration_02_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeAdded_SgNBModReq_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_02 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_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_E_RABs_ToBeAdded_SgNBModReq_Item, E_RABs_ToBeAdded_SgNBModReq_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_s1_UL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent(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_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_03_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_03_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_03, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_03, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_03, T_resource_configuration_03_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReq_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_03 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_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_E_RABs_ToBeModified_SgNBModReq_Item, E_RABs_ToBeModified_SgNBModReq_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent(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_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_04_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_04_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_04, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_04, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_04, T_resource_configuration_04_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReq_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_04 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_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_E_RABs_ToBeReleased_SgNBModReq_Item, E_RABs_ToBeReleased_SgNBModReq_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBModificationRequestAcknowledge_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 686 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationRequestAcknowledge, SgNBModificationRequestAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAckList_sequence_of[1] = { + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList(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_E_RABs_Admitted_ToBeAdded_SgNBModAckList, E_RABs_Admitted_ToBeAdded_SgNBModAckList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_rlc_Mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_RLCMode }, + { &hf_x2ap_dL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_uL_Forwarding_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent(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_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent(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_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_05_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_05_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_05, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_05, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_05, T_resource_configuration_05_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_05, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_05 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_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_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAckList_sequence_of[1] = { + { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList(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_E_RABs_Admitted_ToBeModified_SgNBModAckList, E_RABs_Admitted_ToBeModified_SgNBModAckList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_s1_DL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent(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_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent(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_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_06_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_06_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_06, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_06, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_resource_configuration_06, T_resource_configuration_06_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeModified_SgNBModAck_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_06, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_06 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_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_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, E_RABs_Admitted_ToBeModified_SgNBModAck_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAckList_sequence_of[1] = { + { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList(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_E_RABs_Admitted_ToBeReleased_SgNBModAckList, E_RABs_Admitted_ToBeReleased_SgNBModAckList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent(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_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent(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_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_07_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_07_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_07, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_07, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_07(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_T_resource_configuration_07, T_resource_configuration_07_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_Admitted_ToReleased_SgNBModAck_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_07, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_07 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_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_E_RABs_Admitted_ToReleased_SgNBModAck_Item, E_RABs_Admitted_ToReleased_SgNBModAck_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBModificationRequestReject_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 688 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequestReject"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationRequestReject, SgNBModificationRequestReject_sequence); + + return offset; +} + + +static const per_sequence_t SgNBModificationRequired_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 690 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRequired"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationRequired, SgNBModificationRequired_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReqdList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBModReqdList(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_E_RABs_ToBeReleased_SgNBModReqdList, E_RABs_ToBeReleased_SgNBModReqdList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBModReqd_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &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_E_RABs_ToBeReleased_SgNBModReqd_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_E_RABs_ToBeReleased_SgNBModReqd_Item, E_RABs_ToBeReleased_SgNBModReqd_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReqdList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReqdList(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_E_RABs_ToBeModified_SgNBModReqdList, E_RABs_ToBeModified_SgNBModReqdList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_E_RAB_Level_QoS_Parameters }, + { &hf_x2ap_uL_Configuration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ULConfiguration }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent(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_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent, E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent, E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_08_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_08_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_08, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_08, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_08(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_T_resource_configuration_08, T_resource_configuration_08_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeModified_SgNBModReqd_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_08, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_08 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_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_E_RABs_ToBeModified_SgNBModReqd_Item, E_RABs_ToBeModified_SgNBModReqd_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBModificationConfirm_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 692 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationConfirm"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationConfirm, SgNBModificationConfirm_sequence); + + return offset; +} + + +static const per_sequence_t SgNBModificationRefuse_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 694 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBModificationRefuse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBModificationRefuse, SgNBModificationRefuse_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReleaseRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 696 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReleaseRequest, SgNBReleaseRequest_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReqList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReqList(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_E_RABs_ToBeReleased_SgNBRelReqList, E_RABs_ToBeReleased_SgNBRelReqList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent(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_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_09_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_09_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_09, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_09, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_09(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_T_resource_configuration_09, T_resource_configuration_09_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelReq_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_09, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_09 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_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_E_RABs_ToBeReleased_SgNBRelReq_Item, E_RABs_ToBeReleased_SgNBRelReq_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReleaseRequestAcknowledge_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReleaseRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 698 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReleaseRequestAcknowledge, SgNBReleaseRequestAcknowledge_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReleaseRequestReject_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReleaseRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 700 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequestReject"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReleaseRequestReject, SgNBReleaseRequestReject_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReleaseRequired_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 702 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseRequired"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReleaseRequired, SgNBReleaseRequired_sequence); + + return offset; +} + + +static const per_sequence_t SgNBReleaseConfirm_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 704 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBReleaseConfirm"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBReleaseConfirm, SgNBReleaseConfirm_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConfList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConfList(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_E_RABs_ToBeReleased_SgNBRelConfList, E_RABs_ToBeReleased_SgNBRelConfList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent(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_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_10_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_10_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_10, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_10, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_10(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_T_resource_configuration_10, T_resource_configuration_10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBRelConf_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_10 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_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_E_RABs_ToBeReleased_SgNBRelConf_Item, E_RABs_ToBeReleased_SgNBRelConf_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBCounterCheckRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 706 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBCounterCheckRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBCounterCheckRequest, SgNBCounterCheckRequest_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_SubjectToSgNBCounterCheck_List_sequence_of[1] = { + { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_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_E_RABs_SubjectToSgNBCounterCheck_List, E_RABs_SubjectToSgNBCounterCheck_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_SubjectToSgNBCounterCheck_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_uL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, + { &hf_x2ap_dL_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_4294967295 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_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_E_RABs_SubjectToSgNBCounterCheck_Item, E_RABs_SubjectToSgNBCounterCheck_Item_sequence); + + return offset; +} + + +static const per_sequence_t SgNBChangeRequired_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBChangeRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 708 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRequired"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBChangeRequired, SgNBChangeRequired_sequence); + + return offset; +} + + +static const per_sequence_t SgNBChangeConfirm_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBChangeConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 710 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeConfirm"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBChangeConfirm, SgNBChangeConfirm_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConfList_sequence_of[1] = { + { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConfList(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_E_RABs_ToBeReleased_SgNBChaConfList, E_RABs_ToBeReleased_SgNBChaConfList_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_sequence[] = { + { &hf_x2ap_uL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent(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_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent, E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent_sequence); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_sequence[] = { + { &hf_x2ap_dL_GTPtunnelEndpoint, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPtunnelEndpoint }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent(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_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent, E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent_sequence); + + return offset; +} + + +static const value_string x2ap_T_resource_configuration_11_vals[] = { + { 0, "sgNBPDCPpresent" }, + { 1, "sgNBPDCPnotpresent" }, + { 0, NULL } +}; + +static const per_choice_t T_resource_configuration_11_choice[] = { + { 0, &hf_x2ap_sgNBPDCPpresent_11, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent }, + { 1, &hf_x2ap_sgNBPDCPnotpresent_11, ASN1_EXTENSION_ROOT , dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_resource_configuration_11(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_T_resource_configuration_11, T_resource_configuration_11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t E_RABs_ToBeReleased_SgNBChaConf_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_en_DC_ResourceConfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_EN_DC_ResourceConfiguration }, + { &hf_x2ap_resource_configuration_11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_resource_configuration_11 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_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_E_RABs_ToBeReleased_SgNBChaConf_Item, E_RABs_ToBeReleased_SgNBChaConf_Item_sequence); + + return offset; +} + + +static const per_sequence_t RRCTransfer_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_RRCTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 714 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_RRCTransfer, RRCTransfer_sequence); + + return offset; +} + + +static const per_sequence_t SgNBChangeRefuse_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SgNBChangeRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 712 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBChangeRefuse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SgNBChangeRefuse, SgNBChangeRefuse_sequence); + + return offset; +} + + +static const per_sequence_t ENDCX2SetupRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCX2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 716 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCX2SetupRequest, ENDCX2SetupRequest_sequence); + + return offset; +} + + +static const value_string x2ap_InitiatingNodeType_EndcX2Setup_vals[] = { + { 0, "init-eNB" }, + { 1, "init-en-gNB" }, + { 0, NULL } +}; + +static const per_choice_t InitiatingNodeType_EndcX2Setup_choice[] = { + { 0, &hf_x2ap_init_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 1, &hf_x2ap_init_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_InitiatingNodeType_EndcX2Setup(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_InitiatingNodeType_EndcX2Setup, InitiatingNodeType_EndcX2Setup_choice, + NULL); + + return offset; +} + + +static const per_sequence_t NRNeighbour_Information_item_sequence[] = { + { &hf_x2ap_nrpCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRPCI }, + { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_nrARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRARFCN }, + { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRNeighbour_Information_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_NRNeighbour_Information_item, NRNeighbour_Information_item_sequence); + + return offset; +} + + +static const per_sequence_t NRNeighbour_Information_sequence_of[1] = { + { &hf_x2ap_NRNeighbour_Information_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRNeighbour_Information_item }, +}; + +static int +dissect_x2ap_NRNeighbour_Information(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_NRNeighbour_Information, NRNeighbour_Information_sequence_of, + 1, maxofNRNeighbours, FALSE); + + return offset; +} + + +static const per_sequence_t ServedEUTRAcellsENDCX2ManagementList_item_sequence[] = { + { &hf_x2ap_servedEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, + { &hf_x2ap_nrNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList_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_ServedEUTRAcellsENDCX2ManagementList_item, ServedEUTRAcellsENDCX2ManagementList_item_sequence); + + return offset; +} + + +static const per_sequence_t ServedEUTRAcellsENDCX2ManagementList_sequence_of[1] = { + { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList_item }, +}; + +static int +dissect_x2ap_ServedEUTRAcellsENDCX2ManagementList(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_ServedEUTRAcellsENDCX2ManagementList, ServedEUTRAcellsENDCX2ManagementList_sequence_of, + 1, maxCellineNB, FALSE); + + return offset; +} + + +static const per_sequence_t FDD_InfoServedNRCell_Information_sequence[] = { + { &hf_x2ap_ul_NR_ARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRARFCN }, + { &hf_x2ap_dl_NR_ARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRARFCN }, + { &hf_x2ap_ul_NR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, + { &hf_x2ap_dl_NR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_FDD_InfoServedNRCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_FDD_InfoServedNRCell_Information, FDD_InfoServedNRCell_Information_sequence); + + return offset; +} + + +static const per_sequence_t TDD_InfoServedNRCell_Information_sequence[] = { + { &hf_x2ap_nR_ARFCN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRARFCN }, + { &hf_x2ap_nR_TxBW , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NR_TxBW }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TDD_InfoServedNRCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_TDD_InfoServedNRCell_Information, TDD_InfoServedNRCell_Information_sequence); + + return offset; +} + + +static const value_string x2ap_T_nrModeInfo_vals[] = { + { 0, "fdd" }, + { 1, "tdd" }, + { 0, NULL } +}; + +static const per_choice_t T_nrModeInfo_choice[] = { + { 0, &hf_x2ap_fdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_InfoServedNRCell_Information }, + { 1, &hf_x2ap_tdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_InfoServedNRCell_Information }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_nrModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_T_nrModeInfo, T_nrModeInfo_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ServedNRCell_Information_sequence[] = { + { &hf_x2ap_nrpCI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRPCI }, + { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TAC }, + { &hf_x2ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastPLMNs_Item }, + { &hf_x2ap_nrModeInfo , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_nrModeInfo }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedNRCell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ServedNRCell_Information, ServedNRCell_Information_sequence); + + return offset; +} + + +static const per_sequence_t ServedNRcellsENDCX2ManagementList_item_sequence[] = { + { &hf_x2ap_servedNRCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCell_Information }, + { &hf_x2ap_nRNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRNeighbour_Information }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedNRcellsENDCX2ManagementList_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_ServedNRcellsENDCX2ManagementList_item, ServedNRcellsENDCX2ManagementList_item_sequence); + + return offset; +} + + +static const per_sequence_t ServedNRcellsENDCX2ManagementList_sequence_of[1] = { + { &hf_x2ap_ServedNRcellsENDCX2ManagementList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRcellsENDCX2ManagementList_item }, +}; + +static int +dissect_x2ap_ServedNRcellsENDCX2ManagementList(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_ServedNRcellsENDCX2ManagementList, ServedNRcellsENDCX2ManagementList_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const value_string x2ap_T_full_list_vals[] = { + { 0, "allServedNRcells" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_full_list(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string x2ap_CellAssistanceInformation_vals[] = { + { 0, "full-list" }, + { 0, NULL } +}; + +static const per_choice_t CellAssistanceInformation_choice[] = { + { 0, &hf_x2ap_full_list , ASN1_EXTENSION_ROOT , dissect_x2ap_T_full_list }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_CellAssistanceInformation(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_CellAssistanceInformation, CellAssistanceInformation_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ENDCX2SetupResponse_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCX2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 718 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCX2SetupResponse, ENDCX2SetupResponse_sequence); + + return offset; +} + + +static const value_string x2ap_RespondingNodeType_EndcX2Setup_vals[] = { + { 0, "respond-eNB" }, + { 1, "respond-en-gNB" }, + { 0, NULL } +}; + +static const per_choice_t RespondingNodeType_EndcX2Setup_choice[] = { + { 0, &hf_x2ap_respond_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 1, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_RespondingNodeType_EndcX2Setup(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_RespondingNodeType_EndcX2Setup, RespondingNodeType_EndcX2Setup_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ENDCX2SetupFailure_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCX2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 720 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2SetupFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCX2SetupFailure, ENDCX2SetupFailure_sequence); + + return offset; +} + + +static const per_sequence_t ENDCConfigurationUpdate_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 722 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdate"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCConfigurationUpdate, ENDCConfigurationUpdate_sequence); + + return offset; +} + + +static const value_string x2ap_InitiatingNodeType_EndcConfigUpdate_vals[] = { + { 0, "init-eNB" }, + { 1, "init-en-gNB" }, + { 0, NULL } +}; + +static const per_choice_t InitiatingNodeType_EndcConfigUpdate_choice[] = { + { 0, &hf_x2ap_init_eNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 1, &hf_x2ap_init_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_InitiatingNodeType_EndcConfigUpdate(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_InitiatingNodeType_EndcConfigUpdate, InitiatingNodeType_EndcConfigUpdate_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ServedEUTRAcellsToModifyListENDCConfUpd_item_sequence[] = { + { &hf_x2ap_old_ECGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, + { &hf_x2ap_servedEUTRACellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedCell_Information }, + { &hf_x2ap_nrNeighbourInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_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_ServedEUTRAcellsToModifyListENDCConfUpd_item, ServedEUTRAcellsToModifyListENDCConfUpd_item_sequence); + + return offset; +} + + +static const per_sequence_t ServedEUTRAcellsToModifyListENDCConfUpd_sequence_of[1] = { + { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item }, +}; + +static int +dissect_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd(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_ServedEUTRAcellsToModifyListENDCConfUpd, ServedEUTRAcellsToModifyListENDCConfUpd_sequence_of, + 1, maxCellineNB, FALSE); + + return offset; +} + + +static const per_sequence_t ServedEUTRAcellsToDeleteListENDCConfUpd_sequence_of[1] = { + { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, +}; + +static int +dissect_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd(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_ServedEUTRAcellsToDeleteListENDCConfUpd, ServedEUTRAcellsToDeleteListENDCConfUpd_sequence_of, + 1, maxCellineNB, FALSE); + + return offset; +} + + +static const per_sequence_t ServedNRCellsToModify_Item_sequence[] = { + { &hf_x2ap_old_nrcgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_servedNRCellInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCell_Information }, + { &hf_x2ap_nrNeighbourInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRNeighbour_Information }, + { &hf_x2ap_nrDeactivationIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_DeactivationIndication }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedNRCellsToModify_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_ServedNRCellsToModify_Item, ServedNRCellsToModify_Item_sequence); + + return offset; +} + + +static const per_sequence_t ServedNRcellsToModifyENDCConfUpdList_sequence_of[1] = { + { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCellsToModify_Item }, +}; + +static int +dissect_x2ap_ServedNRcellsToModifyENDCConfUpdList(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_ServedNRcellsToModifyENDCConfUpdList, ServedNRcellsToModifyENDCConfUpdList_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const per_sequence_t ServedNRcellsToDeleteENDCConfUpdList_sequence_of[1] = { + { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, +}; + +static int +dissect_x2ap_ServedNRcellsToDeleteENDCConfUpdList(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_ServedNRcellsToDeleteENDCConfUpdList, ServedNRcellsToDeleteENDCConfUpdList_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const per_sequence_t ENDCConfigurationUpdateAcknowledge_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 724 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateAcknowledge"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCConfigurationUpdateAcknowledge, ENDCConfigurationUpdateAcknowledge_sequence); + + return offset; +} + + +static const value_string x2ap_RespondingNodeType_EndcConfigUpdate_vals[] = { + { 0, "respond-en-gNB" }, + { 0, NULL } +}; + +static const per_choice_t RespondingNodeType_EndcConfigUpdate_choice[] = { + { 0, &hf_x2ap_respond_en_gNB , ASN1_EXTENSION_ROOT , dissect_x2ap_ProtocolIE_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_RespondingNodeType_EndcConfigUpdate(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_RespondingNodeType_EndcConfigUpdate, RespondingNodeType_EndcConfigUpdate_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ENDCConfigurationUpdateFailure_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 726 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationUpdateFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCConfigurationUpdateFailure, ENDCConfigurationUpdateFailure_sequence); + + return offset; +} + + +static const per_sequence_t ENDCCellActivationRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCCellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 730 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCCellActivationRequest, ENDCCellActivationRequest_sequence); + + return offset; +} + + +static const per_sequence_t ServedNRCellsToActivate_Item_sequence[] = { + { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ServedNRCellsToActivate_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_ServedNRCellsToActivate_Item, ServedNRCellsToActivate_Item_sequence); + + return offset; +} + + +static const per_sequence_t ServedNRCellsToActivate_sequence_of[1] = { + { &hf_x2ap_ServedNRCellsToActivate_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ServedNRCellsToActivate_Item }, +}; + +static int +dissect_x2ap_ServedNRCellsToActivate(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_ServedNRCellsToActivate, ServedNRCellsToActivate_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const per_sequence_t ENDCCellActivationResponse_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCCellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 732 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCCellActivationResponse, ENDCCellActivationResponse_sequence); + + return offset; +} + + +static const per_sequence_t ActivatedNRCellList_Item_sequence[] = { + { &hf_x2ap_nrCellID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ActivatedNRCellList_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_ActivatedNRCellList_Item, ActivatedNRCellList_Item_sequence); + + return offset; +} + + +static const per_sequence_t ActivatedNRCellList_sequence_of[1] = { + { &hf_x2ap_ActivatedNRCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ActivatedNRCellList_Item }, +}; + +static int +dissect_x2ap_ActivatedNRCellList(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_ActivatedNRCellList, ActivatedNRCellList_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const per_sequence_t ENDCCellActivationFailure_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCCellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 734 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCCellActivationFailure"); + + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCCellActivationFailure, ENDCCellActivationFailure_sequence); + + return offset; +} + + +static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 728 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_SecondaryRATDataUsageReport, SecondaryRATDataUsageReport_sequence); + + return offset; +} + + static int dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -9261,6 +12926,14 @@ static int dissect_ABS_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro offset += 7; offset >>= 3; return offset; } +static int dissect_ActivationID_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_ActivationID(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivationID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_AdditionalSpecialSubframe_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; @@ -9405,6 +13078,14 @@ static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_DL_scheduling_PDCCH_CCE_usage_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_DL_scheduling_PDCCH_CCE_usage(tvb, offset, &asn1_ctx, tree, hf_x2ap_DL_scheduling_PDCCH_CCE_usage_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_DynamicDLTransmissionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9453,6 +13134,14 @@ static int dissect_E_RAB_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro offset += 7; offset >>= 3; return offset; } +static int dissect_E_RABUsageReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABUsageReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABUsageReport_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_EUTRANCellIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9477,6 +13166,14 @@ static int dissect_ExtendedULInterferenceOverloadInfo_PDU(tvbuff_t *tvb _U_, pac offset += 7; offset >>= 3; return offset; } +static int dissect_ExtendedBitRate_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_ExtendedBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ExtendedBitRate_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_FreqBandIndicatorPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9493,6 +13190,14 @@ static int dissect_GlobalENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_GlobalGNB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_GlobalGNB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GlobalGNB_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_GTPtunnelEndpoint_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9517,6 +13222,14 @@ static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_t offset += 7; offset >>= 3; return offset; } +static int dissect_GNB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_GNB_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_GNB_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9525,6 +13238,14 @@ static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_HandoverRestrictionList_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_HandoverRestrictionList(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverRestrictionList_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_InvokeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9637,6 +13358,14 @@ static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_MeNBResourceCoordinationInformation_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_MeNBResourceCoordinationInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeNBResourceCoordinationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MeNBtoSeNBContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9685,6 +13414,38 @@ static int dissect_MultibandInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +static int dissect_MeNBtoSgNBContainer_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_MeNBtoSgNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_MeNBtoSgNBContainer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_MCGSplitSRBs_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_MCGSplitSRBs(tvb, offset, &asn1_ctx, tree, hf_x2ap_MCGSplitSRBs_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_MCGSplitSRB_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_MCGSplitSRB(tvb, offset, &asn1_ctx, tree, hf_x2ap_MCGSplitSRB_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UENRMeasurement_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_UENRMeasurement(tvb, offset, &asn1_ctx, tree, hf_x2ap_UENRMeasurement_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9693,6 +13454,22 @@ static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_NRrestriction_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_NRrestriction(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRrestriction_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRUESecurityCapabilities_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_NRUESecurityCapabilities(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRUESecurityCapabilities_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9701,6 +13478,14 @@ static int dissect_OffsetOfNbiotChannelNumberToEARFCN_PDU(tvbuff_t *tvb _U_, pac offset += 7; offset >>= 3; return offset; } +static int dissect_PDCPChangeIndication_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_PDCPChangeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_PDCPChangeIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9829,6 +13614,22 @@ static int dissect_SCGChangeIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_SecondaryRATUsageReportList_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_SecondaryRATUsageReportList(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATUsageReportList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SecondaryRATUsageReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_SecondaryRATUsageReport_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATUsageReport_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SeNBSecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9853,6 +13654,22 @@ static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr offset += 7; offset >>= 3; return offset; } +static int dissect_SgNBResourceCoordinationInformation_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_SgNBResourceCoordinationInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBResourceCoordinationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNB_UE_X2AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_SgNB_UE_X2AP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNB_UE_X2AP_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SIPTOBearerDeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9885,6 +13702,30 @@ static int dissect_SubframeAssignment_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_SgNBSecurityKey_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_SgNBSecurityKey(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBSecurityKey_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBtoMeNBContainer_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_SgNBtoMeNBContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBtoMeNBContainer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SCGConfigurationQuery_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_SCGConfigurationQuery(tvb, offset, &asn1_ctx, tree, hf_x2ap_SCGConfigurationQuery_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TAC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9957,6 +13798,14 @@ static int dissect_UEAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_UEAppLayerMeasConfig_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_UEAppLayerMeasConfig(tvb, offset, &asn1_ctx, tree, hf_x2ap_UEAppLayerMeasConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UE_ContextKeptIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10037,6 +13886,14 @@ static int dissect_UESidelinkAggregateMaximumBitRate_PDU(tvbuff_t *tvb _U_, pack offset += 7; offset >>= 3; return offset; } +static int dissect_UL_scheduling_PDCCH_CCE_usage_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_UL_scheduling_PDCCH_CCE_usage(tvb, offset, &asn1_ctx, tree, hf_x2ap_UL_scheduling_PDCCH_CCE_usage_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; @@ -10101,6 +13958,14 @@ static int dissect_UE_ContextReferenceAtWT_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_UE_ContextReferenceAtSgNB_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_ContextReferenceAtSgNB(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextReferenceAtSgNB_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; @@ -10885,6 +14750,566 @@ static int dissect_RetrieveUEContextFailure_PDU(tvbuff_t *tvb _U_, packet_info * offset += 7; offset >>= 3; return offset; } +static int dissect_SgNBAdditionRequest_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_SgNBAdditionRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeAdded_SgNBAddReqList_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_E_RABs_ToBeAdded_SgNBAddReqList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBAdditionRequestAcknowledge_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_SgNBAdditionRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequestAcknowledge_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeAdded_SgNBAddResList_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_E_RABs_Admitted_ToBeAdded_SgNBAddResList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBAdditionRequestReject_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_SgNBAdditionRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBAdditionRequestReject_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReconfigurationComplete_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_SgNBReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReconfigurationComplete_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ResponseInformationSgNBReconfComp_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_ResponseInformationSgNBReconfComp(tvb, offset, &asn1_ctx, tree, hf_x2ap_ResponseInformationSgNBReconfComp_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationRequest_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_SgNBModificationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UE_ContextInformation_SgNBModReq_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_ContextInformation_SgNBModReq(tvb, offset, &asn1_ctx, tree, hf_x2ap_UE_ContextInformation_SgNBModReq_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeAdded_SgNBModReq_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeModified_SgNBModReq_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeModified_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBModReq_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationRequestAcknowledge_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_SgNBModificationRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequestAcknowledge_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeAdded_SgNBModAckList_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_E_RABs_Admitted_ToBeAdded_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeModified_SgNBModAckList_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_E_RABs_Admitted_ToBeModified_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToBeReleased_SgNBModAckList_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_E_RABs_Admitted_ToBeReleased_SgNBModAckList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationRequestReject_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_SgNBModificationRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequestReject_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationRequired_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_SgNBModificationRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRequired_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBModReqdList_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_E_RABs_ToBeReleased_SgNBModReqdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeModified_SgNBModReqdList_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_E_RABs_ToBeModified_SgNBModReqdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeModified_SgNBModReqd_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationConfirm_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_SgNBModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationConfirm_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBModificationRefuse_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_SgNBModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBModificationRefuse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReleaseRequest_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_SgNBReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBRelReqList_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_E_RABs_ToBeReleased_SgNBRelReqList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReleaseRequestAcknowledge_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_SgNBReleaseRequestAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequestAcknowledge_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReleaseRequestReject_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_SgNBReleaseRequestReject(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequestReject_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReleaseRequired_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_SgNBReleaseRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseRequired_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBReleaseConfirm_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_SgNBReleaseConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBReleaseConfirm_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBRelConfList_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_E_RABs_ToBeReleased_SgNBRelConfList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBCounterCheckRequest_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_SgNBCounterCheckRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBCounterCheckRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_SubjectToSgNBCounterCheck_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_SubjectToSgNBCounterCheck_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBChangeRequired_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_SgNBChangeRequired(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeRequired_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBChangeConfirm_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_SgNBChangeConfirm(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeConfirm_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBChaConfList_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_E_RABs_ToBeReleased_SgNBChaConfList(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RRCTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_RRCTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_RRCTransfer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SgNBChangeRefuse_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_SgNBChangeRefuse(tvb, offset, &asn1_ctx, tree, hf_x2ap_SgNBChangeRefuse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCX2SetupRequest_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_ENDCX2SetupRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_InitiatingNodeType_EndcX2Setup_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_InitiatingNodeType_EndcX2Setup(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedEUTRAcellsENDCX2ManagementList_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_ServedEUTRAcellsENDCX2ManagementList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedNRcellsENDCX2ManagementList_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_ServedNRcellsENDCX2ManagementList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellAssistanceInformation_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_CellAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellAssistanceInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCX2SetupResponse_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_ENDCX2SetupResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RespondingNodeType_EndcX2Setup_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_RespondingNodeType_EndcX2Setup(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EndcX2Setup_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCX2SetupFailure_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_ENDCX2SetupFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCX2SetupFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCConfigurationUpdate_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_ENDCConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_InitiatingNodeType_EndcConfigUpdate_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_InitiatingNodeType_EndcConfigUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedEUTRAcellsToModifyListENDCConfUpd_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_ServedEUTRAcellsToModifyListENDCConfUpd(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedEUTRAcellsToDeleteListENDCConfUpd_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_ServedEUTRAcellsToDeleteListENDCConfUpd(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedNRcellsToModifyENDCConfUpdList_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_ServedNRcellsToModifyENDCConfUpdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedNRcellsToDeleteENDCConfUpdList_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_ServedNRcellsToDeleteENDCConfUpdList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCConfigurationUpdateAcknowledge_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_ENDCConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RespondingNodeType_EndcConfigUpdate_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_RespondingNodeType_EndcConfigUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCConfigurationUpdateFailure_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_ENDCConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCConfigurationUpdateFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCCellActivationRequest_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_ENDCCellActivationRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ServedNRCellsToActivate_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_ServedNRCellsToActivate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ServedNRCellsToActivate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCCellActivationResponse_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_ENDCCellActivationResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ActivatedNRCellList_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_ActivatedNRCellList(tvb, offset, &asn1_ctx, tree, hf_x2ap_ActivatedNRCellList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCCellActivationFailure_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_ENDCCellActivationFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCCellActivationFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SecondaryRATDataUsageReport_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_SecondaryRATDataUsageReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_SecondaryRATDataUsageReport_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10896,7 +15321,7 @@ static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto /*--- End of included file: packet-x2ap-fn.c ---*/ -#line 228 "./asn1/x2ap/packet-x2ap-template.c" +#line 251 "./asn1/x2ap/packet-x2ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -11169,6 +15594,38 @@ void proto_register_x2ap(void) { { "TM10", "x2ap.MDT_Location_Info.transmissionModes.tm10", FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x01, NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA1, + { "128-NEA1", "x2ap.NRencryptionAlgorithms.NEA1", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA2, + { "128-NEA2", "x2ap.NRencryptionAlgorithms.NEA2", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_NEA3, + { "128-NEA3", "x2ap.NRencryptionAlgorithms.NEA3", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, + NULL, HFILL }}, + { &hf_x2ap_NRencryptionAlgorithms_Reserved, + { "Reserved", "x2ap.NRencryptionAlgorithms.Reserved", + FT_UINT16, BASE_HEX, NULL, 0x1fff, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA1, + { "128-NIA1", "x2ap.NRintegrityProtectionAlgorithms.NIA1", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x8000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA2, + { "128-NIA2", "x2ap.NRintegrityProtectionAlgorithms.NIA2", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x4000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_NIA3, + { "128-NIA3", "x2ap.NRintegrityProtectionAlgorithms.NIA3", + FT_BOOLEAN, 16, TFS(&tfs_supported_not_supported), 0x2000, + NULL, HFILL }}, + { &hf_x2ap_NRintegrityProtectionAlgorithms_Reserved, + { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved", + FT_UINT16, BASE_HEX, NULL, 0x1fff, + NULL, HFILL }}, /*--- Included file: packet-x2ap-hfarr.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-hfarr.c" @@ -11180,6 +15637,10 @@ void proto_register_x2ap(void) { { "ABS-Status", "x2ap.ABS_Status_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_ActivationID_PDU, + { "ActivationID", "x2ap.ActivationID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_AdditionalSpecialSubframe_Info_PDU, { "AdditionalSpecialSubframe-Info", "x2ap.AdditionalSpecialSubframe_Info_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11252,6 +15713,10 @@ void proto_register_x2ap(void) { { "DeactivationIndication", "x2ap.DeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0, NULL, HFILL }}, + { &hf_x2ap_DL_scheduling_PDCCH_CCE_usage_PDU, + { "DL-scheduling-PDCCH-CCE-usage", "x2ap.DL_scheduling_PDCCH_CCE_usage", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_DynamicDLTransmissionInformation_PDU, { "DynamicDLTransmissionInformation", "x2ap.DynamicDLTransmissionInformation", FT_UINT32, BASE_DEC, VALS(x2ap_DynamicDLTransmissionInformation_vals), 0, @@ -11276,6 +15741,10 @@ void proto_register_x2ap(void) { { "E-RAB-Item", "x2ap.E_RAB_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_E_RABUsageReport_Item_PDU, + { "E-RABUsageReport-Item", "x2ap.E_RABUsageReport_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_EUTRANCellIdentifier_PDU, { "EUTRANCellIdentifier", "x2ap.EUTRANCellIdentifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -11288,6 +15757,10 @@ void proto_register_x2ap(void) { { "ExtendedULInterferenceOverloadInfo", "x2ap.ExtendedULInterferenceOverloadInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_ExtendedBitRate_PDU, + { "ExtendedBitRate", "x2ap.ExtendedBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + NULL, HFILL }}, { &hf_x2ap_FreqBandIndicatorPriority_PDU, { "FreqBandIndicatorPriority", "x2ap.FreqBandIndicatorPriority", FT_UINT32, BASE_DEC, VALS(x2ap_FreqBandIndicatorPriority_vals), 0, @@ -11296,6 +15769,10 @@ void proto_register_x2ap(void) { { "GlobalENB-ID", "x2ap.GlobalENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_GlobalGNB_ID_PDU, + { "GlobalGNB-ID", "x2ap.GlobalGNB_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_GTPtunnelEndpoint_PDU, { "GTPtunnelEndpoint", "x2ap.GTPtunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11308,10 +15785,18 @@ void proto_register_x2ap(void) { { "GUMMEI", "x2ap.GUMMEI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_GNB_ID_PDU, + { "GNB-ID", "x2ap.GNB_ID", + FT_UINT32, BASE_DEC, VALS(x2ap_GNB_ID_vals), 0, + NULL, HFILL }}, { &hf_x2ap_HandoverReportType_PDU, { "HandoverReportType", "x2ap.HandoverReportType", FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0, NULL, HFILL }}, + { &hf_x2ap_HandoverRestrictionList_PDU, + { "HandoverRestrictionList", "x2ap.HandoverRestrictionList_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_InvokeIndication_PDU, { "InvokeIndication", "x2ap.InvokeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_InvokeIndication_vals), 0, @@ -11368,6 +15853,10 @@ void proto_register_x2ap(void) { { "Measurement-ID", "x2ap.Measurement_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_MeNBResourceCoordinationInformation_PDU, + { "MeNBResourceCoordinationInformation", "x2ap.MeNBResourceCoordinationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_MeNBtoSeNBContainer_PDU, { "MeNBtoSeNBContainer", "x2ap.MeNBtoSeNBContainer", FT_BYTES, BASE_NONE, NULL, 0, @@ -11392,14 +15881,42 @@ void proto_register_x2ap(void) { { "MultibandInfoList", "x2ap.MultibandInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_MeNBtoSgNBContainer_PDU, + { "MeNBtoSgNBContainer", "x2ap.MeNBtoSgNBContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_MCGSplitSRBs_PDU, + { "MCGSplitSRBs", "x2ap.MCGSplitSRBs", + FT_UINT32, BASE_DEC, VALS(x2ap_MCGSplitSRBs_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_MCGSplitSRB_PDU, + { "MCGSplitSRB", "x2ap.MCGSplitSRB_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_UENRMeasurement_PDU, + { "UENRMeasurement", "x2ap.UENRMeasurement_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_Number_of_Antennaports_PDU, { "Number-of-Antennaports", "x2ap.Number_of_Antennaports", FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0, NULL, HFILL }}, + { &hf_x2ap_NRrestriction_PDU, + { "NRrestriction", "x2ap.NRrestriction", + FT_UINT32, BASE_DEC, VALS(x2ap_NRrestriction_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_NRUESecurityCapabilities_PDU, + { "NRUESecurityCapabilities", "x2ap.NRUESecurityCapabilities_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU, { "OffsetOfNbiotChannelNumberToEARFCN", "x2ap.OffsetOfNbiotChannelNumberToEARFCN", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals_ext, 0, NULL, HFILL }}, + { &hf_x2ap_PDCPChangeIndication_PDU, + { "PDCPChangeIndication", "x2ap.PDCPChangeIndication", + FT_UINT32, BASE_DEC, VALS(x2ap_PDCPChangeIndication_vals), 0, + NULL, HFILL }}, { &hf_x2ap_PCI_PDU, { "PCI", "x2ap.PCI", FT_UINT32, BASE_DEC, NULL, 0, @@ -11464,6 +15981,14 @@ void proto_register_x2ap(void) { { "SCGChangeIndication", "x2ap.SCGChangeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_SCGChangeIndication_vals), 0, NULL, HFILL }}, + { &hf_x2ap_SecondaryRATUsageReportList_PDU, + { "SecondaryRATUsageReportList", "x2ap.SecondaryRATUsageReportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SecondaryRATUsageReport_Item_PDU, + { "SecondaryRATUsageReport-Item", "x2ap.SecondaryRATUsageReport_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_SeNBSecurityKey_PDU, { "SeNBSecurityKey", "x2ap.SeNBSecurityKey", FT_BYTES, BASE_NONE, NULL, 0, @@ -11476,6 +16001,14 @@ void proto_register_x2ap(void) { { "ServedCells", "x2ap.ServedCells", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_SgNBResourceCoordinationInformation_PDU, + { "SgNBResourceCoordinationInformation", "x2ap.SgNBResourceCoordinationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNB_UE_X2AP_ID_PDU, + { "SgNB-UE-X2AP-ID", "x2ap.SgNB_UE_X2AP_ID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_SIPTOBearerDeactivationIndication_PDU, { "SIPTOBearerDeactivationIndication", "x2ap.SIPTOBearerDeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_SIPTOBearerDeactivationIndication_vals), 0, @@ -11492,6 +16025,18 @@ void proto_register_x2ap(void) { { "SubframeAssignment", "x2ap.SubframeAssignment", FT_UINT32, BASE_DEC, VALS(x2ap_SubframeAssignment_vals), 0, NULL, HFILL }}, + { &hf_x2ap_SgNBSecurityKey_PDU, + { "SgNBSecurityKey", "x2ap.SgNBSecurityKey", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBtoMeNBContainer_PDU, + { "SgNBtoMeNBContainer", "x2ap.SgNBtoMeNBContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SCGConfigurationQuery_PDU, + { "SCGConfigurationQuery", "x2ap.SCGConfigurationQuery", + FT_UINT32, BASE_DEC, VALS(x2ap_SCGConfigurationQuery_vals), 0, + NULL, HFILL }}, { &hf_x2ap_TAC_PDU, { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, @@ -11528,6 +16073,10 @@ void proto_register_x2ap(void) { { "UEAggregateMaximumBitRate", "x2ap.UEAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_UEAppLayerMeasConfig_PDU, + { "UEAppLayerMeasConfig", "x2ap.UEAppLayerMeasConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_UE_ContextKeptIndicator_PDU, { "UE-ContextKeptIndicator", "x2ap.UE_ContextKeptIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_UE_ContextKeptIndicator_vals), 0, @@ -11568,6 +16117,10 @@ void proto_register_x2ap(void) { { "UESidelinkAggregateMaximumBitRate", "x2ap.UESidelinkAggregateMaximumBitRate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_UL_scheduling_PDCCH_CCE_usage_PDU, + { "UL-scheduling-PDCCH-CCE-usage", "x2ap.UL_scheduling_PDCCH_CCE_usage", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_V2XServicesAuthorized_PDU, { "V2XServicesAuthorized", "x2ap.V2XServicesAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11600,6 +16153,10 @@ void proto_register_x2ap(void) { { "UE-ContextReferenceAtWT", "x2ap.UE_ContextReferenceAtWT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_UE_ContextReferenceAtSgNB_PDU, + { "UE-ContextReferenceAtSgNB", "x2ap.UE_ContextReferenceAtSgNB_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_HandoverRequestAcknowledge_PDU, { "HandoverRequestAcknowledge", "x2ap.HandoverRequestAcknowledge_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11992,6 +16549,286 @@ void proto_register_x2ap(void) { { "RetrieveUEContextFailure", "x2ap.RetrieveUEContextFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_SgNBAdditionRequest_PDU, + { "SgNBAdditionRequest", "x2ap.SgNBAdditionRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_PDU, + { "E-RABs-ToBeAdded-SgNBAddReqList", "x2ap.E_RABs_ToBeAdded_SgNBAddReqList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU, + { "E-RABs-ToBeAdded-SgNBAddReq-Item", "x2ap.E_RABs_ToBeAdded_SgNBAddReq_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBAdditionRequestAcknowledge_PDU, + { "SgNBAdditionRequestAcknowledge", "x2ap.SgNBAdditionRequestAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_PDU, + { "E-RABs-Admitted-ToBeAdded-SgNBAddResList", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBAddResList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_PDU, + { "E-RABs-Admitted-ToBeAdded-SgNBAddRes-Item", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBAdditionRequestReject_PDU, + { "SgNBAdditionRequestReject", "x2ap.SgNBAdditionRequestReject_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReconfigurationComplete_PDU, + { "SgNBReconfigurationComplete", "x2ap.SgNBReconfigurationComplete_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ResponseInformationSgNBReconfComp_PDU, + { "ResponseInformationSgNBReconfComp", "x2ap.ResponseInformationSgNBReconfComp", + FT_UINT32, BASE_DEC, VALS(x2ap_ResponseInformationSgNBReconfComp_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationRequest_PDU, + { "SgNBModificationRequest", "x2ap.SgNBModificationRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_UE_ContextInformation_SgNBModReq_PDU, + { "UE-ContextInformation-SgNBModReq", "x2ap.UE_ContextInformation_SgNBModReq_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_PDU, + { "E-RABs-ToBeAdded-SgNBModReq-Item", "x2ap.E_RABs_ToBeAdded_SgNBModReq_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_PDU, + { "E-RABs-ToBeModified-SgNBModReq-Item", "x2ap.E_RABs_ToBeModified_SgNBModReq_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_PDU, + { "E-RABs-ToBeReleased-SgNBModReq-Item", "x2ap.E_RABs_ToBeReleased_SgNBModReq_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationRequestAcknowledge_PDU, + { "SgNBModificationRequestAcknowledge", "x2ap.SgNBModificationRequestAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU, + { "E-RABs-Admitted-ToBeAdded-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBModAckList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU, + { "E-RABs-Admitted-ToBeAdded-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU, + { "E-RABs-Admitted-ToBeModified-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeModified_SgNBModAckList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU, + { "E-RABs-Admitted-ToBeModified-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToBeModified_SgNBModAck_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU, + { "E-RABs-Admitted-ToBeReleased-SgNBModAckList", "x2ap.E_RABs_Admitted_ToBeReleased_SgNBModAckList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU, + { "E-RABs-Admitted-ToReleased-SgNBModAck-Item", "x2ap.E_RABs_Admitted_ToReleased_SgNBModAck_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationRequestReject_PDU, + { "SgNBModificationRequestReject", "x2ap.SgNBModificationRequestReject_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationRequired_PDU, + { "SgNBModificationRequired", "x2ap.SgNBModificationRequired_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_PDU, + { "E-RABs-ToBeReleased-SgNBModReqdList", "x2ap.E_RABs_ToBeReleased_SgNBModReqdList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU, + { "E-RABs-ToBeReleased-SgNBModReqd-Item", "x2ap.E_RABs_ToBeReleased_SgNBModReqd_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_PDU, + { "E-RABs-ToBeModified-SgNBModReqdList", "x2ap.E_RABs_ToBeModified_SgNBModReqdList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_PDU, + { "E-RABs-ToBeModified-SgNBModReqd-Item", "x2ap.E_RABs_ToBeModified_SgNBModReqd_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationConfirm_PDU, + { "SgNBModificationConfirm", "x2ap.SgNBModificationConfirm_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBModificationRefuse_PDU, + { "SgNBModificationRefuse", "x2ap.SgNBModificationRefuse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReleaseRequest_PDU, + { "SgNBReleaseRequest", "x2ap.SgNBReleaseRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_PDU, + { "E-RABs-ToBeReleased-SgNBRelReqList", "x2ap.E_RABs_ToBeReleased_SgNBRelReqList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU, + { "E-RABs-ToBeReleased-SgNBRelReq-Item", "x2ap.E_RABs_ToBeReleased_SgNBRelReq_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReleaseRequestAcknowledge_PDU, + { "SgNBReleaseRequestAcknowledge", "x2ap.SgNBReleaseRequestAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReleaseRequestReject_PDU, + { "SgNBReleaseRequestReject", "x2ap.SgNBReleaseRequestReject_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReleaseRequired_PDU, + { "SgNBReleaseRequired", "x2ap.SgNBReleaseRequired_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBReleaseConfirm_PDU, + { "SgNBReleaseConfirm", "x2ap.SgNBReleaseConfirm_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_PDU, + { "E-RABs-ToBeReleased-SgNBRelConfList", "x2ap.E_RABs_ToBeReleased_SgNBRelConfList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU, + { "E-RABs-ToBeReleased-SgNBRelConf-Item", "x2ap.E_RABs_ToBeReleased_SgNBRelConf_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBCounterCheckRequest_PDU, + { "SgNBCounterCheckRequest", "x2ap.SgNBCounterCheckRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_PDU, + { "E-RABs-SubjectToSgNBCounterCheck-List", "x2ap.E_RABs_SubjectToSgNBCounterCheck_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item_PDU, + { "E-RABs-SubjectToSgNBCounterCheck-Item", "x2ap.E_RABs_SubjectToSgNBCounterCheck_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBChangeRequired_PDU, + { "SgNBChangeRequired", "x2ap.SgNBChangeRequired_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBChangeConfirm_PDU, + { "SgNBChangeConfirm", "x2ap.SgNBChangeConfirm_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_PDU, + { "E-RABs-ToBeReleased-SgNBChaConfList", "x2ap.E_RABs_ToBeReleased_SgNBChaConfList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU, + { "E-RABs-ToBeReleased-SgNBChaConf-Item", "x2ap.E_RABs_ToBeReleased_SgNBChaConf_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_RRCTransfer_PDU, + { "RRCTransfer", "x2ap.RRCTransfer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SgNBChangeRefuse_PDU, + { "SgNBChangeRefuse", "x2ap.SgNBChangeRefuse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCX2SetupRequest_PDU, + { "ENDCX2SetupRequest", "x2ap.ENDCX2SetupRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_InitiatingNodeType_EndcX2Setup_PDU, + { "InitiatingNodeType-EndcX2Setup", "x2ap.InitiatingNodeType_EndcX2Setup", + FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EndcX2Setup_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_PDU, + { "ServedEUTRAcellsENDCX2ManagementList", "x2ap.ServedEUTRAcellsENDCX2ManagementList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRcellsENDCX2ManagementList_PDU, + { "ServedNRcellsENDCX2ManagementList", "x2ap.ServedNRcellsENDCX2ManagementList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellAssistanceInformation_PDU, + { "CellAssistanceInformation", "x2ap.CellAssistanceInformation", + FT_UINT32, BASE_DEC, VALS(x2ap_CellAssistanceInformation_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCX2SetupResponse_PDU, + { "ENDCX2SetupResponse", "x2ap.ENDCX2SetupResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_RespondingNodeType_EndcX2Setup_PDU, + { "RespondingNodeType-EndcX2Setup", "x2ap.RespondingNodeType_EndcX2Setup", + FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EndcX2Setup_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCX2SetupFailure_PDU, + { "ENDCX2SetupFailure", "x2ap.ENDCX2SetupFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCConfigurationUpdate_PDU, + { "ENDCConfigurationUpdate", "x2ap.ENDCConfigurationUpdate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_InitiatingNodeType_EndcConfigUpdate_PDU, + { "InitiatingNodeType-EndcConfigUpdate", "x2ap.InitiatingNodeType_EndcConfigUpdate", + FT_UINT32, BASE_DEC, VALS(x2ap_InitiatingNodeType_EndcConfigUpdate_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_PDU, + { "ServedEUTRAcellsToModifyListENDCConfUpd", "x2ap.ServedEUTRAcellsToModifyListENDCConfUpd", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU, + { "ServedEUTRAcellsToDeleteListENDCConfUpd", "x2ap.ServedEUTRAcellsToDeleteListENDCConfUpd", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_PDU, + { "ServedNRcellsToModifyENDCConfUpdList", "x2ap.ServedNRcellsToModifyENDCConfUpdList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_PDU, + { "ServedNRcellsToDeleteENDCConfUpdList", "x2ap.ServedNRcellsToDeleteENDCConfUpdList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCConfigurationUpdateAcknowledge_PDU, + { "ENDCConfigurationUpdateAcknowledge", "x2ap.ENDCConfigurationUpdateAcknowledge_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_RespondingNodeType_EndcConfigUpdate_PDU, + { "RespondingNodeType-EndcConfigUpdate", "x2ap.RespondingNodeType_EndcConfigUpdate", + FT_UINT32, BASE_DEC, VALS(x2ap_RespondingNodeType_EndcConfigUpdate_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCConfigurationUpdateFailure_PDU, + { "ENDCConfigurationUpdateFailure", "x2ap.ENDCConfigurationUpdateFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCCellActivationRequest_PDU, + { "ENDCCellActivationRequest", "x2ap.ENDCCellActivationRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRCellsToActivate_PDU, + { "ServedNRCellsToActivate", "x2ap.ServedNRCellsToActivate", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCCellActivationResponse_PDU, + { "ENDCCellActivationResponse", "x2ap.ENDCCellActivationResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ActivatedNRCellList_PDU, + { "ActivatedNRCellList", "x2ap.ActivatedNRCellList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCCellActivationFailure_PDU, + { "ENDCCellActivationFailure", "x2ap.ENDCCellActivationFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SecondaryRATDataUsageReport_PDU, + { "SecondaryRATDataUsageReport", "x2ap.SecondaryRATDataUsageReport_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_X2AP_PDU_PDU, { "X2AP-PDU", "x2ap.X2AP_PDU", FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0, @@ -12136,6 +16973,22 @@ void proto_register_x2ap(void) { { "tAIBased", "x2ap.tAIBased_element", FT_NONE, BASE_NONE, NULL, 0, "TAIBasedMDT", HFILL }}, + { &hf_x2ap_cellBased_01, + { "cellBased", "x2ap.cellBased_element", + FT_NONE, BASE_NONE, NULL, 0, + "CellBasedQMC", HFILL }}, + { &hf_x2ap_tABased_01, + { "tABased", "x2ap.tABased_element", + FT_NONE, BASE_NONE, NULL, 0, + "TABasedQMC", HFILL }}, + { &hf_x2ap_tAIBased_01, + { "tAIBased", "x2ap.tAIBased_element", + FT_NONE, BASE_NONE, NULL, 0, + "TAIBasedQMC", HFILL }}, + { &hf_x2ap_pLMNAreaBased, + { "pLMNAreaBased", "x2ap.pLMNAreaBased_element", + FT_NONE, BASE_NONE, NULL, 0, + "PLMNAreaBasedQMC", HFILL }}, { &hf_x2ap_key_eNodeB_star, { "key-eNodeB-star", "x2ap.key_eNodeB_star", FT_BYTES, BASE_NONE, NULL, 0, @@ -12168,10 +17021,18 @@ void proto_register_x2ap(void) { { "cellIdListforMDT", "x2ap.cellIdListforMDT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_cellIdListforQMC, + { "cellIdListforQMC", "x2ap.cellIdListforQMC", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_CellIdListforMDT_item, { "ECGI", "x2ap.ECGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_CellIdListforQMC_item, + { "ECGI", "x2ap.ECGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_replacingCellsList, { "replacingCellsList", "x2ap.replacingCellsList", FT_UINT32, BASE_DEC, NULL, 0, @@ -12360,6 +17221,10 @@ void proto_register_x2ap(void) { { "subbandCQIList", "x2ap.subbandCQIList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_highestSuccessDeliveredPDCPSN, + { "highestSuccessDeliveredPDCPSN", "x2ap.highestSuccessDeliveredPDCPSN", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4095", HFILL }}, { &hf_x2ap_naics_active, { "naics-active", "x2ap.naics_active_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12420,6 +17285,18 @@ void proto_register_x2ap(void) { { "long-Macro-eNB-ID", "x2ap.long_Macro_eNB_ID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_21", HFILL }}, + { &hf_x2ap_pDCPatSgNB, + { "pDCPatSgNB", "x2ap.pDCPatSgNB", + FT_UINT32, BASE_DEC, VALS(x2ap_T_pDCPatSgNB_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_mCGresources, + { "mCGresources", "x2ap.mCGresources", + FT_UINT32, BASE_DEC, VALS(x2ap_T_mCGresources_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_sCGresources, + { "sCGresources", "x2ap.sCGresources", + FT_UINT32, BASE_DEC, VALS(x2ap_T_sCGresources_vals), 0, + NULL, HFILL }}, { &hf_x2ap_EPLMNs_item, { "PLMN-Identity", "x2ap.PLMN_Identity", FT_BYTES, BASE_NONE, NULL, 0, @@ -12448,6 +17325,26 @@ void proto_register_x2ap(void) { { "cause", "x2ap.cause", FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0, NULL, HFILL }}, + { &hf_x2ap_E_RABUsageReportList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_startTimeStamp, + { "startTimeStamp", "x2ap.startTimeStamp", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_endTimeStamp, + { "endTimeStamp", "x2ap.endTimeStamp", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_usageCountUL, + { "usageCountUL", "x2ap.usageCountUL", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0, + "INTEGER", HFILL }}, + { &hf_x2ap_usageCountDL, + { "usageCountDL", "x2ap.usageCountDL", + FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_octet_octets, 0, + "INTEGER", HFILL }}, { &hf_x2ap_fDD, { "fDD", "x2ap.fDD_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12544,6 +17441,10 @@ void proto_register_x2ap(void) { { "eNB-ID", "x2ap.eNB_ID", FT_UINT32, BASE_DEC, VALS(x2ap_ENB_ID_vals), 0, NULL, HFILL }}, + { &hf_x2ap_gNB_ID, + { "gNB-ID", "x2ap.gNB_ID", + FT_UINT32, BASE_DEC, VALS(x2ap_GNB_ID_vals), 0, + NULL, HFILL }}, { &hf_x2ap_transportLayerAddress, { "transportLayerAddress", "x2ap.transportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, @@ -12568,6 +17469,10 @@ void proto_register_x2ap(void) { { "mME-Code", "x2ap.mME_Code", FT_UINT8, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_gNB_ID_01, + { "gNB-ID", "x2ap.gNB_ID", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_22_32", HFILL }}, { &hf_x2ap_servingPLMN, { "servingPLMN", "x2ap.servingPLMN", FT_BYTES, BASE_NONE, NULL, 0, @@ -12720,6 +17625,18 @@ void proto_register_x2ap(void) { { "threshold-RSRQ", "x2ap.threshold_RSRQ", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Threshold_RSRQ_fmt), 0, NULL, HFILL }}, + { &hf_x2ap_eUTRA_Cell_ID, + { "eUTRA-Cell-ID", "x2ap.eUTRA_Cell_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + "ECGI", HFILL }}, + { &hf_x2ap_uLCoordinationInformation, + { "uLCoordinationInformation", "x2ap.uLCoordinationInformation", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_6_4400_", HFILL }}, + { &hf_x2ap_dLCoordinationInformation, + { "dLCoordinationInformation", "x2ap.dLCoordinationInformation", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_6_4400_", HFILL }}, { &hf_x2ap_MBMS_Service_Area_Identity_List_item, { "MBMS-Service-Area-Identity", "x2ap.MBMS_Service_Area_Identity", FT_BYTES, BASE_NONE, NULL, 0, @@ -12760,6 +17677,22 @@ void proto_register_x2ap(void) { { "freqBandIndicator", "x2ap.freqBandIndicator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_rrcContainer, + { "rrcContainer", "x2ap.rrcContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_srbType, + { "srbType", "x2ap.srbType", + FT_UINT32, BASE_DEC, VALS(x2ap_SRBType_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_deliveryStatus, + { "deliveryStatus", "x2ap.deliveryStatus_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_uENRMeasurements, + { "uENRMeasurements", "x2ap.uENRMeasurements", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_Neighbour_Information_item, { "Neighbour-Information item", "x2ap.Neighbour_Information_item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12772,6 +17705,18 @@ void proto_register_x2ap(void) { { "eARFCN", "x2ap.eARFCN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_nRcellIdentifier, + { "nRcellIdentifier", "x2ap.nRcellIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nRencryptionAlgorithms, + { "nRencryptionAlgorithms", "x2ap.nRencryptionAlgorithms", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nRintegrityProtectionAlgorithms, + { "nRintegrityProtectionAlgorithms", "x2ap.nRintegrityProtectionAlgorithms", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_rootSequenceIndex, { "rootSequenceIndex", "x2ap.rootSequenceIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -12792,6 +17737,14 @@ void proto_register_x2ap(void) { { "prach-ConfigIndex", "x2ap.prach_ConfigIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, + { &hf_x2ap_plmnListforQMC, + { "plmnListforQMC", "x2ap.plmnListforQMC", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_PLMNListforQMC_item, + { "PLMN-Identity", "x2ap.PLMN_Identity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_proSeDirectDiscovery, { "proSeDirectDiscovery", "x2ap.proSeDirectDiscovery", FT_UINT32, BASE_DEC, VALS(x2ap_ProSeDirectDiscovery_vals), 0, @@ -12884,6 +17837,18 @@ void proto_register_x2ap(void) { { "uLS1TNLLoadIndicator", "x2ap.uLS1TNLLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, + { &hf_x2ap_SecondaryRATUsageReportList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_secondaryRATType, + { "secondaryRATType", "x2ap.secondaryRATType", + FT_UINT32, BASE_DEC, VALS(x2ap_T_secondaryRATType_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_e_RABUsageReportList, + { "e-RABUsageReportList", "x2ap.e_RABUsageReportList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_ServedCells_item, { "ServedCells item", "x2ap.ServedCells_item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12912,6 +17877,10 @@ void proto_register_x2ap(void) { { "eUTRA-Mode-Info", "x2ap.eUTRA_Mode_Info", FT_UINT32, BASE_DEC, VALS(x2ap_EUTRA_Mode_Info_vals), 0, NULL, HFILL }}, + { &hf_x2ap_nR_CGI, + { "nR-CGI", "x2ap.nR_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, { &hf_x2ap_specialSubframePatterns, { "specialSubframePatterns", "x2ap.specialSubframePatterns", FT_UINT32, BASE_DEC, VALS(x2ap_SpecialSubframePatterns_vals), 0, @@ -12976,6 +17945,22 @@ void proto_register_x2ap(void) { { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_tAListforQMC, + { "tAListforQMC", "x2ap.tAListforQMC", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TAListforQMC_item, + { "TAC", "x2ap.TAC", + FT_UINT16, BASE_DEC_HEX, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_tAIListforQMC, + { "tAIListforQMC", "x2ap.tAIListforQMC", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TAIListforQMC_item, + { "TAI-Item", "x2ap.TAI_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_transmission_Bandwidth, { "transmission-Bandwidth", "x2ap.transmission_Bandwidth", FT_UINT32, BASE_DEC, VALS(x2ap_Transmission_Bandwidth_vals), 0, @@ -13016,6 +18001,14 @@ void proto_register_x2ap(void) { { "uEaggregateMaximumBitRateUplink", "x2ap.uEaggregateMaximumBitRateUplink", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, + { &hf_x2ap_containerForAppLayerMeasConfig, + { "containerForAppLayerMeasConfig", "x2ap.containerForAppLayerMeasConfig", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_1000", HFILL }}, + { &hf_x2ap_areaScopeOfQMC, + { "areaScopeOfQMC", "x2ap.areaScopeOfQMC", + FT_UINT32, BASE_DEC, VALS(x2ap_AreaScopeOfQMC_vals), 0, + NULL, HFILL }}, { &hf_x2ap_UE_HistoryInformation_item, { "LastVisitedCell-Item", "x2ap.LastVisitedCell_Item", FT_UINT32, BASE_DEC, VALS(x2ap_LastVisitedCell_Item_vals), 0, @@ -13032,6 +18025,10 @@ void proto_register_x2ap(void) { { "uESidelinkAggregateMaximumBitRate", "x2ap.uESidelinkAggregateMaximumBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, "BitRate", HFILL }}, + { &hf_x2ap_uL_PDCP, + { "uL-PDCP", "x2ap.uL_PDCP", + FT_UINT32, BASE_DEC, VALS(x2ap_UL_UE_Configuration_vals), 0, + "UL_UE_Configuration", HFILL }}, { &hf_x2ap_UL_HighInterferenceIndicationInfo_item, { "UL-HighInterferenceIndicationInfo-Item", "x2ap.UL_HighInterferenceIndicationInfo_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13168,6 +18165,14 @@ void proto_register_x2ap(void) { { "wT-UE-XwAP-ID", "x2ap.wT_UE_XwAP_ID", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_source_GlobalSgNB_ID, + { "source-GlobalSgNB-ID", "x2ap.source_GlobalSgNB_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + "GlobalGNB_ID", HFILL }}, + { &hf_x2ap_sgNB_UE_X2AP_ID, + { "sgNB-UE-X2AP-ID", "x2ap.sgNB_UE_X2AP_ID", + FT_UINT32, BASE_DEC, 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, @@ -13512,6 +18517,434 @@ void proto_register_x2ap(void) { { "bearerType", "x2ap.bearerType", FT_UINT32, BASE_DEC, VALS(x2ap_BearerType_vals), 0, NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeAdded_SgNBAddReqList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_en_DC_ResourceConfiguration, + { "en-DC-ResourceConfiguration", "x2ap.en_DC_ResourceConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_sgNBPDCPpresent, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_full_E_RAB_Level_QoS_Parameters, + { "full-E-RAB-Level-QoS-Parameters", "x2ap.full_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_max_MCG_admit_E_RAB_Level_QoS_Parameters, + { "max-MCG-admit-E-RAB-Level-QoS-Parameters", "x2ap.max_MCG_admit_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_meNB_DL_GTP_TEIDatMCG, + { "meNB-DL-GTP-TEIDatMCG", "x2ap.meNB_DL_GTP_TEIDatMCG_element", + FT_NONE, BASE_NONE, NULL, 0, + "GTPtunnelEndpoint", HFILL }}, + { &hf_x2ap_requested_SCG_E_RAB_Level_QoS_Parameters, + { "requested-SCG-E-RAB-Level-QoS-Parameters", "x2ap.requested_SCG_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_meNB_UL_GTP_TEIDatPDCP, + { "meNB-UL-GTP-TEIDatPDCP", "x2ap.meNB_UL_GTP_TEIDatPDCP_element", + FT_NONE, BASE_NONE, NULL, 0, + "GTPtunnelEndpoint", HFILL }}, + { &hf_x2ap_rlc_Mode, + { "rlc-Mode", "x2ap.rlc_Mode", + FT_UINT32, BASE_DEC, VALS(x2ap_RLCMode_vals), 0, + "RLCMode", HFILL }}, + { &hf_x2ap_uL_Configuration, + { "uL-Configuration", "x2ap.uL_Configuration_element", + FT_NONE, BASE_NONE, NULL, 0, + "ULConfiguration", HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_01, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_01_vals), 0, + "T_resource_configuration_01", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_01, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_01, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_sgNB_UL_GTP_TEIDatPDCP, + { "sgNB-UL-GTP-TEIDatPDCP", "x2ap.sgNB_UL_GTP_TEIDatPDCP_element", + FT_NONE, BASE_NONE, NULL, 0, + "GTPtunnelEndpoint", HFILL }}, + { &hf_x2ap_mCG_E_RAB_Level_QoS_Parameters, + { "mCG-E-RAB-Level-QoS-Parameters", "x2ap.mCG_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_sgNB_DL_GTP_TEIDatSCG, + { "sgNB-DL-GTP-TEIDatSCG", "x2ap.sgNB_DL_GTP_TEIDatSCG_element", + FT_NONE, BASE_NONE, NULL, 0, + "GTPtunnelEndpoint", HFILL }}, + { &hf_x2ap_success_SgNBReconfComp, + { "success-SgNBReconfComp", "x2ap.success_SgNBReconfComp_element", + FT_NONE, BASE_NONE, NULL, 0, + "ResponseInformationSgNBReconfComp_SuccessItem", HFILL }}, + { &hf_x2ap_reject_by_MeNB_SgNBReconfComp, + { "reject-by-MeNB-SgNBReconfComp", "x2ap.reject_by_MeNB_SgNBReconfComp_element", + FT_NONE, BASE_NONE, NULL, 0, + "ResponseInformationSgNBReconfComp_RejectByMeNBItem", HFILL }}, + { &hf_x2ap_meNBtoSgNBContainer, + { "meNBtoSgNBContainer", "x2ap.meNBtoSgNBContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nRUE_SecurityCapabilities, + { "nRUE-SecurityCapabilities", "x2ap.nRUE_SecurityCapabilities_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRUESecurityCapabilities", HFILL }}, + { &hf_x2ap_sgNB_SecurityKey, + { "sgNB-SecurityKey", "x2ap.sgNB_SecurityKey", + FT_BYTES, BASE_NONE, NULL, 0, + "SgNBSecurityKey", HFILL }}, + { &hf_x2ap_sgNBUEAggregateMaximumBitRate, + { "sgNBUEAggregateMaximumBitRate", "x2ap.sgNBUEAggregateMaximumBitRate_element", + FT_NONE, BASE_NONE, NULL, 0, + "UEAggregateMaximumBitRate", HFILL }}, + { &hf_x2ap_e_RABs_ToBeAdded_01, + { "e-RABs-ToBeAdded", "x2ap.e_RABs_ToBeAdded", + FT_UINT32, BASE_DEC, NULL, 0, + "E_RABs_ToBeAdded_SgNBModReq_List", HFILL }}, + { &hf_x2ap_e_RABs_ToBeModified_01, + { "e-RABs-ToBeModified", "x2ap.e_RABs_ToBeModified", + FT_UINT32, BASE_DEC, NULL, 0, + "E_RABs_ToBeModified_SgNBModReq_List", HFILL }}, + { &hf_x2ap_e_RABs_ToBeReleased_01, + { "e-RABs-ToBeReleased", "x2ap.e_RABs_ToBeReleased", + FT_UINT32, BASE_DEC, NULL, 0, + "E_RABs_ToBeReleased_SgNBModReq_List", HFILL }}, + { &hf_x2ap_E_RABs_ToBeAdded_SgNBModReq_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_02, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_02_vals), 0, + "T_resource_configuration_02", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_02, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_02, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_max_MN_admit_E_RAB_Level_QoS_Parameters, + { "max-MN-admit-E-RAB-Level-QoS-Parameters", "x2ap.max_MN_admit_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReq_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_03, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_03_vals), 0, + "T_resource_configuration_03", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_03, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_03, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReq_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_04, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_04_vals), 0, + "T_resource_configuration_04", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_04, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_04, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_05, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_05_vals), 0, + "T_resource_configuration_05", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_05, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_05, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_06, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_06_vals), 0, + "T_resource_configuration_06", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_06, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_06, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_07, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_07_vals), 0, + "T_resource_configuration_07", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_07, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_07, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBModReqdList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeModified_SgNBModReqdList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_08, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_08_vals), 0, + "T_resource_configuration_08", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_08, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_08, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_requested_MCG_E_RAB_Level_QoS_Parameters, + { "requested-MCG-E-RAB-Level-QoS-Parameters", "x2ap.requested_MCG_E_RAB_Level_QoS_Parameters_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RAB_Level_QoS_Parameters", HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelReqList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_09, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_09_vals), 0, + "T_resource_configuration_09", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_09, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_09, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBRelConfList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_10, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_10_vals), 0, + "T_resource_configuration_10", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_10, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_10, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_E_RABs_SubjectToSgNBCounterCheck_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_E_RABs_ToBeReleased_SgNBChaConfList_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_resource_configuration_11, + { "resource-configuration", "x2ap.resource_configuration", + FT_UINT32, BASE_DEC, VALS(x2ap_T_resource_configuration_11_vals), 0, + "T_resource_configuration_11", HFILL }}, + { &hf_x2ap_sgNBPDCPpresent_11, + { "sgNBPDCPpresent", "x2ap.sgNBPDCPpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent", HFILL }}, + { &hf_x2ap_sgNBPDCPnotpresent_11, + { "sgNBPDCPnotpresent", "x2ap.sgNBPDCPnotpresent_element", + FT_NONE, BASE_NONE, NULL, 0, + "E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent", HFILL }}, + { &hf_x2ap_init_eNB, + { "init-eNB", "x2ap.init_eNB", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolIE_Container", HFILL }}, + { &hf_x2ap_init_en_gNB, + { "init-en-gNB", "x2ap.init_en_gNB", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolIE_Container", HFILL }}, + { &hf_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, + { "ServedEUTRAcellsENDCX2ManagementList item", "x2ap.ServedEUTRAcellsENDCX2ManagementList_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_servedEUTRACellInfo, + { "servedEUTRACellInfo", "x2ap.servedEUTRACellInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "ServedCell_Information", HFILL }}, + { &hf_x2ap_nrNeighbourInfo, + { "nrNeighbourInfo", "x2ap.nrNeighbourInfo", + FT_UINT32, BASE_DEC, NULL, 0, + "NRNeighbour_Information", HFILL }}, + { &hf_x2ap_ServedNRcellsENDCX2ManagementList_item, + { "ServedNRcellsENDCX2ManagementList item", "x2ap.ServedNRcellsENDCX2ManagementList_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_servedNRCellInfo, + { "servedNRCellInfo", "x2ap.servedNRCellInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "ServedNRCell_Information", HFILL }}, + { &hf_x2ap_nRNeighbourInfo, + { "nRNeighbourInfo", "x2ap.nRNeighbourInfo", + FT_UINT32, BASE_DEC, NULL, 0, + "NRNeighbour_Information", HFILL }}, + { &hf_x2ap_nrpCI, + { "nrpCI", "x2ap.nrpCI", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nrCellID, + { "nrCellID", "x2ap.nrCellID_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, + { &hf_x2ap_nrModeInfo, + { "nrModeInfo", "x2ap.nrModeInfo", + FT_UINT32, BASE_DEC, VALS(x2ap_T_nrModeInfo_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_fdd_02, + { "fdd", "x2ap.fdd_element", + FT_NONE, BASE_NONE, NULL, 0, + "FDD_InfoServedNRCell_Information", HFILL }}, + { &hf_x2ap_tdd_02, + { "tdd", "x2ap.tdd_element", + FT_NONE, BASE_NONE, NULL, 0, + "TDD_InfoServedNRCell_Information", HFILL }}, + { &hf_x2ap_ul_NR_ARFCN, + { "ul-NR-ARFCN", "x2ap.ul_NR_ARFCN", + FT_UINT32, BASE_DEC, NULL, 0, + "NRARFCN", HFILL }}, + { &hf_x2ap_dl_NR_ARFCN, + { "dl-NR-ARFCN", "x2ap.dl_NR_ARFCN", + FT_UINT32, BASE_DEC, NULL, 0, + "NRARFCN", HFILL }}, + { &hf_x2ap_ul_NR_TxBW, + { "ul-NR-TxBW", "x2ap.ul_NR_TxBW", + FT_UINT32, BASE_DEC, NULL, 0, + "NR_TxBW", HFILL }}, + { &hf_x2ap_dl_NR_TxBW, + { "dl-NR-TxBW", "x2ap.dl_NR_TxBW", + FT_UINT32, BASE_DEC, NULL, 0, + "NR_TxBW", HFILL }}, + { &hf_x2ap_nR_ARFCN, + { "nR-ARFCN", "x2ap.nR_ARFCN", + FT_UINT32, BASE_DEC, NULL, 0, + "NRARFCN", HFILL }}, + { &hf_x2ap_nR_TxBW, + { "nR-TxBW", "x2ap.nR_TxBW", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_NRNeighbour_Information_item, + { "NRNeighbour-Information item", "x2ap.NRNeighbour_Information_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nrARFCN, + { "nrARFCN", "x2ap.nrARFCN", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_full_list, + { "full-list", "x2ap.full_list", + FT_UINT32, BASE_DEC, VALS(x2ap_T_full_list_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_respond_eNB, + { "respond-eNB", "x2ap.respond_eNB", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolIE_Container", HFILL }}, + { &hf_x2ap_respond_en_gNB, + { "respond-en-gNB", "x2ap.respond_en_gNB", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolIE_Container", HFILL }}, + { &hf_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, + { "ServedEUTRAcellsToModifyListENDCConfUpd item", "x2ap.ServedEUTRAcellsToModifyListENDCConfUpd_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_old_ECGI, + { "old-ECGI", "x2ap.old_ECGI_element", + FT_NONE, BASE_NONE, NULL, 0, + "ECGI", HFILL }}, + { &hf_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd_item, + { "ECGI", "x2ap.ECGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRcellsToModifyENDCConfUpdList_item, + { "ServedNRCellsToModify-Item", "x2ap.ServedNRCellsToModify_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_old_nrcgi, + { "old-nrcgi", "x2ap.old_nrcgi_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, + { &hf_x2ap_servedNRCellInformation, + { "servedNRCellInformation", "x2ap.servedNRCellInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + "ServedNRCell_Information", HFILL }}, + { &hf_x2ap_nrNeighbourInformation, + { "nrNeighbourInformation", "x2ap.nrNeighbourInformation", + FT_UINT32, BASE_DEC, NULL, 0, + "NRNeighbour_Information", HFILL }}, + { &hf_x2ap_nrDeactivationIndication, + { "nrDeactivationIndication", "x2ap.nrDeactivationIndication", + FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0, + "DeactivationIndication", HFILL }}, + { &hf_x2ap_ServedNRcellsToDeleteENDCConfUpdList_item, + { "NRCGI", "x2ap.NRCGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ServedNRCellsToActivate_item, + { "ServedNRCellsToActivate-Item", "x2ap.ServedNRCellsToActivate_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ActivatedNRCellList_item, + { "ActivatedNRCellList-Item", "x2ap.ActivatedNRCellList_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_initiatingMessage, { "initiatingMessage", "x2ap.initiatingMessage_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13538,7 +18971,7 @@ void proto_register_x2ap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-x2ap-hfarr.c ---*/ -#line 501 "./asn1/x2ap/packet-x2ap-template.c" +#line 556 "./asn1/x2ap/packet-x2ap-template.c" }; /* List of subtrees */ @@ -13564,6 +18997,11 @@ void proto_register_x2ap(void) { &ett_x2ap_MDT_Location_Info, &ett_x2ap_transmissionModes, &ett_x2ap_X2AP_Message, + &ett_x2ap_MeNBtoSgNBContainer, + &ett_x2ap_SgNBtoMeNBContainer, + &ett_x2ap_RRCContainer, + &ett_x2ap_NRencryptionAlgorithms, + &ett_x2ap_NRintegrityProtectionAlgorithms, /*--- Included file: packet-x2ap-ettarr.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ettarr.c" @@ -13582,11 +19020,14 @@ void proto_register_x2ap(void) { &ett_x2ap_AdditionalSpecialSubframeExtension_Info, &ett_x2ap_AllocationAndRetentionPriority, &ett_x2ap_AreaScopeOfMDT, + &ett_x2ap_AreaScopeOfQMC, &ett_x2ap_AS_SecurityInformation, &ett_x2ap_BroadcastPLMNs_Item, &ett_x2ap_Cause, &ett_x2ap_CellBasedMDT, + &ett_x2ap_CellBasedQMC, &ett_x2ap_CellIdListforMDT, + &ett_x2ap_CellIdListforQMC, &ett_x2ap_CellReplacingInfo, &ett_x2ap_CellType, &ett_x2ap_CoMPHypothesisSet, @@ -13612,6 +19053,7 @@ void proto_register_x2ap(void) { &ett_x2ap_CSIReportPerCSIProcess_item, &ett_x2ap_CSIReportPerCSIProcessItem, &ett_x2ap_CSIReportPerCSIProcessItem_item, + &ett_x2ap_DeliveryStatus, &ett_x2ap_DynamicDLTransmissionInformation, &ett_x2ap_DynamicNAICSInformation, &ett_x2ap_SEQUENCE_SIZE_0_maxnoofPA_OF_PA_Values, @@ -13619,10 +19061,13 @@ void proto_register_x2ap(void) { &ett_x2ap_EnhancedRNTP, &ett_x2ap_EnhancedRNTPStartTime, &ett_x2ap_ENB_ID, + &ett_x2ap_EN_DC_ResourceConfiguration, &ett_x2ap_EPLMNs, &ett_x2ap_E_RAB_Level_QoS_Parameters, &ett_x2ap_E_RAB_List, &ett_x2ap_E_RAB_Item, + &ett_x2ap_E_RABUsageReportList, + &ett_x2ap_E_RABUsageReport_Item, &ett_x2ap_EUTRA_Mode_Info, &ett_x2ap_ExpectedUEBehaviour, &ett_x2ap_ExpectedUEActivityBehaviour, @@ -13636,10 +19081,12 @@ void proto_register_x2ap(void) { &ett_x2ap_ForbiddenLACs, &ett_x2ap_GBR_QosInformation, &ett_x2ap_GlobalENB_ID, + &ett_x2ap_GlobalGNB_ID, &ett_x2ap_GTPtunnelEndpoint, &ett_x2ap_GUGroupIDList, &ett_x2ap_GU_Group_ID, &ett_x2ap_GUMMEI, + &ett_x2ap_GNB_ID, &ett_x2ap_HandoverRestrictionList, &ett_x2ap_HWLoadIndicator, &ett_x2ap_LastVisitedCell_Item, @@ -13656,6 +19103,7 @@ void proto_register_x2ap(void) { &ett_x2ap_MDT_Configuration, &ett_x2ap_MDTPLMNList, &ett_x2ap_MeasurementThresholdA2, + &ett_x2ap_MeNBResourceCoordinationInformation, &ett_x2ap_MBMS_Service_Area_Identity_List, &ett_x2ap_MBSFN_Subframe_Infolist, &ett_x2ap_MBSFN_Subframe_Info, @@ -13663,9 +19111,15 @@ void proto_register_x2ap(void) { &ett_x2ap_MobilityParametersInformation, &ett_x2ap_MultibandInfoList, &ett_x2ap_BandInfo, + &ett_x2ap_MCGSplitSRB, + &ett_x2ap_UENRMeasurement, &ett_x2ap_Neighbour_Information, &ett_x2ap_Neighbour_Information_item, + &ett_x2ap_NRCGI, + &ett_x2ap_NRUESecurityCapabilities, &ett_x2ap_PRACH_Configuration, + &ett_x2ap_PLMNAreaBasedQMC, + &ett_x2ap_PLMNListforQMC, &ett_x2ap_ProSeAuthorized, &ett_x2ap_RadioResourceStatus, &ett_x2ap_RelativeNarrowbandTxPower, @@ -13677,9 +19131,12 @@ void proto_register_x2ap(void) { &ett_x2ap_RSRPMRList, &ett_x2ap_RSRPMRList_item, &ett_x2ap_S1TNLLoadIndicator, + &ett_x2ap_SecondaryRATUsageReportList, + &ett_x2ap_SecondaryRATUsageReport_Item, &ett_x2ap_ServedCells, &ett_x2ap_ServedCells_item, &ett_x2ap_ServedCell_Information, + &ett_x2ap_SgNBResourceCoordinationInformation, &ett_x2ap_SpecialSubframe_Info, &ett_x2ap_SubbandCQI, &ett_x2ap_SubbandCQICodeword0, @@ -13692,13 +19149,19 @@ void proto_register_x2ap(void) { &ett_x2ap_TAIListforMDT, &ett_x2ap_TAI_Item, &ett_x2ap_TAListforMDT, + &ett_x2ap_TABasedQMC, + &ett_x2ap_TAListforQMC, + &ett_x2ap_TAIBasedQMC, + &ett_x2ap_TAIListforQMC, &ett_x2ap_TDD_Info, &ett_x2ap_TraceActivation, &ett_x2ap_TunnelInformation, &ett_x2ap_UEAggregateMaximumBitRate, + &ett_x2ap_UEAppLayerMeasConfig, &ett_x2ap_UE_HistoryInformation, &ett_x2ap_UESecurityCapabilities, &ett_x2ap_UESidelinkAggregateMaximumBitRate, + &ett_x2ap_ULConfiguration, &ett_x2ap_UL_HighInterferenceIndicationInfo, &ett_x2ap_UL_HighInterferenceIndicationInfo_Item, &ett_x2ap_UL_InterferenceOverloadIndication, @@ -13716,6 +19179,7 @@ void proto_register_x2ap(void) { &ett_x2ap_E_RABs_ToBeSetup_Item, &ett_x2ap_UE_ContextReferenceAtSeNB, &ett_x2ap_UE_ContextReferenceAtWT, + &ett_x2ap_UE_ContextReferenceAtSgNB, &ett_x2ap_HandoverRequestAcknowledge, &ett_x2ap_E_RABs_Admitted_List, &ett_x2ap_E_RABs_Admitted_Item, @@ -13841,13 +19305,136 @@ void proto_register_x2ap(void) { &ett_x2ap_E_RABs_ToBeSetup_ListRetrieve, &ett_x2ap_E_RABs_ToBeSetupRetrieve_Item, &ett_x2ap_RetrieveUEContextFailure, + &ett_x2ap_SgNBAdditionRequest, + &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReqList, + &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item, + &ett_x2ap_T_resource_configuration, + &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeAdded_SgNBAddReq_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBAdditionRequestAcknowledge, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddResList, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item, + &ett_x2ap_T_resource_configuration_01, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBAdditionRequestReject, + &ett_x2ap_SgNBReconfigurationComplete, + &ett_x2ap_ResponseInformationSgNBReconfComp, + &ett_x2ap_ResponseInformationSgNBReconfComp_SuccessItem, + &ett_x2ap_ResponseInformationSgNBReconfComp_RejectByMeNBItem, + &ett_x2ap_SgNBModificationRequest, + &ett_x2ap_UE_ContextInformation_SgNBModReq, + &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_List, + &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item, + &ett_x2ap_T_resource_configuration_02, + &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeAdded_SgNBModReq_Item_SgNBPDCPnotpresent, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_List, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item, + &ett_x2ap_T_resource_configuration_03, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReq_Item_SgNBPDCPnotpresent, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_List, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item, + &ett_x2ap_T_resource_configuration_04, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReq_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBModificationRequestAcknowledge, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAckList, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, + &ett_x2ap_T_resource_configuration_05, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_SgNBPDCPnotpresent, + &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAckList, + &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, + &ett_x2ap_T_resource_configuration_06, + &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_SgNBPDCPnotpresent, + &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAckList, + &ett_x2ap_E_RABs_Admitted_ToReleased_SgNBModAck_Item, + &ett_x2ap_T_resource_configuration_07, + &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBModificationRequestReject, + &ett_x2ap_SgNBModificationRequired, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReqdList, + &ett_x2ap_E_RABs_ToBeReleased_SgNBModReqd_Item, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReqdList, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item, + &ett_x2ap_T_resource_configuration_08, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeModified_SgNBModReqd_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBModificationConfirm, + &ett_x2ap_SgNBModificationRefuse, + &ett_x2ap_SgNBReleaseRequest, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReqList, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item, + &ett_x2ap_T_resource_configuration_09, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelReq_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBReleaseRequestAcknowledge, + &ett_x2ap_SgNBReleaseRequestReject, + &ett_x2ap_SgNBReleaseRequired, + &ett_x2ap_SgNBReleaseConfirm, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConfList, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item, + &ett_x2ap_T_resource_configuration_10, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeReleased_SgNBRelConf_Item_SgNBPDCPnotpresent, + &ett_x2ap_SgNBCounterCheckRequest, + &ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_List, + &ett_x2ap_E_RABs_SubjectToSgNBCounterCheck_Item, + &ett_x2ap_SgNBChangeRequired, + &ett_x2ap_SgNBChangeConfirm, + &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConfList, + &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item, + &ett_x2ap_T_resource_configuration_11, + &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPpresent, + &ett_x2ap_E_RABs_ToBeReleased_SgNBChaConf_Item_SgNBPDCPnotpresent, + &ett_x2ap_RRCTransfer, + &ett_x2ap_SgNBChangeRefuse, + &ett_x2ap_ENDCX2SetupRequest, + &ett_x2ap_InitiatingNodeType_EndcX2Setup, + &ett_x2ap_ServedEUTRAcellsENDCX2ManagementList, + &ett_x2ap_ServedEUTRAcellsENDCX2ManagementList_item, + &ett_x2ap_ServedNRcellsENDCX2ManagementList, + &ett_x2ap_ServedNRcellsENDCX2ManagementList_item, + &ett_x2ap_ServedNRCell_Information, + &ett_x2ap_T_nrModeInfo, + &ett_x2ap_FDD_InfoServedNRCell_Information, + &ett_x2ap_TDD_InfoServedNRCell_Information, + &ett_x2ap_NRNeighbour_Information, + &ett_x2ap_NRNeighbour_Information_item, + &ett_x2ap_CellAssistanceInformation, + &ett_x2ap_ENDCX2SetupResponse, + &ett_x2ap_RespondingNodeType_EndcX2Setup, + &ett_x2ap_ENDCX2SetupFailure, + &ett_x2ap_ENDCConfigurationUpdate, + &ett_x2ap_InitiatingNodeType_EndcConfigUpdate, + &ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd, + &ett_x2ap_ServedEUTRAcellsToModifyListENDCConfUpd_item, + &ett_x2ap_ServedEUTRAcellsToDeleteListENDCConfUpd, + &ett_x2ap_ServedNRcellsToModifyENDCConfUpdList, + &ett_x2ap_ServedNRCellsToModify_Item, + &ett_x2ap_ServedNRcellsToDeleteENDCConfUpdList, + &ett_x2ap_ENDCConfigurationUpdateAcknowledge, + &ett_x2ap_RespondingNodeType_EndcConfigUpdate, + &ett_x2ap_ENDCConfigurationUpdateFailure, + &ett_x2ap_ENDCCellActivationRequest, + &ett_x2ap_ServedNRCellsToActivate, + &ett_x2ap_ServedNRCellsToActivate_Item, + &ett_x2ap_ENDCCellActivationResponse, + &ett_x2ap_ActivatedNRCellList, + &ett_x2ap_ActivatedNRCellList_Item, + &ett_x2ap_ENDCCellActivationFailure, + &ett_x2ap_SecondaryRATDataUsageReport, &ett_x2ap_X2AP_PDU, &ett_x2ap_InitiatingMessage, &ett_x2ap_SuccessfulOutcome, &ett_x2ap_UnsuccessfulOutcome, /*--- End of included file: packet-x2ap-ettarr.c ---*/ -#line 527 "./asn1/x2ap/packet-x2ap-template.c" +#line 587 "./asn1/x2ap/packet-x2ap-template.c" }; module_t *x2ap_module; @@ -13868,7 +19455,7 @@ void proto_register_x2ap(void) { x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_x2ap, FT_UINT32, BASE_DEC); - /* Register configuration options for ports */ + /* Register configuration1 options for ports */ x2ap_module = prefs_register_protocol(proto_x2ap, proto_reg_handoff_x2ap); prefs_register_uint_preference(x2ap_module, "sctp.port", @@ -14024,6 +19611,69 @@ proto_reg_handoff_x2ap(void) 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.ies", id_SgNBSecurityKey, create_dissector_handle(dissect_SgNBSecurityKey_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SgNBUEAggregateMaximumBitRate, create_dissector_handle(dissect_UEAggregateMaximumBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBAddReqList, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBAddReqList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_MeNBtoSgNBContainer, create_dissector_handle(dissect_MeNBtoSgNBContainer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SgNB_UE_X2AP_ID, create_dissector_handle(dissect_SgNB_UE_X2AP_ID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RequestedMCGSplitSRBs, create_dissector_handle(dissect_MCGSplitSRBs_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBAddReq_Item, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBAddReq_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBAddResList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBAddResList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SgNBtoMeNBContainer, create_dissector_handle(dissect_SgNBtoMeNBContainer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_AdmittedMCGSplitSRBs, create_dissector_handle(dissect_MCGSplitSRBs_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBAddRes_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ResponseInformationSgNBReconfComp, create_dissector_handle(dissect_ResponseInformationSgNBReconfComp_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_UE_ContextInformation_SgNBModReq, create_dissector_handle(dissect_UE_ContextInformation_SgNBModReq_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeAdded_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeAdded_SgNBModReq_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReq_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReq_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReq_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBModAckList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_SgNBModAckList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBModAckList, create_dissector_handle(dissect_E_RABs_Admitted_ToBeReleased_SgNBModAckList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeAdded_SgNBModAck_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeModified_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToBeModified_SgNBModAck_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_Admitted_ToBeReleased_SgNBModAck_Item, create_dissector_handle(dissect_E_RABs_Admitted_ToReleased_SgNBModAck_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReqdList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReqdList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReqdList, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReqdList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBModReqd_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBModReqd_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeModified_SgNBModReqd_Item, create_dissector_handle(dissect_E_RABs_ToBeModified_SgNBModReqd_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBChaConfList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBChaConfList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBChaConf_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBChaConf_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReqList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReqList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelReq_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelReq_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelConfList, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelConfList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_ToBeReleased_SgNBRelConf_Item, create_dissector_handle(dissect_E_RABs_ToBeReleased_SgNBRelConf_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToSgNBCounterCheck_List, create_dissector_handle(dissect_E_RABs_SubjectToSgNBCounterCheck_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABs_SubjectToSgNBCounterCheck_Item, create_dissector_handle(dissect_E_RABs_SubjectToSgNBCounterCheck_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_Target_SgNB_ID, create_dissector_handle(dissect_GNB_ID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_HandoverRestrictionList, create_dissector_handle(dissect_HandoverRestrictionList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SCGConfigurationQuery, create_dissector_handle(dissect_SCGConfigurationQuery_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_MCGSplitSRB, create_dissector_handle(dissect_MCGSplitSRB_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_UENRMeasurement, create_dissector_handle(dissect_UENRMeasurement_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EndcX2Setup, create_dissector_handle(dissect_InitiatingNodeType_EndcX2Setup_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_InitiatingNodeType_EndcConfigUpdate, create_dissector_handle(dissect_InitiatingNodeType_EndcConfigUpdate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RespondingNodeType_EndcX2Setup, create_dissector_handle(dissect_RespondingNodeType_EndcX2Setup_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RespondingNodeType_EndcConfigUpdate, create_dissector_handle(dissect_RespondingNodeType_EndcConfigUpdate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_NRUESecurityCapabilities, create_dissector_handle(dissect_NRUESecurityCapabilities_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_PDCPChangeIndication, create_dissector_handle(dissect_PDCPChangeIndication_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsENDCX2ManagementList, create_dissector_handle(dissect_ServedEUTRAcellsENDCX2ManagementList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellAssistanceInformation, create_dissector_handle(dissect_CellAssistanceInformation_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_Globalen_gNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedNRcellsENDCX2ManagementList, create_dissector_handle(dissect_ServedNRcellsENDCX2ManagementList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_UE_ContextReferenceAtSgNB, create_dissector_handle(dissect_UE_ContextReferenceAtSgNB_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ActivationID, create_dissector_handle(dissect_ActivationID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_MeNBResourceCoordinationInformation, create_dissector_handle(dissect_MeNBResourceCoordinationInformation_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SgNBResourceCoordinationInformation, create_dissector_handle(dissect_SgNBResourceCoordinationInformation_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsToModifyListENDCConfUpd, create_dissector_handle(dissect_ServedEUTRAcellsToModifyListENDCConfUpd_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedEUTRAcellsToDeleteListENDCConfUpd, create_dissector_handle(dissect_ServedEUTRAcellsToDeleteListENDCConfUpd_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedNRcellsToModifyListENDCConfUpd, create_dissector_handle(dissect_ServedNRcellsToModifyENDCConfUpdList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedNRcellsToDeleteListENDCConfUpd, create_dissector_handle(dissect_ServedNRcellsToDeleteENDCConfUpdList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_E_RABUsageReport_Item, create_dissector_handle(dissect_E_RABUsageReport_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_Old_SgNB_UE_X2AP_ID, create_dissector_handle(dissect_SgNB_UE_X2AP_ID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SecondaryRATUsageReportList, create_dissector_handle(dissect_SecondaryRATUsageReportList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SecondaryRATUsageReport_Item, create_dissector_handle(dissect_SecondaryRATUsageReport_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ServedNRCellsToActivate, create_dissector_handle(dissect_ServedNRCellsToActivate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ActivatedNRCellList, create_dissector_handle(dissect_ActivatedNRCellList_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)); @@ -14078,6 +19728,16 @@ proto_reg_handoff_x2ap(void) 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.extension", id_DL_scheduling_PDCCH_CCE_usage, create_dissector_handle(dissect_DL_scheduling_PDCCH_CCE_usage_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_UL_scheduling_PDCCH_CCE_usage, create_dissector_handle(dissect_UL_scheduling_PDCCH_CCE_usage_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_UEAppLayerMeasConfig, create_dissector_handle(dissect_UEAppLayerMeasConfig_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_e_RAB_MaximumBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_e_RAB_MaximumBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_e_RAB_GuaranteedBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_e_RAB_GuaranteedBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_uEaggregateMaximumBitRateDownlink, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_extended_uEaggregateMaximumBitRateUplink, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_NRrestriction, create_dissector_handle(dissect_NRrestriction_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)); @@ -14129,10 +19789,40 @@ proto_reg_handoff_x2ap(void) dissector_add_uint("x2ap.proc.imsg", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextRequest_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.sout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextResponse_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.uout", id_retrieveUEContext, create_dissector_handle(dissect_RetrieveUEContextFailure_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequestAcknowledge_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_sgNBAdditionPreparation, create_dissector_handle(dissect_SgNBAdditionRequestReject_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBReconfigurationCompletion, create_dissector_handle(dissect_SgNBReconfigurationComplete_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequestAcknowledge_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_meNBinitiatedSgNBModificationPreparation, create_dissector_handle(dissect_SgNBModificationRequestReject_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationRequired_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationConfirm_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_sgNBinitiatedSgNBModification, create_dissector_handle(dissect_SgNBModificationRefuse_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequestAcknowledge_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_meNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequestReject_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseRequired_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_sgNBinitiatedSgNBRelease, create_dissector_handle(dissect_SgNBReleaseConfirm_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBCounterCheck, create_dissector_handle(dissect_SgNBCounterCheckRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeRequired_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeConfirm_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_sgNBChange, create_dissector_handle(dissect_SgNBChangeRefuse_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_rRCTransfer, create_dissector_handle(dissect_RRCTransfer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupResponse_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_endcX2Setup, create_dissector_handle(dissect_ENDCX2SetupFailure_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdateAcknowledge_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_endcConfigurationUpdate, create_dissector_handle(dissect_ENDCConfigurationUpdateFailure_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_secondaryRATDataUsageReport, create_dissector_handle(dissect_SecondaryRATDataUsageReport_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationResponse_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_endcCellActivation, create_dissector_handle(dissect_ENDCCellActivationFailure_PDU, proto_x2ap)); /*--- End of included file: packet-x2ap-dis-tab.c ---*/ -#line 573 "./asn1/x2ap/packet-x2ap-template.c" +#line 633 "./asn1/x2ap/packet-x2ap-template.c" } else { if (SctpPort != 0) { dissector_delete_uint("sctp.port", SctpPort, x2ap_handle);