diff options
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/lte-rrc.cnf | 18 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c | 5 | ||||
-rw-r--r-- | epan/dissectors/asn1/ngap/ngap.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-Constants.asn | 101 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-Containers.asn | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-IEs.asn | 644 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn | 543 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn | 80 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/packet-x2ap-template.c | 78 | ||||
-rw-r--r-- | epan/dissectors/asn1/x2ap/x2ap.cnf | 332 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.c | 155 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.h | 10 | ||||
-rw-r--r-- | epan/dissectors/packet-ngap.c | 266 | ||||
-rw-r--r-- | epan/dissectors/packet-ngap.h | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.c | 15 | ||||
-rw-r--r-- | epan/dissectors/packet-nr-rrc.h | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-x2ap.c | 4505 |
19 files changed, 6177 insertions, 585 deletions
diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf index c18eb34820..d6c91bc656 100644 --- a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf +++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf @@ -46,6 +46,8 @@ WLAN-backhaulRate-r12 #.EXPORTS CellsToAddModListNR-r15_PDU +DL-CarrierConfigCommon-NB-r14_PDU +DL-DCCH-Message_PDU HandoverCommand_PDU HandoverPreparationInformation_PDU HandoverPreparationInformation-NB_PDU @@ -53,6 +55,10 @@ MeasResultSCG-FailureMRDC-r15_PDU MeasResultList3EUTRA-r15_PDU MeasurementReport_PDU MTC-SSB-NR-r15_PDU +NPRACH-ParametersList-NB-r13_PDU +NPRACH-ParametersList-NB-r14_PDU +NPRACH-ParametersListFmt2-NB-r15_PDU +NPRACH-ParametersListTDD-NB-r15_PDU QuantityConfigNR-r15_PDU RLF-Report-NB-r16_PDU RLF-Report-r9_PDU @@ -73,6 +79,10 @@ UEPagingCoverageInformation_PDU UEPagingCoverageInformation-NB_PDU UERadioPagingInformation_PDU UE-EUTRA-Capability_PDU +UL-ConfigCommonList-NB-r14_PDU +UL-ConfigCommonList-NB-v1530_PDU +UL-ConfigCommonListTDD-NB-r15_PDU +UL-DCCH-Message_PDU V2X-BandParameters-r14_PDU V2X-BandParameters-v1530_PDU V2X-SupportedBandCombination-r14_PDU @@ -83,6 +93,7 @@ VisitedCellInfoList-r12_PDU #.PDU CellsToAddModListNR-r15 +DL-CarrierConfigCommon-NB-r14 HandoverCommand HandoverPreparationInformation HandoverPreparationInformation-NB @@ -90,6 +101,10 @@ MTC-SSB-NR-r15 MeasResultSCG-FailureMRDC-r15 MeasResultList3EUTRA-r15 MeasurementReport +NPRACH-ParametersList-NB-r13 +NPRACH-ParametersList-NB-r14 +NPRACH-ParametersListFmt2-NB-r15 +NPRACH-ParametersListTDD-NB-r15 QuantityConfigNR-r15 RLF-Report-NB-r16 RLF-Report-r9 @@ -113,6 +128,9 @@ UERadioAccessCapabilityInformation @ue_radio_access_cap_info UERadioAccessCapabilityInformation-NB @ue_radio_access_cap_info.nb UERadioPagingInformation @ue_radio_paging_info UERadioPagingInformation-NB @ue_radio_paging_info.nb +UL-ConfigCommonList-NB-r14 +UL-ConfigCommonList-NB-v1530 +UL-ConfigCommonListTDD-NB-r15 V2X-BandParameters-r14 V2X-BandParameters-v1530 V2X-SupportedBandCombination-r14 diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c index 54b91db34e..b9f22e10ac 100644 --- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c +++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c @@ -375,7 +375,6 @@ static const fragment_items lte_rrc_sib12_frag_items = { }; /* Forward declarations */ -static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_RRCConnectionReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -3225,7 +3224,7 @@ dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); - dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + dissect_lte_rrc_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); return tvb_captured_length(tvb); } @@ -3255,7 +3254,7 @@ dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); - dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + dissect_lte_rrc_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); return tvb_captured_length(tvb); } diff --git a/epan/dissectors/asn1/ngap/ngap.cnf b/epan/dissectors/asn1/ngap/ngap.cnf index 4818277c2a..1b0d43ccc2 100644 --- a/epan/dissectors/asn1/ngap/ngap.cnf +++ b/epan/dissectors/asn1/ngap/ngap.cnf @@ -16,6 +16,7 @@ ProtocolIE-ID #.EXPORTS LastVisitedNGRANCellInformation_PDU MobilityRestrictionList_PDU +NGRAN-CGI_PDU SourceNGRANNode-ToTargetNGRANNode-TransparentContainer_PDU TargetNGRANNode-ToSourceNGRANNode-TransparentContainer_PDU @@ -27,6 +28,7 @@ HandoverResourceAllocationUnsuccessfulTransfer LastVisitedNGRANCellInformation MobilityRestrictionList NGAP-PDU +NGRAN-CGI PathSwitchRequestAcknowledgeTransfer PathSwitchRequestSetupFailedTransfer PDUSessionResourceModifyUnsuccessfulTransfer diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index a4dc7c6755..5643be886c 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -92,6 +92,7 @@ SidelinkParametersNR-r16_PDU SidelinkUEInformationNR-r16_PDU SL-CBR-r16_PDU SupportedBandCombinationListSidelink-r16_PDU +TDD-UL-DL-ConfigCommon_PDU UE-CapabilityRAT-ContainerList_PDU UE-CapabilityRequestFilterCommon_PDU UE-CapabilityRequestFilterNR_PDU @@ -147,6 +148,7 @@ SIB6 SIB7 SIB8 SIB9 +TDD-UL-DL-ConfigCommon UE-CapabilityRAT-ContainerList UE-CapabilityRequestFilterCommon UE-CapabilityRequestFilterNR diff --git a/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn b/epan/dissectors/asn1/x2ap/X2AP-CommonDataTypes.asn index 5fb8d194f7..ef710513ab 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.6 Common definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-Constants.asn b/epan/dissectors/asn1/x2ap/X2AP-Constants.asn index 2c48164cbe..f7cc765577 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.7 Constant definitions -- ************************************************************** -- @@ -74,6 +74,14 @@ id-gNBStatusIndication ProcedureCode ::= 45 id-deactivateTrace ProcedureCode ::= 46 id-traceStart ProcedureCode ::= 47 id-endcConfigurationTransfer ProcedureCode ::= 48 +id-handoverSuccess ProcedureCode ::= 49 +id-conditionalHandoverCancel ProcedureCode ::= 50 +id-earlyStatusTransfer ProcedureCode ::= 51 +id-cellTrafficTrace ProcedureCode ::= 52 +id-endcresourceStatusReporting ProcedureCode ::= 53 +id-endcresourceStatusReportingInitiation ProcedureCode ::= 54 +id-f1CTrafficTransfer ProcedureCode ::= 55 + -- ************************************************************** -- -- Lists @@ -127,8 +135,15 @@ maxnoofNrCellBands INTEGER ::= 32 maxnoofBluetoothName INTEGER ::= 4 maxnoofWLANName INTEGER ::= 4 maxnoofextBPLMNs INTEGER ::= 12 -maxnoofextBPLMNsminus1 INTEGER ::= 11 -maxnoofBPLMNsminus1 INTEGER ::= 11 +maxnoofTLAs INTEGER ::= 16 +maxnoofGTPTLAs INTEGER ::= 16 +maxnoofTNLAssociations INTEGER ::= 32 +maxnoofCellsinCHO INTEGER ::= 16 +maxnoofPC5QoSFlows INTEGER ::= 2048 +maxnoofSSBAreas INTEGER ::= 64 +maxnoofNRSCSs INTEGER ::= 5 +maxnoofPhysicalResourceBlocks INTEGER ::= 275 +maxnoofNRPhysicalResourceBlocks INTEGER ::= 275 -- ************************************************************** -- @@ -480,27 +495,65 @@ id-BPLMN-ID-Info-EUTRA ProtocolIE-ID ::= 336 id-BPLMN-ID-Info-NR ProtocolIE-ID ::= 337 id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID ::= 338 id-ERABs-transferred-to-MeNB ProtocolIE-ID ::= 339 ---WS extension -id-Unknown-340 ProtocolIE-ID ::= 340 -id-Unknown-341 ProtocolIE-ID ::= 341 -id-Unknown-342 ProtocolIE-ID ::= 342 -id-Unknown-343 ProtocolIE-ID ::= 343 -id-Unknown-344 ProtocolIE-ID ::= 344 -id-Unknown-345 ProtocolIE-ID ::= 345 -id-Unknown-346 ProtocolIE-ID ::= 346 -id-Unknown-347 ProtocolIE-ID ::= 347 -id-Unknown-348 ProtocolIE-ID ::= 348 -id-Unknown-349 ProtocolIE-ID ::= 349 -id-Unknown-350 ProtocolIE-ID ::= 350 -id-Unknown-351 ProtocolIE-ID ::= 351 -id-Unknown-352 ProtocolIE-ID ::= 352 -id-Unknown-353 ProtocolIE-ID ::= 353 -id-Unknown-354 ProtocolIE-ID ::= 354 -id-Unknown-355 ProtocolIE-ID ::= 355 -id-Unknown-356 ProtocolIE-ID ::= 356 -id-Unknown-357 ProtocolIE-ID ::= 357 -id-Unknown-358 ProtocolIE-ID ::= 358 -id-Unknown-359 ProtocolIE-ID ::= 359 +id-AdditionalRRMPriorityIndex ProtocolIE-ID ::= 340 +id-LowerLayerPresenceStatusChange ProtocolIE-ID ::= 341 +id-FastMCGRecovery-SN-to-MN ProtocolIE-ID ::= 342 +id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 343 +id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 344 +id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID ::= 345 +id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID ::= 346 +id-FastMCGRecovery-MN-to-SN ProtocolIE-ID ::= 347 +id-PartialListIndicator ProtocolIE-ID ::= 348 +id-MaximumCellListSize ProtocolIE-ID ::= 349 +id-MessageOversizeNotification ProtocolIE-ID ::= 350 +id-CellandCapacityAssistInfo ProtocolIE-ID ::= 351 +id-TNLConfigurationInfo ProtocolIE-ID ::= 352 +id-TNLA-To-Add-List ProtocolIE-ID ::= 353 +id-TNLA-To-Update-List ProtocolIE-ID ::= 354 +id-TNLA-To-Remove-List ProtocolIE-ID ::= 355 +id-TNLA-Setup-List ProtocolIE-ID ::= 356 +id-TNLA-Failed-To-Setup-List ProtocolIE-ID ::= 357 +id-UnlicensedSpectrumRestriction ProtocolIE-ID ::= 358 +id-UEContextReferenceatSourceNGRAN ProtocolIE-ID ::= 359 id-EPCHandoverRestrictionListContainer ProtocolIE-ID ::= 360 +id-CHOinformation-REQ ProtocolIE-ID ::= 361 +id-CHOinformation-ACK ProtocolIE-ID ::= 362 +id-DAPSRequestInfo ProtocolIE-ID ::= 363 +id-RequestedTargetCellID ProtocolIE-ID ::= 364 +id-CandidateCellsToBeCancelledList ProtocolIE-ID ::= 365 +id-DAPSResponseInfo ProtocolIE-ID ::= 366 +id-ProcedureStage ProtocolIE-ID ::= 367 +id-CHO-DC-Indicator ProtocolIE-ID ::= 368 +id-Ethernet-Type ProtocolIE-ID ::= 369 +id-NRV2XServicesAuthorized ProtocolIE-ID ::= 370 +id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID ::= 371 +id-PC5QoSParameters ProtocolIE-ID ::= 372 +id-NPRACHConfiguration ProtocolIE-ID ::= 373 +id-NBIoT-RLF-Report-Container ProtocolIE-ID ::= 374 +id-MDTConfigurationNR ProtocolIE-ID ::= 375 +id-PrivacyIndicator ProtocolIE-ID ::= 376 +id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 377 +id-UERadioCapabilityID ProtocolIE-ID ::= 378 +id-SNtriggered ProtocolIE-ID ::= 379 +id-CSI-RSTransmissionIndication ProtocolIE-ID ::= 380 +id-DLCarrierList ProtocolIE-ID ::= 381 +id-TargetCellInNGRAN ProtocolIE-ID ::= 382 +id-eNB-Measurement-ID-ENDC ProtocolIE-ID ::= 383 +id-engNB-Measurement-ID-ENDC ProtocolIE-ID ::= 384 +id-TDDULDLConfigurationCommonNR ProtocolIE-ID ::= 385 +id-CarrierList ProtocolIE-ID ::= 386 +id-ULCarrierList ProtocolIE-ID ::= 387 +id-FrequencyShift7p5khz ProtocolIE-ID ::= 388 +id-SSB-PositionsInBurst ProtocolIE-ID ::= 389 +id-NRCellPRACHConfig ProtocolIE-ID ::= 390 +id-CellToReport-ENDC ProtocolIE-ID ::= 391 +id-CellToReport-ENDC-Item ProtocolIE-ID ::= 392 +id-CellMeasurementResult-ENDC ProtocolIE-ID ::= 393 +id-CellMeasurementResult-ENDC-Item ProtocolIE-ID ::= 394 +id-IABNodeIndication ProtocolIE-ID ::= 395 +id-QoS-Mapping-Information ProtocolIE-ID ::= 396 +id-F1CTrafficContainer ProtocolIE-ID ::= 397 +id-IABInformation ProtocolIE-ID ::= 398 + END diff --git a/epan/dissectors/asn1/x2ap/X2AP-Containers.asn b/epan/dissectors/asn1/x2ap/X2AP-Containers.asn index 646ce0c335..49990e47f5 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.8 Container definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/x2ap/X2AP-IEs.asn b/epan/dissectors/asn1/x2ap/X2AP-IEs.asn index af0bdfe726..89ecff0d1d 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.5 Information Element definitions -- ************************************************************** -- @@ -76,6 +76,13 @@ IMPORTS id-LastNG-RANPLMNIdentity, id-BPLMN-ID-Info-EUTRA, id-NBIoT-UL-DL-AlignmentOffset, + id-UnlicensedSpectrumRestriction, + id-CarrierList, + id-FrequencyShift7p5khz, + id-NPRACHConfiguration, + id-MDTConfigurationNR, + id-CSI-RSTransmissionIndication, + id-QoS-Mapping-Information, maxnoofBearers, maxCellineNB, @@ -121,8 +128,15 @@ IMPORTS maxnoofWLANName, maxofNRNeighbours, maxnoofextBPLMNs, - maxnoofextBPLMNsminus1, - maxnoofBPLMNsminus1 + maxnoofTLAs, + maxnoofGTPTLAs, + maxnoofTNLAssociations, + maxnoofCellsinCHO, maxnoofPC5QoSFlows, + maxnoofSSBAreas, + maxnoofNRSCSs, + maxnoofPhysicalResourceBlocks, + maxnoofNRPhysicalResourceBlocks + FROM X2AP-Constants @@ -185,6 +199,8 @@ ABS-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ActivationID ::= INTEGER (0..255) +AdditionalRRMPriorityIndex ::= BIT STRING (SIZE(32)) + AdditionalSpecialSubframe-Info ::= SEQUENCE { additionalspecialSubframePatterns AdditionalSpecialSubframePatterns, cyclicPrefixDL CyclicPrefixDL, @@ -228,6 +244,8 @@ AdditionalSpecialSubframePatternsExtension ::= ENUMERATED { ... } +AvailableFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...} + AerialUEsubscriptionInformation ::= ENUMERATED { allowed, not-allowed, @@ -311,7 +329,7 @@ BluetoothMeasConfig::= ENUMERATED {setup,...} BluetoothName ::= OCTET STRING (SIZE (1..248)) -BPLMN-ID-Info-EUTRA ::= SEQUENCE (SIZE(1..maxnoofBPLMNsminus1)) OF BPLMN-ID-Info-EUTRA-Item +BPLMN-ID-Info-EUTRA ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF BPLMN-ID-Info-EUTRA-Item BPLMN-ID-Info-EUTRA-Item ::= SEQUENCE { broadcastPLMNs BroadcastPLMNs-Item, @@ -325,11 +343,11 @@ BPLMN-ID-Info-EUTRA-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } -BPLMN-ID-Info-NR ::= SEQUENCE (SIZE(1..maxnoofextBPLMNsminus1)) OF BPLMN-ID-Info-NR-Item +BPLMN-ID-Info-NR ::= SEQUENCE (SIZE(1..maxnoofextBPLMNs)) OF BPLMN-ID-Info-NR-Item BPLMN-ID-Info-NR-Item ::= SEQUENCE { broadcastPLMNs BroadcastextPLMNs, - fiveGStac FiveGS-TAC OPTIONAL, + fiveGS-TAC FiveGS-TAC OPTIONAL, nr-CI NRCellIdentifier, iE-Extension ProtocolExtensionContainer { {BPLMN-ID-Info-NR-Item-ExtIEs} } OPTIONAL, ... @@ -425,7 +443,9 @@ CauseRadioNetwork ::= ENUMERATED { sCG-Mobility, count-reaches-max-value, unknown-old-en-gNB-UE-X2AP-ID, - pDCP-Overload + pDCP-Overload, + cho-cpc-resources-tobechanged + } @@ -488,6 +508,8 @@ CellType-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +CHO-DC-Indicator ::= ENUMERATED {true, ...} + CNTypeRestrictions ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF CNTypeRestrictionsItem CNTypeRestrictionsItem ::= SEQUENCE { @@ -617,6 +639,12 @@ CoverageModification-Item ::= SEQUENCE { ... } +CPTransportLayerInformation ::= CHOICE { + endpointIPAddress TransportLayerAddress, + endpointIPAddressAndPort TransportLayerAddressAndPort, + ... +} + CriticalityDiagnostics ::= SEQUENCE { procedureCode ProcedureCode OPTIONAL, triggeringMessage TriggeringMessage OPTIONAL, @@ -703,6 +731,47 @@ CyclicPrefixUL ::= ENUMERATED { ... } +CHOtrigger ::= ENUMERATED { + cho-initiation, + cho-replace, + ... +} + +CHOinformation-REQ ::= SEQUENCE { + cho-trigger CHOtrigger, + new-eNB-UE-X2AP-ID UE-X2AP-ID OPTIONAL + -- This IE shall be present if the cho-trigger IE is present and set to "CHO-replace" --, + new-eNB-UE-X2AP-ID-Extension UE-X2AP-ID-Extension OPTIONAL, + cHO-EstimatedArrivalProbability CHO-Probability OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CHOinformation-REQ-ExtIEs} } OPTIONAL, + ... +} + +CHOinformation-REQ-ExtIEs X2AP-PROTOCOL-EXTENSION ::={ + ... +} + +CHOinformation-ACK ::= SEQUENCE { + requestedTargetCellID ECGI, + maxCHOpreparations MaxCHOpreparations OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CHOinformation-ACK-ExtIEs} } OPTIONAL, + ... +} + +CHOinformation-ACK-ExtIEs X2AP-PROTOCOL-EXTENSION ::={ + ... +} + + +CandidateCellsToBeCancelledList ::= SEQUENCE (SIZE (1..maxnoofCellsinCHO)) OF ECGI + +CHO-Probability ::= INTEGER (1..100) + +CSI-RSTransmissionIndication ::= ENUMERATED { + activated, + deactivated, + ... +} -- D @@ -721,6 +790,25 @@ DataTrafficResourceIndication-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +DAPSRequestInfo ::= SEQUENCE { + dAPSIndicator ENUMERATED {daps-HO-required, ...}, + iE-Extensions ProtocolExtensionContainer { {DAPSRequestInfo-ExtIEs} } OPTIONAL, + ... +} + +DAPSRequestInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} +DAPSResponseInfo ::= SEQUENCE { + dAPSResponseIndicator ENUMERATED { daps-HO-accepted, daps-HO-not-accepted,...}, + iE-Extensions ProtocolExtensionContainer { { DAPSResponseInfo-ExtIEs} } OPTIONAL, + ... +} + +DAPSResponseInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + DeactivationIndication::= ENUMERATED { deactivated, ... @@ -848,7 +936,7 @@ EN-DC-ResourceConfigurationExtIEs X2AP-PROTOCOL-EXTENSION ::= { } EPCHandoverRestrictionListContainer ::= OCTET STRING --- The octets of the OCTET STRING contain the Handover Restriction List IE as specified in TS 36.413 [4]. -- +-- This octets of the OCTET STRING contain the Handover Restriction List IE as specified in TS 36.413 [4]. -- EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity @@ -900,6 +988,37 @@ E-RAB-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +E-RABsSubjectToEarlyStatusTransfer-List ::= SEQUENCE (SIZE (1.. maxnoofBearers)) OF E-RABsSubjectToEarlyStatusTransfer-Item + +E-RABsSubjectToEarlyStatusTransfer-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + fIRST-DL-COUNTValue COUNTvalue, + fIRST-DL-COUNTValueExtended COUNTValueExtended OPTIONAL, + fIRST-DL-COUNTValueforPDCPSNLength18 COUNTvaluePDCP-SNlength18 OPTIONAL, + iE-Extension ProtocolExtensionContainer { { E-RABsSubjectToEarlyStatusTransfer-Item-ExtIEs} } OPTIONAL, + ... +} + +E-RABsSubjectToEarlyStatusTransfer-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +E-RABsSubjectToDLDiscarding-List ::= SEQUENCE (SIZE (1.. maxnoofBearers)) OF E-RABsSubjectToDLDiscarding-Item + +E-RABsSubjectToDLDiscarding-Item ::= SEQUENCE { + e-RAB-ID E-RAB-ID, + dISCARD-DL-COUNTValue COUNTvalue, + dISCARD-DL-COUNTValueExtended COUNTValueExtended OPTIONAL, + dISCARD-DL-COUNTValueforPDCPSNLength18 COUNTvaluePDCP-SNlength18 OPTIONAL, + iE-Extension ProtocolExtensionContainer { { E-RABsSubjectToDLDiscarding-Item-ExtIEs} } OPTIONAL, + ... +} + +E-RABsSubjectToDLDiscarding-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + E-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-Single-Container { {E-RABUsageReport-ItemIEs} } E-RABUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= { @@ -920,6 +1039,11 @@ E-RABUsageReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +Ethernet-Type ::= ENUMERATED { + true, + ... +} + EUTRA-Mode-Info ::= CHOICE { fDD FDD-Info, tDD TDD-Info, @@ -982,6 +1106,18 @@ ExtendedBitRate ::= INTEGER (10000000001..4000000000000,...) -- F +F1CTrafficContainer ::= OCTET STRING + +FastMCGRecovery ::= SEQUENCE { + rrcContainer RRCContainer OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {FastMCGRecovery-ExtIEs} } OPTIONAL, + ... +} + +FastMCGRecovery-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + FDD-Info ::= SEQUENCE { uL-EARFCN EARFCN, dL-EARFCN EARFCN, @@ -1012,6 +1148,8 @@ FDD-InfoNeighbourServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +FiveQI ::= INTEGER (0..255, ...) + ForbiddenInterRATs ::= ENUMERATED { all, geran, @@ -1075,6 +1213,9 @@ FreqBandNrItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +FrequencyShift7p5khz ::= ENUMERATED {false, true, ...} + + -- G GBR-QosInformation ::= SEQUENCE { @@ -1119,6 +1260,19 @@ GlobalGNB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { GNBOverloadInformation ::= ENUMERATED {overloaded, not-overloaded, ...} +GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofGTPTLAs)) OF GTPTLA-Item + + +GTPTLA-Item ::= SEQUENCE { + gTPTransportLayerAddresses TransportLayerAddress, + iE-Extensions ProtocolExtensionContainer { { GTPTLA-Item-ExtIEs } } OPTIONAL, + ... +} + +GTPTLA-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + GTPtunnelEndpoint ::= SEQUENCE { transportLayerAddress TransportLayerAddress, gTP-TEID GTP-TEI, @@ -1127,6 +1281,7 @@ GTPtunnelEndpoint ::= SEQUENCE { } GTPtunnelEndpoint-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + {ID id-QoS-Mapping-Information CRITICALITY reject EXTENSION QoS-Mapping-Information PRESENCE optional}, ... } @@ -1171,7 +1326,8 @@ HandoverReportType ::= ENUMERATED { hoTooEarly, hoToWrongCell, ..., - interRATpingpong + interRATpingpong, + interSystemPingpong } HandoverRestrictionList ::= SEQUENCE { @@ -1188,7 +1344,8 @@ HandoverRestrictionList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-NRrestrictioninEPSasSecondaryRAT CRITICALITY ignore EXTENSION NRrestrictioninEPSasSecondaryRAT PRESENCE optional}| { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional}| { ID id-NRrestrictionin5GS CRITICALITY ignore EXTENSION NRrestrictionin5GS PRESENCE optional}| - { ID id-LastNG-RANPLMNIdentity CRITICALITY ignore EXTENSION PLMN-Identity PRESENCE optional}, + { ID id-LastNG-RANPLMNIdentity CRITICALITY ignore EXTENSION PLMN-Identity PRESENCE optional}| + { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional}, ... } @@ -1212,6 +1369,18 @@ HWLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { -- I +IABInformation ::= SEQUENCE { + rrcContainer RRCContainer OPTIONAL, + ie-Extensions ProtocolExtensionContainer { {IABInformation-ExtIEs} } OPTIONAL, + ... +} + +IABInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +IABNodeIndication ::= ENUMERATED {true,...} + IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16, ...)) InterfaceInstanceIndication ::= INTEGER (0..255, ...) @@ -1306,6 +1475,14 @@ LocationReportingInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::={ ... } +LowerLayerPresenceStatusChange ::= ENUMERATED { + release-lower-layers, + re-establish-lower-layers, + suspend-lower-layers, + resume-lower-layers, + ... +} + -- M M1PeriodicReporting ::= SEQUENCE { @@ -1411,6 +1588,8 @@ ManagementBasedMDTallowed ::= ENUMERATED {allowed, ...} Masked-IMEISV ::= BIT STRING (SIZE (64)) +MaxCHOpreparations ::= INTEGER(1..16, ...) + MDT-Activation ::= ENUMERATED { immediate-MDT-only, immediate-MDT-and-Trace, @@ -1449,6 +1628,9 @@ MDT-Location-Info ::= BIT STRING (SIZE (8)) Measurement-ID ::= INTEGER (1..4095, ...) +Measurement-ID-ENDC ::= INTEGER (1..4095, ...) + + MeasurementsToActivate::= BIT STRING (SIZE (8)) MeasurementThresholdA2 ::= CHOICE { @@ -1500,6 +1682,8 @@ MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +MDT-ConfigurationNR ::= OCTET STRING + MobilityParametersModificationRange ::= SEQUENCE { handoverTriggerChangeLowerLimit INTEGER (-20..20), handoverTriggerChangeUpperLimit INTEGER (-20..20), @@ -1513,6 +1697,17 @@ MobilityParametersInformation ::= SEQUENCE { MultibandInfoList ::= SEQUENCE (SIZE(1..maxnoofBands)) OF BandInfo +MessageOversizeNotification ::= SEQUENCE { + maximumCellListSize MaximumCellListSize, + iE-Extensions ProtocolExtensionContainer { {MessageOversizeNotification-ExtIEs} } OPTIONAL, + ... +} + +MessageOversizeNotification-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +MaximumCellListSize ::= INTEGER(1..16384, ...) BandInfo ::= SEQUENCE { freqBandIndicator FreqBandIndicator, @@ -1549,6 +1744,8 @@ NBIoT-UL-DL-AlignmentOffset ::= ENUMERATED { ... } +NBIoT-RLF-Report-Container ::= OCTET STRING + Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF SEQUENCE { eCGI ECGI, pCI PCI, @@ -1574,6 +1771,57 @@ Number-of-Antennaports ::= ENUMERATED { ... } +NRCapacityValue ::= SEQUENCE { + capacityValue INTEGER (0..100), + ssbAreaCapacityValue-List SSBAreaCapacityValue-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NRCapacityValue-ExtIEs} } OPTIONAL, + ... +} + +NRCapacityValue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRCarrierList ::= SEQUENCE (SIZE(1..maxnoofNRSCSs)) OF NRCarrierItem + +NRCarrierItem ::= SEQUENCE { + carrierSCS NRSCS, + offsetToCarrier INTEGER (0..2199, ...), + carrierBandwidth INTEGER (0..maxnoofPhysicalResourceBlocks, ...), + iE-Extension ProtocolExtensionContainer { {NRCarrierItem-ExtIEs} } OPTIONAL, + ... +} + +NRCarrierItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRCellCapacityClassValue ::= INTEGER (1..100, ...) + +NRCellPRACHConfig ::= OCTET STRING + +NRCompositeAvailableCapacityGroup ::= SEQUENCE { + compositeAvailableCapacityDL NRCompositeAvailableCapacity, + compositeAvailableCapacityUL NRCompositeAvailableCapacity, + iE-Extensions ProtocolExtensionContainer { {NRCompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL, + ... +} + +NRCompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NRCompositeAvailableCapacity ::= SEQUENCE { + cellCapacityClassValue NRCellCapacityClassValue OPTIONAL, + capacityValue NRCapacityValue, + iE-Extensions ProtocolExtensionContainer { {NRCompositeAvailableCapacity-ExtIEs} } OPTIONAL, + ... +} + +NRCompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + NRFreqInfo ::= SEQUENCE{ nRARFCN INTEGER (0.. 3279165), freqBandListNr SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF FreqBandNrItem, @@ -1584,6 +1832,7 @@ NRFreqInfo ::= SEQUENCE{ } NRFreqInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional}, ... } @@ -1616,9 +1865,79 @@ NRNeighbour-Information ::= SEQUENCE (SIZE (1.. maxofNRNeighbours))OF SEQUENCE { } NRNeighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + {ID id-CSI-RSTransmissionIndication CRITICALITY reject EXTENSION EARFCNExtension PRESENCE optional}, + ... +} + +NPRACHConfiguration::= SEQUENCE { + fdd-or-tdd CHOICE { + fdd NPRACHConfiguration-FDD, + tdd NPRACHConfiguration-TDD, + ... + }, iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-ExtIEs} } OPTIONAL, +... +} + +NPRACHConfiguration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NPRACHConfiguration-FDD::= SEQUENCE { + nprach-CP-length NPRACH-CP-Length, + anchorCarrier-NPRACHConfig OCTET STRING, + anchorCarrier-EDT-NPRACHConfig OCTET STRING OPTIONAL, + anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL, + anchorCarrier-Format2-EDT-NPRACHConfig OCTET STRING OPTIONAL, + non-anchorCarrier-NPRACHConfig OCTET STRING OPTIONAL, + non-anchorCarrier-Format2-NPRACHConfig OCTET STRING OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-FDD-ExtIEs} } OPTIONAL, + +... +} + +NPRACHConfiguration-FDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NPRACHConfiguration-TDD::= SEQUENCE { + nprach-preambleFormat NPRACH-preambleFormat, + anchorCarrier-NPRACHConfigTDD OCTET STRING, + non-anchorCarrierFequencyConfiglist Non-AnchorCarrierFrequencylist OPTIONAL, + non-anchorCarrier-NPRACHConfigTDD OCTET STRING OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { NPRACHConfiguration-TDD-ExtIEs} } OPTIONAL, + +... +} + +NPRACHConfiguration-TDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +NPRACH-CP-Length::= ENUMERATED { + us66dot7, + us266dot7, + ... +} + +NPRACH-preambleFormat::= ENUMERATED {fmt0,fmt1,fmt2,fmt0a,fmt1a,...} + +-- WS modification: define a dedicated type for dissection +Non-anchorCarrierFrequency ::= OCTET STRING + +Non-AnchorCarrierFrequencylist ::= SEQUENCE (SIZE(1..15)) OF + SEQUENCE { +-- WS modification: define a dedicated type for dissection +-- non-anchorCarrioerFrquency OCTET STRING, + non-anchorCarrioerFrquency Non-anchorCarrierFrequency, + iE-Extensions ProtocolExtensionContainer { { Non-AnchorCarrierFrequencylist-ExtIEs} } OPTIONAL, + ... + } + +Non-AnchorCarrierFrequencylist-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } + NRPCI ::= INTEGER (0..1007) NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED { @@ -1626,6 +1945,17 @@ NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED { ... } +NRRadioResourceStatus ::= SEQUENCE { + ssbAreaRadioResourceStatus-List SSBAreaRadioResourceStatus-List, + iE-Extensions ProtocolExtensionContainer { {NRRadioResourceStatus-ExtIEs} } OPTIONAL, + ... +} + +NRRadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + NRrestrictionin5GS ::= ENUMERATED { nRrestrictedin5GS, ... @@ -1663,6 +1993,16 @@ NRUeReport-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +NRUESidelinkAggregateMaximumBitRate ::= SEQUENCE { + uESidelinkAggregateMaximumBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { { NRUESidelinkAggregateMaximumBitRate-ExtIEs} } OPTIONAL, + ... +} + +NRUESidelinkAggregateMaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + NRUESecurityCapabilities ::= SEQUENCE { nRencryptionAlgorithms NRencryptionAlgorithms, nRintegrityProtectionAlgorithms NRintegrityProtectionAlgorithms, @@ -1676,6 +2016,17 @@ NRUESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { NSSS-NumOccasionDifferentPrecoder ::= ENUMERATED { two, four, eight, ...} +NRV2XServicesAuthorized ::= SEQUENCE { + vehicleUE VehicleUE OPTIONAL, + pedestrianUE PedestrianUE OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {NRV2XServicesAuthorized-ExtIEs} } OPTIONAL, + ... +} + +NRV2XServicesAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + -- O OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED { @@ -1725,6 +2076,42 @@ PA-Values ::= ENUMERATED { ... } +PC5QoSParameters ::= SEQUENCE { + pc5QoSFlowList PC5QoSFlowList, + pc5LinkAggregatedBitRates BitRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { PC5QoSParameters-ExtIEs} } OPTIONAL, + ... +} + +PC5QoSParameters-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5QoSFlowList ::= SEQUENCE (SIZE(1..maxnoofPC5QoSFlows)) OF PC5QoSFlowItem + +PC5QoSFlowItem::= SEQUENCE { + pQI FiveQI, + pc5FlowBitRates PC5FlowBitRates OPTIONAL, + range Range OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { PC5QoSFlowItem-ExtIEs} } OPTIONAL, + ... +} + +PC5QoSFlowItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +PC5FlowBitRates ::= SEQUENCE { + guaranteedFlowBitRate BitRate, + maximumFlowBitRate BitRate, + iE-Extensions ProtocolExtensionContainer { { PC5FlowBitRates-ExtIEs} } OPTIONAL, + ... +} + +PC5FlowBitRates-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + PDCPChangeIndication ::= ENUMERATED {s-KgNB-update-required, pDCP-data-recovery-required,...} PDCP-SN ::= INTEGER (0..4095) @@ -1850,10 +2237,29 @@ ProtectedResourceList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +PartialListIndicator ::= ENUMERATED {partial, ...} + +PrivacyIndicator ::= ENUMERATED { + immediate-MDT, + logged-MDT, + ... +} + -- Q QCI ::= INTEGER (0..255) +QoS-Mapping-Information ::= SEQUENCE { +dscp BIT STRING (SIZE(6)) OPTIONAL, +flow-label BIT STRING (SIZE(20)) OPTIONAL, +iE-Extensions ProtocolExtensionContainer { {QoS-Mapping-Information-ExtIEs} } OPTIONAL, +... +} + +QoS-Mapping-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + -- R RadioframeAllocationOffset ::= INTEGER (0..7, ...) @@ -1886,12 +2292,18 @@ RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +Range ::= ENUMERATED {m50, m80, m180, m200, m350, m400, m500, m700, m1000, ...} + +RAN-UE-NGAP-ID ::= INTEGER (0..4294967295) + ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096)) ReceiveStatusOfULPDCPSDUsExtended ::= BIT STRING (SIZE(1..16384)) ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ::= BIT STRING (SIZE(1..131072)) +ReleaseFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...} + Reestablishment-Indication ::= ENUMERATED { reestablished, ... @@ -1905,6 +2317,14 @@ Registration-Request ::= ENUMERATED { add } +Registration-Request-ENDC ::= ENUMERATED { + start, + stop, + add, + ... +} + + RelativeNarrowbandTxPower ::= SEQUENCE { rNTP-PerPRB BIT STRING (SIZE(6..110, ...)), @@ -1946,6 +2366,8 @@ ReportingPeriodicityCSIR ::= ENUMERATED { ... } +ReportCharacteristics-ENDC ::= BIT STRING (SIZE (32)) + ReportingPeriodicityRSRPMR ::= ENUMERATED { one-hundred-20-ms, two-hundred-40-ms, @@ -1956,6 +2378,10 @@ ReportingPeriodicityRSRPMR ::= ENUMERATED { ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} +RequestedFastMCGRecoveryViaSRB3 ::= ENUMERATED {true,...} + +RequestedFastMCGRecoveryViaSRB3Release ::= ENUMERATED {true,...} + ReservedSubframePattern ::= SEQUENCE{ subframeType SubframeType, reservedSubframePattern BIT STRING (SIZE(10..160)), @@ -2087,7 +2513,7 @@ SecondaryRATUsageReport-ItemIEs X2AP-PROTOCOL-IES ::= { SecondaryRATUsageReport-Item ::= SEQUENCE { e-RAB-ID E-RAB-ID, - secondaryRATType ENUMERATED {nr, ...}, + secondaryRATType ENUMERATED {nr, ..., nR-unlicensed }, e-RABUsageReportList E-RABUsageReportList, iE-Extensions ProtocolExtensionContainer { {SecondaryRATUsageReport-Item-ExtIEs} } OPTIONAL, ... @@ -2134,7 +2560,8 @@ ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-FreqBandIndicatorPriority CRITICALITY ignore EXTENSION FreqBandIndicatorPriority PRESENCE optional}| { ID id-BandwidthReducedSI CRITICALITY ignore EXTENSION BandwidthReducedSI PRESENCE optional}| { ID id-ProtectedEUTRAResourceIndication CRITICALITY ignore EXTENSION ProtectedEUTRAResourceIndication PRESENCE optional}| - { ID id-BPLMN-ID-Info-EUTRA CRITICALITY ignore EXTENSION BPLMN-ID-Info-EUTRA PRESENCE optional}, + { ID id-BPLMN-ID-Info-EUTRA CRITICALITY ignore EXTENSION BPLMN-ID-Info-EUTRA PRESENCE optional}| + { ID id-NPRACHConfiguration CRITICALITY ignore EXTENSION NPRACHConfiguration PRESENCE optional}, ... } @@ -2186,6 +2613,11 @@ SGNB-Addition-Trigger-Ind ::= ENUMERATED { ... } +SNtriggered ::=ENUMERATED{ +true, +... +} + SourceOfUEActivityBehaviourInformation ::= ENUMERATED { subscription-information, statistics, @@ -2258,6 +2690,53 @@ SRVCCOperationPossible ::= ENUMERATED { ... } +SSBAreaCapacityValue-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBAreaCapacityValue-Item + +SSBAreaCapacityValue-Item ::= SEQUENCE { + ssbIndex SSBIndex, + ssbAreaCapacityValue INTEGER (0..100), + iE-Extensions ProtocolExtensionContainer { {SSBAreaCapacityValue-ExtIEs} } OPTIONAL, + ... +} + +SSBAreaCapacityValue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +SSBAreaRadioResourceStatus-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBAreaRadioResourceStatus-Item + +SSBAreaRadioResourceStatus-Item ::= SEQUENCE { + ssbIndex SSBIndex, + ssbAreaDLGBRPRBUsage INTEGER (0..100), + ssbAreaULGBRPRBUsage INTEGER (0..100), + ssbAreaDLNonGBRPRBUsage INTEGER (0..100), + ssbAreaULNonGBRPRBUsage INTEGER (0..100), + ssbAreaDLTotalPRBUsage INTEGER (0..100), + ssbAreaULTotalPRBUsage INTEGER (0..100), + ssbAreaDLSchedulingPDCCHCCEUsage INTEGER (0..100) OPTIONAL, + ssbAreaULSchedulingPDCCHCCEUsage INTEGER (0..100) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SSBAreaRadioResourceStatus-ExtIEs} } OPTIONAL, + ... +} + +SSBAreaRadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +SSBIndex ::= INTEGER (0..63) + +SSB-PositionsInBurst ::= CHOICE { + shortBitmap BIT STRING (SIZE (4)), + mediumBitmap BIT STRING (SIZE (8)), + longBitmap BIT STRING (SIZE (64)), + choice-extension ProtocolIE-Single-Container { {SSB-PositionsInBurst-ExtIEs} } +} + +SSB-PositionsInBurst-ExtIEs X2AP-PROTOCOL-IES ::= { + ... +} + + SubbandCQI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } @@ -2345,6 +2824,8 @@ SupportedSULFreqBandItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { } SULInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }| + { ID id-FrequencyShift7p5khz CRITICALITY ignore EXTENSION FrequencyShift7p5khz PRESENCE optional }, ... } @@ -2411,6 +2892,8 @@ TAIBasedQMC-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI-Item +TargetCellInNGRAN ::= OCTET STRING + 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 @@ -2443,6 +2926,9 @@ TDD-InfoNeighbourServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +TDDULDLConfigurationCommonNR ::= OCTET STRING + + Threshold-RSRP ::= INTEGER(0..97) Threshold-RSRQ ::= INTEGER(0..34) @@ -2461,6 +2947,124 @@ Time-UE-StayedInCell ::= INTEGER (0..4095) Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950) +TNLA-To-Add-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Add-Item + +TNLA-To-Add-Item ::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + tNLAssociationUsage TNLAssociationUsage, + iE-Extensions ProtocolExtensionContainer { { TNLA-To-Add-Item-ExtIEs} } OPTIONAL +} + +TNLA-To-Add-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLA-To-Update-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Update-Item + +TNLA-To-Update-Item::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + tNLAssociationUsage TNLAssociationUsage OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TNLA-To-Update-Item-ExtIEs} } OPTIONAL +} + +TNLA-To-Update-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLA-To-Remove-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-To-Remove-Item + +TNLA-To-Remove-Item::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { { TNLA-To-Remove-Item-ExtIEs} } OPTIONAL +} + +TNLA-To-Remove-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLA-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Setup-Item + +TNLA-Setup-Item ::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + iE-Extensions ProtocolExtensionContainer { { TNLA-Setup-Item-ExtIEs} } OPTIONAL, + ... +} + +TNLA-Setup-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLA-Failed-To-Setup-List ::= SEQUENCE (SIZE(1..maxnoofTNLAssociations)) OF TNLA-Failed-To-Setup-Item + +TNLA-Failed-To-Setup-Item ::= SEQUENCE { + tNLAssociationTransportLayerAddress CPTransportLayerInformation, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { TNLA-Failed-To-Setup-Item-ExtIEs} } OPTIONAL +} + +TNLA-Failed-To-Setup-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +TNLAssociationUsage ::= ENUMERATED { + ue, + non-ue, + both, + ... +} + +TNLCapacityIndicator ::= SEQUENCE { + dlTNLMaximumOfferedCapacity INTEGER (1..16777216, ...), + dlTNLAvailableCapacity INTEGER (0..100, ...), + ulTNLMaximumOfferedCapacity INTEGER (1..16777216, ...), + ulTNLAvailableCapacity INTEGER (0..100, ...), + iE-Extensions ProtocolExtensionContainer { {TNLCapacityIndicator-ExtIEs} } OPTIONAL, + ... +} + +TNLCapacityIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +Transport-UP-Layer-Addresses-Info-To-Add-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Add-Item + +Transport-UP-Layer-Addresses-Info-To-Add-Item ::= SEQUENCE { + iP-SecTransportLayerAddress TransportLayerAddress, + gTPTransportLayerAddressesToAdd GTPTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs } } OPTIONAL, + ... +} + +Transport-UP-Layer-Addresses-Info-To-Add-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +Transport-UP-Layer-Addresses-Info-To-Remove-List ::= SEQUENCE (SIZE(1.. maxnoofTLAs)) OF Transport-UP-Layer-Addresses-Info-To-Remove-Item + +Transport-UP-Layer-Addresses-Info-To-Remove-Item ::= SEQUENCE { + iP-SecTransportLayerAddress TransportLayerAddress, + gTPTransportLayerAddressesToRemove GTPTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs } } OPTIONAL, + ... +} + +Transport-UP-Layer-Addresses-Info-To-Remove-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + + +TNLConfigurationInfo ::= SEQUENCE { + transport-UP-Layer-Addresses-Info-To-Add-List Transport-UP-Layer-Addresses-Info-To-Add-List OPTIONAL, + transport-UP-Layer-Addresses-Info-To-Remove-List Transport-UP-Layer-Addresses-Info-To-Remove-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TNLConfigurationInfo-ExtIEs } } OPTIONAL, + ... +} + +TNLConfigurationInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + TraceActivation ::= SEQUENCE { eUTRANTraceID EUTRANTraceID, interfacesToTrace InterfacesToTrace, @@ -2472,7 +3076,9 @@ traceCollectionEntityIPAddress TraceCollectionEntityIPAddress, TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}| - { ID id-UEAppLayerMeasConfig CRITICALITY ignore EXTENSION UEAppLayerMeasConfig PRESENCE optional}, + { ID id-UEAppLayerMeasConfig CRITICALITY ignore EXTENSION UEAppLayerMeasConfig PRESENCE optional}| +-- WS modification: fix what seems to be an obvious typo (id-MDTConfiguration instead of id-MDTConfigurationNR) + { ID id-MDTConfigurationNR CRITICALITY ignore EXTENSION MDT-ConfigurationNR PRESENCE optional}, ... } @@ -2501,6 +3107,11 @@ Transmission-Bandwidth ::= ENUMERATED { TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...)) +TransportLayerAddressAndPort ::= SEQUENCE { + endpointIPAddress TransportLayerAddress, + portnumber Port-Number +} + TunnelInformation ::= SEQUENCE { transportLayerAddress TransportLayerAddress, uDP-Port-Number Port-Number OPTIONAL, @@ -2564,6 +3175,8 @@ UE-X2AP-ID ::= INTEGER (0..4095) UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...) +UERadioCapabilityID ::= OCTET STRING + UE-RLF-Report-Container::= OCTET STRING -- This IE is a transparent container and shall be encoded as the RLF-Report-r9 field contained in the UEInformationResponse message as defined in TS 36.331 [9] @@ -2679,6 +3292,11 @@ UL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100) UL-Total-PRB-usage::= INTEGER (0..100) +UnlicensedSpectrumRestriction ::= ENUMERATED { + unlicensed-restricted, + ... +} + UsableABSInformation ::= CHOICE { fdd UsableABSInformationFDD, tdd UsableABSInformationTDD, diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Contents.asn index 9b5f18dcb7..7ec9e9c4aa 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.4 PDU Definitions -- ************************************************************** -- @@ -38,6 +38,8 @@ IMPORTS DeactivationIndication, DL-Forwarding, DynamicDLTransmissionInformation, + E-RABsSubjectToDLDiscarding-List, + E-RABsSubjectToEarlyStatusTransfer-List, ECGI, E-RAB-ID, E-RAB-Level-QoS-Parameters, @@ -52,6 +54,7 @@ IMPORTS Masked-IMEISV, InvokeIndication, LocationReportingInformation, + LowerLayerPresenceStatusChange, MDT-Configuration, ManagementBasedMDTallowed, MDTPLMNList, @@ -180,7 +183,53 @@ IMPORTS NRNeighbour-Information, InterfaceInstanceIndication, BPLMN-ID-Info-NR, - EPCHandoverRestrictionListContainer + SNtriggered, + EPCHandoverRestrictionListContainer, + AdditionalRRMPriorityIndex, + RequestedFastMCGRecoveryViaSRB3, + AvailableFastMCGRecoveryViaSRB3, + RequestedFastMCGRecoveryViaSRB3Release, + ReleaseFastMCGRecoveryViaSRB3, + FastMCGRecovery, + PartialListIndicator, + MaximumCellListSize, + MessageOversizeNotification, + TNLConfigurationInfo, + TNLA-To-Add-List, + TNLA-To-Update-List, + TNLA-To-Remove-List, + TNLA-Setup-List, + TNLA-Failed-To-Setup-List, + RAN-UE-NGAP-ID, + CHOinformation-REQ, + CHOinformation-ACK, + DAPSRequestInfo, + DAPSResponseInfo, + LowerLayerPresenceStatusChange, + CandidateCellsToBeCancelledList, + CHO-DC-Indicator, + Ethernet-Type, + NRV2XServicesAuthorized, + NRUESidelinkAggregateMaximumBitRate, + PC5QoSParameters, + TargetCellInNGRAN, + Measurement-ID-ENDC, + Registration-Request-ENDC, + ReportCharacteristics-ENDC, + NRRadioResourceStatus, + TNLCapacityIndicator, + NRCompositeAvailableCapacityGroup, + SSBIndex, + TDDULDLConfigurationCommonNR, + NRCarrierList, + SSB-PositionsInBurst, + NRCellPRACHConfig, + NBIoT-RLF-Report-Container, PrivacyIndicator, + UERadioCapabilityID, + CSI-RSTransmissionIndication, + IABNodeIndication, + F1CTrafficContainer, + IABInformation FROM X2AP-IEs @@ -205,9 +254,13 @@ FROM X2AP-Containers id-CellInformation, id-CellInformation-Item, id-CellMeasurementResult, + id-CellMeasurementResult-ENDC, id-CellMeasurementResult-Item, + id-CellMeasurementResult-ENDC-Item, id-CellToReport, + id-CellToReport-ENDC, id-CellToReport-Item, + id-CellToReport-ENDC-Item, id-CompositeAvailableCapacityGroup, id-AerialUEsubscriptionInformation, id-CriticalityDiagnostics, @@ -469,9 +522,58 @@ FROM X2AP-Containers id-additionalPLMNs-Item, id-InterfaceInstanceIndication, id-BPLMN-ID-Info-NR, - id-ERABs-transferred-to-MeNB, + id-SNtriggered, id-EPCHandoverRestrictionListContainer, - + id-ERABs-transferred-to-MeNB, + id-AdditionalRRMPriorityIndex, + id-LowerLayerPresenceStatusChange, + id-FastMCGRecovery-SN-to-MN, + id-FastMCGRecovery-MN-to-SN, + id-RequestedFastMCGRecoveryViaSRB3, + id-AvailableFastMCGRecoveryViaSRB3, + id-RequestedFastMCGRecoveryViaSRB3Release, + id-ReleaseFastMCGRecoveryViaSRB3, + id-PartialListIndicator, + id-MaximumCellListSize, + id-MessageOversizeNotification, + id-CellandCapacityAssistInfo, + id-TNLConfigurationInfo, + id-TNLA-To-Add-List, + id-TNLA-To-Update-List, + id-TNLA-To-Remove-List, + id-TNLA-Setup-List, + id-TNLA-Failed-To-Setup-List, + id-UEContextReferenceatSourceNGRAN, + id-CHOinformation-REQ, + id-CHOinformation-ACK, + id-DAPSRequestInfo, + id-RequestedTargetCellID, + id-CandidateCellsToBeCancelledList, + id-DAPSResponseInfo, + id-ProcedureStage, + id-CHO-DC-Indicator, + id-Ethernet-Type, + id-NRV2XServicesAuthorized, + id-NRUESidelinkAggregateMaximumBitRate, + id-PC5QoSParameters, + id-TargetCellInNGRAN, + id-eNB-Measurement-ID-ENDC, + id-engNB-Measurement-ID-ENDC, + id-TDDULDLConfigurationCommonNR, + id-CarrierList, + id-ULCarrierList, + id-SSB-PositionsInBurst, + id-NRCellPRACHConfig, + id-NBIoT-RLF-Report-Container, + id-MDTConfigurationNR, + id-PrivacyIndicator, + id-TraceCollectionEntityIPAddress, + id-UERadioCapabilityID, + id-CSI-RSTransmissionIndication, + id-DLCarrierList, + id-IABNodeIndication, + id-F1CTrafficContainer, + id-IABInformation, maxCellineNB, maxnoofBearers, maxnoofPDCP-SN, @@ -484,7 +586,8 @@ FROM X2AP-Containers maxnoofPLMNforQMC, maxnoofProtectedResourcePatterns, maxnoNRcellsSpectrumSharingWithE-UTRA, - maxnoofNrCellBands + maxnoofNrCellBands, + maxnoofSSBAreas FROM X2AP-Constants; @@ -521,7 +624,11 @@ HandoverRequest-IEs X2AP-PROTOCOL-IES ::= { { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| { ID id-UE-ContextReferenceAtSgNB CRITICALITY ignore TYPE UE-ContextReferenceAtSgNB PRESENCE optional}| { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}| - { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}| + { ID id-CHOinformation-REQ CRITICALITY ignore TYPE CHOinformation-REQ PRESENCE optional}| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional}| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }| + { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional}, ... } @@ -543,7 +650,10 @@ UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-ManagementBasedMDTallowed CRITICALITY ignore EXTENSION ManagementBasedMDTallowed PRESENCE optional }| { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore EXTENSION MDTPLMNList PRESENCE optional }| { ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional }| -{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }, +{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }| +{ ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional}| +{ ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional}| +{ ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }, ... } @@ -564,7 +674,9 @@ E-RABs-ToBeSetup-Item ::= SEQUENCE { } E-RABs-ToBeSetup-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { - { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}, + { ID id-BearerType CRITICALITY reject EXTENSION BearerType PRESENCE optional}| + { ID id-DAPSRequestInfo CRITICALITY ignore EXTENSION DAPSRequestInfo PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -623,11 +735,12 @@ HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { { ID id-TargeteNBtoSource-eNBTransparentContainer CRITICALITY ignore TYPE TargeteNBtoSource-eNBTransparentContainer PRESENCE mandatory}| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| { ID id-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}| - { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}-- The id-SeNB-UE-X2AP-ID-Extension shall not be sent shall not be sent and shall be ignored, if received.--| + { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}-- The id-SeNB-UE-X2AP-ID-Extension shall not be sent and shall be ignored, if received.--| { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| { ID id-WT-UE-ContextKeptIndicator CRITICALITY ignore TYPE UE-ContextKeptIndicator PRESENCE optional}| - { ID id-ERABs-transferred-to-MeNB CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}, + { ID id-ERABs-transferred-to-MeNB CRITICALITY ignore TYPE E-RAB-List PRESENCE optional}| + { ID id-CHOinformation-ACK CRITICALITY ignore TYPE CHOinformation-ACK PRESENCE optional}, ... } @@ -646,6 +759,7 @@ E-RABs-Admitted-Item ::= SEQUENCE { } E-RABs-Admitted-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-DAPSResponseInfo CRITICALITY reject EXTENSION DAPSResponseInfo PRESENCE optional}, ... } @@ -664,8 +778,8 @@ HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= { { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE 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-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}, - + { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-RequestedTargetCellID CRITICALITY reject TYPE ECGI PRESENCE optional}, ... } @@ -690,10 +804,60 @@ HandoverReport-IEs X2AP-PROTOCOL-IES ::= { { ID id-SourceCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE optional}| { ID id-MobilityInformation CRITICALITY ignore TYPE MobilityInformation PRESENCE optional}| { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional}| - { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}, + { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}| + { ID id-TargetCellInNGRAN CRITICALITY ignore TYPE TargetCellInNGRAN PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to "interSystemPingpong" --, + ... +} + +-- ************************************************************** +-- +-- EARLY STATUS TRANSFER +-- +-- ************************************************************** + +EarlyStatusTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ EarlyStatusTransfer-IEs}}, + ... +} + +EarlyStatusTransfer-IEs X2AP-PROTOCOL-IES ::= { + { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { 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-ProcedureStage CRITICALITY reject TYPE ProcedureStageChoice PRESENCE mandatory}, + ... +} + +ProcedureStageChoice ::= CHOICE { + first-dl-count FirstDLCount, + dl-discarding DLDiscarding, + choice-extension ProtocolIE-Single-Container { {ProcedureStageChoice-ExtIEs} } +} + +ProcedureStageChoice-ExtIEs X2AP-PROTOCOL-IES ::= { + ... +} + +FirstDLCount ::= SEQUENCE { + e-RABsSubjectToEarlyStatusTransfer E-RABsSubjectToEarlyStatusTransfer-List, + iE-Extension ProtocolExtensionContainer { {FirstDLCount-ExtIEs} } OPTIONAL, + ... +} + +FirstDLCount-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } +DLDiscarding ::= SEQUENCE { + e-RABsSubjectToDLDiscarding-List E-RABsSubjectToDLDiscarding-List, + iE-Extension ProtocolExtensionContainer { {DLDiscarding-ExtIEs} } OPTIONAL, + ... +} + +DLDiscarding-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} -- ************************************************************** -- -- SN STATUS TRANSFER @@ -783,6 +947,48 @@ HandoverCancel-IEs X2AP-PROTOCOL-IES ::= { ... } + +-- ************************************************************** +-- +-- HANDOVER SUCCESS +-- +-- ************************************************************** + +HandoverSuccess ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{HandoverSuccess-IEs}}, + ... +} + +HandoverSuccess-IEs X2AP-PROTOCOL-IES ::= { + { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { 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-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory}, + ... +} + +-- ************************************************************** +-- +-- CONDITIONAL HANDOVER CANCEL +-- +-- ************************************************************** + +ConditionalHandoverCancel ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ConditionalHandoverCancel-IEs}}, + ... +} + +ConditionalHandoverCancel-IEs X2AP-PROTOCOL-IES ::= { + { ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| + { ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional}| + { ID id-Cause CRITICALITY ignore TYPE Cause 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 ignore TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-CandidateCellsToBeCancelledList CRITICALITY reject TYPE CandidateCellsToBeCancelledList PRESENCE optional}, + ... +} + -- ************************************************************** -- -- ERROR INDICATION @@ -1303,7 +1509,8 @@ RLFIndication-IEs X2AP-PROTOCOL-IES ::= { { ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional}| { ID id-RRCConnSetupIndicator CRITICALITY reject TYPE RRCConnSetupIndicator PRESENCE optional}| { ID id-RRCConnReestabIndicator CRITICALITY ignore TYPE RRCConnReestabIndicator PRESENCE optional}| - { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}, + { ID id-UE-RLF-Report-Container-for-extended-bands CRITICALITY ignore TYPE UE-RLF-Report-Container-for-extended-bands PRESENCE optional}| + { ID id-NBIoT-RLF-Report-Container CRITICALITY ignore TYPE NBIoT-RLF-Report-Container PRESENCE optional}, ... } @@ -1482,7 +1689,8 @@ E-RABs-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE { E-RABs-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| - { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -1693,7 +1901,8 @@ E-RABs-ToBeAdded-ModReqItem-SCG-Bearer ::= SEQUENCE { E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| - { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -2257,6 +2466,9 @@ RetrieveUEContextRequest ::= SEQUENCE { RetrieveUEContextRequest-IEs X2AP-PROTOCOL-IES ::= { { ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-SeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| +-- Allocated at the new eNB. +-- This IE contains an Extended eNB UE X2AP ID, which, together with the New eNB UE X2AP ID IE +-- represents the eNB UE X2AP ID allocated at the new eNB. { ID id-resumeID CRITICALITY reject TYPE ResumeID PRESENCE mandatory}| { ID id-ShortMAC-I CRITICALITY reject TYPE ShortMAC-I PRESENCE mandatory}| { ID id-NewEUTRANCellIdentifier CRITICALITY reject TYPE EUTRANCellIdentifier PRESENCE mandatory}| @@ -2291,7 +2503,9 @@ RetrieveUEContextResponse-IEs X2AP-PROTOCOL-IES ::= { { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| { ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}| { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}| - { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}| + { ID id-NRV2XServicesAuthorized CRITICALITY ignore TYPE NRV2XServicesAuthorized PRESENCE optional}| + { ID id-PC5QoSParameters CRITICALITY ignore TYPE PC5QoSParameters PRESENCE optional }, ... } @@ -2313,7 +2527,10 @@ UE-ContextInformationRetrieve ::= SEQUENCE { UE-ContextInformationRetrieve-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-UESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION UESidelinkAggregateMaximumBitRate PRESENCE optional }| -{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }, +{ ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional }| +{ ID id-EPCHandoverRestrictionListContainer CRITICALITY ignore EXTENSION EPCHandoverRestrictionListContainer PRESENCE optional }| +{ ID id-NRUESidelinkAggregateMaximumBitRate CRITICALITY ignore EXTENSION NRUESidelinkAggregateMaximumBitRate PRESENCE optional}| +{ ID id-UERadioCapabilityID CRITICALITY reject EXTENSION UERadioCapabilityID PRESENCE optional }, ... } @@ -2334,7 +2551,8 @@ E-RABs-ToBeSetupRetrieve-Item ::= SEQUENCE { E-RABs-ToBeSetupRetrieve-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-uL-GTPtunnelEndpoint CRITICALITY reject EXTENSION GTPtunnelEndpoint PRESENCE mandatory}| - { ID id-dL-Forwarding CRITICALITY ignore EXTENSION DL-Forwarding PRESENCE optional }, + { ID id-dL-Forwarding CRITICALITY ignore EXTENSION DL-Forwarding PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -2388,8 +2606,14 @@ SgNBAdditionRequest-IEs X2AP-PROTOCOL-IES ::= { { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional}| { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}| { ID id-LocationInformationSgNBReporting CRITICALITY ignore TYPE LocationInformationSgNBReporting PRESENCE optional}| - { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}, - ... + { ID id-Masked-IMEISV CRITICALITY ignore TYPE Masked-IMEISV PRESENCE optional}| + { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore TYPE AdditionalRRMPriorityIndex PRESENCE optional}| + { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional}| + { ID id-UEContextReferenceatSourceNGRAN CRITICALITY ignore TYPE RAN-UE-NGAP-ID PRESENCE optional}| + { ID id-ManagementBasedMDTallowed CRITICALITY ignore TYPE ManagementBasedMDTallowed PRESENCE optional }| + { ID id-ManagementBasedMDTPLMNList CRITICALITY ignore TYPE MDTPLMNList PRESENCE optional }| + { ID id-UERadioCapabilityID CRITICALITY reject TYPE UERadioCapabilityID PRESENCE optional}| + { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional}, ... } E-RABs-ToBeAdded-SgNBAddReqList ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-SgNBAddReq-ItemIEs} } @@ -2430,7 +2654,8 @@ E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresent ::= SEQUENCE { E-RABs-ToBeAdded-SgNBAddReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}| - { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -2474,7 +2699,8 @@ SgNBAdditionRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { { ID id-AdmittedSplitSRBs CRITICALITY reject TYPE SplitSRBs PRESENCE optional}| { ID id-SgNBResourceCoordinationInformation CRITICALITY ignore TYPE SgNBResourceCoordinationInformation PRESENCE optional}| { ID id-RRCConfigIndication CRITICALITY reject TYPE RRC-Config-Ind PRESENCE optional}| - { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}, + { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}| + { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional }, ... } @@ -2615,21 +2841,25 @@ SgNBModificationRequest ::= SEQUENCE { } 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-SelectedPLMN 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 reject 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}| - { ID id-RequestedSplitSRBs CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| - { ID id-RequestedSplitSRBsrelease CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| - { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional}| - { ID id-LocationInformationSgNBReporting CRITICALITY ignore TYPE LocationInformationSgNBReporting PRESENCE optional}| - { ID id-MeNBCell-ID CRITICALITY ignore TYPE ECGI PRESENCE optional}, + { 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-SelectedPLMN 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 reject 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}| + { ID id-RequestedSplitSRBs CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| + { ID id-RequestedSplitSRBsrelease CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| + { ID id-DesiredActNotificationLevel CRITICALITY ignore TYPE DesiredActNotificationLevel PRESENCE optional}| + { ID id-LocationInformationSgNBReporting CRITICALITY ignore TYPE LocationInformationSgNBReporting PRESENCE optional}| + { ID id-MeNBCell-ID CRITICALITY ignore TYPE ECGI PRESENCE optional}| + { ID id-RequestedFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3 PRESENCE optional}| + { ID id-RequestedFastMCGRecoveryViaSRB3Release CRITICALITY ignore TYPE RequestedFastMCGRecoveryViaSRB3Release PRESENCE optional}| + { ID id-SNtriggered CRITICALITY ignore TYPE SNtriggered PRESENCE optional}| + { ID id-IABNodeIndication CRITICALITY reject TYPE IABNodeIndication PRESENCE optional}, ... } @@ -2645,7 +2875,9 @@ UE-ContextInformation-SgNBModReq ::= SEQUENCE { } UE-ContextInformationSgNBModReqExtIEs X2AP-PROTOCOL-EXTENSION ::= { - { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}, + { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}| + { ID id-AdditionalRRMPriorityIndex CRITICALITY ignore EXTENSION AdditionalRRMPriorityIndex PRESENCE optional}| + {ID id-LowerLayerPresenceStatusChange CRITICALITY ignore EXTENSION LowerLayerPresenceStatusChange PRESENCE optional}, ... } @@ -2687,7 +2919,8 @@ E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresent ::= SEQUENCE { E-RABs-ToBeAdded-SgNBModReq-Item-SgNBPDCPpresentExtIEs X2AP-PROTOCOL-EXTENSION ::= { { ID id-RLCMode-transferred CRITICALITY ignore EXTENSION RLCMode PRESENCE optional}| - { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}, + { ID id-BearerType CRITICALITY ignore EXTENSION BearerType PRESENCE optional}| + { ID id-Ethernet-Type CRITICALITY ignore EXTENSION Ethernet-Type PRESENCE optional}, ... } @@ -2833,7 +3066,9 @@ SgNBModificationRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= { { ID id-AdmittedSplitSRBs CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| { ID id-AdmittedSplitSRBsrelease CRITICALITY ignore TYPE SplitSRBs PRESENCE optional}| { ID id-RRCConfigIndication CRITICALITY reject TYPE RRC-Config-Ind PRESENCE optional}| - { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}, + { ID id-LocationInformationSgNB CRITICALITY ignore TYPE LocationInformationSgNB PRESENCE optional}| + { ID id-AvailableFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE AvailableFastMCGRecoveryViaSRB3 PRESENCE optional}| + { ID id-ReleaseFastMCGRecoveryViaSRB3 CRITICALITY ignore TYPE ReleaseFastMCGRecoveryViaSRB3 PRESENCE optional}, ... } @@ -3334,7 +3569,7 @@ SgNBReleaseRequired-IEs X2AP-PROTOCOL-IES ::= { { 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 }| { ID id-E-RABs-ToBeReleased-SgNBRelReqdList CRITICALITY ignore TYPE E-RABs-ToBeReleased-SgNBRelReqdList PRESENCE optional }| - { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional }, + { ID id-SgNBtoMeNBContainer CRITICALITY ignore TYPE SgNBtoMeNBContainer PRESENCE optional }, ... } @@ -3557,7 +3792,10 @@ RRCTransfer-IEs X2AP-PROTOCOL-IES ::= { { ID id-SgNB-UE-X2AP-ID CRITICALITY reject TYPE SgNB-UE-X2AP-ID PRESENCE mandatory}| { ID id-SplitSRB CRITICALITY reject TYPE SplitSRB PRESENCE optional}| { ID id-NRUeReport CRITICALITY reject TYPE NRUeReport PRESENCE optional}| - { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}, + { ID id-MeNB-UE-X2AP-ID-Extension CRITICALITY reject TYPE UE-X2AP-ID-Extension PRESENCE optional}| + { ID id-FastMCGRecovery-SN-to-MN CRITICALITY ignore TYPE FastMCGRecovery PRESENCE optional}| + { ID id-FastMCGRecovery-MN-to-SN CRITICALITY ignore TYPE FastMCGRecovery PRESENCE optional}| + { ID id-IABInformation CRITICALITY ignore TYPE IABInformation PRESENCE optional}, ... } @@ -3594,7 +3832,8 @@ ENDCX2SetupRequest ::= SEQUENCE { ENDCX2SetupRequest-IEs X2AP-PROTOCOL-IES ::= { { ID id-InitiatingNodeType-EndcX2Setup CRITICALITY reject TYPE InitiatingNodeType-EndcX2Setup PRESENCE mandatory}| - { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}| + { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional}, ... } @@ -3607,8 +3846,9 @@ InitiatingNodeType-EndcX2Setup ::= CHOICE { 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-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }| -- NOTE: In the current version of this specification the Interface Instance Indication IE is not included in the Initiating NodeType IE -- + { ID id-CellandCapacityAssistInfo CRITICALITY ignore TYPE CellandCapacityAssistInfo PRESENCE optional }, ... } @@ -3625,7 +3865,8 @@ 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}, + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}| + { ID id-PartialListIndicator CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }, ... } @@ -3658,7 +3899,10 @@ ServedNRCell-Information ::= SEQUENCE { ServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { {ID id-additionalPLMNs-Item CRITICALITY ignore EXTENSION AdditionalPLMNs-Item PRESENCE optional}| - { ID id-BPLMN-ID-Info-NR CRITICALITY ignore EXTENSION BPLMN-ID-Info-NR PRESENCE optional}, + { ID id-BPLMN-ID-Info-NR CRITICALITY ignore EXTENSION BPLMN-ID-Info-NR PRESENCE optional}| + { ID id-SSB-PositionsInBurst CRITICALITY ignore EXTENSION SSB-PositionsInBurst PRESENCE optional}| + { ID id-NRCellPRACHConfig CRITICALITY ignore EXTENSION NRCellPRACHConfig PRESENCE optional}| + { ID id-CSI-RSTransmissionIndication CRITICALITY ignore EXTENSION CSI-RSTransmissionIndication PRESENCE optional}, ... } @@ -3672,6 +3916,8 @@ FDD-InfoServedNRCell-Information ::= SEQUENCE { } FDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-ULCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }| + { ID id-DLCarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional }, ... } @@ -3683,6 +3929,19 @@ TDD-InfoServedNRCell-Information ::= SEQUENCE { } TDD-InfoServedNRCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + { ID id-TDDULDLConfigurationCommonNR CRITICALITY ignore EXTENSION TDDULDLConfigurationCommonNR PRESENCE optional}| + { ID id-CarrierList CRITICALITY ignore EXTENSION NRCarrierList PRESENCE optional}, + ... +} + +CellandCapacityAssistInfo::= SEQUENCE { + maximumCellListSize MaximumCellListSize OPTIONAL, + cellAssistanceInformation CellAssistanceInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CellandCapacityAssistInfo-ExtIEs} } OPTIONAL, + ... +} + +CellandCapacityAssistInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { ... } @@ -3728,14 +3987,16 @@ RespondingNodeType-EndcX2Setup ::= CHOICE { 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}| - { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }| + { ID id-CellandCapacityAssistInfo CRITICALITY ignore TYPE CellandCapacityAssistInfo PRESENCE optional }, ... } 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}, + { ID id-ServedNRcellsENDCX2ManagementList CRITICALITY reject TYPE ServedNRcellsENDCX2ManagementList PRESENCE mandatory}| + { ID id-PartialListIndicator CRITICALITY ignore TYPE PartialListIndicator PRESENCE optional }, ... } @@ -3754,7 +4015,8 @@ ENDCX2SetupFailure-IEs X2AP-PROTOCOL-IES ::= { { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional } | - { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }| + { ID id-MessageOversizeNotification CRITICALITY ignore TYPE MessageOversizeNotification PRESENCE optional }, ... } @@ -3771,7 +4033,11 @@ ENDCConfigurationUpdate ::= SEQUENCE { ENDCConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= { { ID id-InitiatingNodeType-EndcConfigUpdate CRITICALITY reject TYPE InitiatingNodeType-EndcConfigUpdate PRESENCE mandatory}| - { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional}| + { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }| + { ID id-TNLA-To-Add-List CRITICALITY ignore TYPE TNLA-To-Add-List PRESENCE optional }| + { ID id-TNLA-To-Update-List CRITICALITY ignore TYPE TNLA-To-Update-List PRESENCE optional }| + { ID id-TNLA-To-Remove-List CRITICALITY ignore TYPE TNLA-To-Remove-List PRESENCE optional }, ... } @@ -3841,7 +4107,11 @@ ENDCConfigurationUpdateAcknowledge ::= SEQUENCE { ENDCConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= { { ID id-RespondingNodeType-EndcConfigUpdate CRITICALITY reject TYPE RespondingNodeType-EndcConfigUpdate PRESENCE mandatory}| - { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }, + { ID id-InterfaceInstanceIndication CRITICALITY reject TYPE InterfaceInstanceIndication PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| + { ID id-TNLConfigurationInfo CRITICALITY ignore TYPE TNLConfigurationInfo PRESENCE optional }| + { ID id-TNLA-Setup-List CRITICALITY ignore TYPE TNLA-Setup-List PRESENCE optional }| + { ID id-TNLA-Failed-To-Setup-List CRITICALITY ignore TYPE TNLA-Failed-To-Setup-List PRESENCE optional }, ... } @@ -3965,6 +4235,133 @@ ENDCCellActivationFailure-IEs X2AP-PROTOCOL-IES ::= { -- ************************************************************** -- +-- EN-DC RESOURCE STATUS REQUEST +-- +-- ************************************************************** + +ENDCResourceStatusRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCResourceStatusRequest-IEs}}, + ... +} + +ENDCResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= { + { ID id-eNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-engNB-Measurement-ID-ENDC CRITICALITY ignore TYPE Measurement-ID-ENDC PRESENCE conditional}| -- The IE shall be present if the Registration Request IE is set to “Stop” or to “Add” + { ID id-Registration-Request CRITICALITY reject TYPE Registration-Request-ENDC PRESENCE mandatory}| + { ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity-ENDC PRESENCE optional}| + { ID id-ReportCharacteristics CRITICALITY ignore TYPE ReportCharacteristics-ENDC PRESENCE conditional}| -- The IE shall be present if the Registration Request IE is set to “Start” + { ID id-CellToReport-ENDC CRITICALITY ignore TYPE CellToReport-ENDC-List PRESENCE optional}, + ... +} + +ReportingPeriodicity-ENDC ::= ENUMERATED {ms500, ms1000, ms2000, ms5000, ms10000, ...} + +CellToReport-ENDC-List ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ProtocolIE-Single-Container { {CellToReport-ENDC-ItemIEs} } + +CellToReport-ENDC-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-CellToReport-ENDC-Item CRITICALITY ignore TYPE CellToReport-ENDC-Item PRESENCE mandatory} +} + +CellToReport-ENDC-Item ::= SEQUENCE { + cell-ID NRCGI, + ssbToReport-List SSBToReport-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CellToReport-ENDC-Item-ExtIEs} } OPTIONAL, + ... +} + +CellToReport-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +SSBToReport-List ::= SEQUENCE (SIZE (1.. maxnoofSSBAreas)) OF SSBToReport-Item + +SSBToReport-Item ::= SEQUENCE { + ssbIndex SSBIndex, + iE-Extensions ProtocolExtensionContainer { {SSBToReport-Item-ExtIEs} } OPTIONAL, + ... +} + +SSBToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- EN-DC RESOURCE STATUS RESPONSE +-- +-- ************************************************************** + +ENDCResourceStatusResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCResourceStatusResponse-IEs}}, + ... +} + +ENDCResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= { + { ID id-eNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-engNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- EN-DC RESOURCE STATUS FAILURE +-- +-- ************************************************************** + +ENDCResourceStatusFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCResourceStatusFailure-IEs}}, + ... +} + +ENDCResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= { + { ID id-eNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-engNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- EN-DC RESOURCE STATUS UPDATE +-- +-- ************************************************************** + +ENDCResourceStatusUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ENDCResourceStatusUpdate-IEs}}, + ... +} + +ENDCResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= { + { ID id-eNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-engNB-Measurement-ID-ENDC CRITICALITY reject TYPE Measurement-ID-ENDC PRESENCE mandatory}| + { ID id-CellMeasurementResult-ENDC CRITICALITY ignore TYPE CellMeasurementResult-ENDC-List PRESENCE optional }, + ... +} + +CellMeasurementResult-ENDC-List ::= SEQUENCE (SIZE (1..maxCellinengNB)) OF ProtocolIE-Single-Container { {CellMeasurementResult-ENDC-ItemIEs} } + +CellMeasurementResult-ENDC-ItemIEs X2AP-PROTOCOL-IES ::= { + { ID id-CellMeasurementResult-ENDC-Item CRITICALITY ignore TYPE CellMeasurementResult-ENDC-Item PRESENCE mandatory} +} + +CellMeasurementResult-ENDC-Item ::= SEQUENCE { + cell-ID NRCGI, + radioResourceStatus NRRadioResourceStatus OPTIONAL, + tnlCapacityIndicator TNLCapacityIndicator OPTIONAL, + compositeAvailableCapacityGroup NRCompositeAvailableCapacityGroup OPTIONAL, + numberofActiveUEs INTEGER (0..16777215, ...) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-ENDC-Item-ExtIEs} } OPTIONAL, + ... +} + +CellMeasurementResult-ENDC-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- -- SECONDARY RAT DATA USAGE REPORT -- -- ************************************************************** @@ -4226,7 +4623,8 @@ DataForwardingAddressIndication-IEs X2AP-PROTOCOL-IES ::= { { ID id-New-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }| { ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory}| { ID id-Old-eNB-UE-X2AP-ID-Extension CRITICALITY ignore TYPE UE-X2AP-ID-Extension PRESENCE optional }| - { ID id-E-RABs-DataForwardingAddress-List CRITICALITY ignore TYPE E-RABs-DataForwardingAddress-List PRESENCE mandatory}, + { ID id-E-RABs-DataForwardingAddress-List CRITICALITY ignore TYPE E-RABs-DataForwardingAddress-List PRESENCE mandatory}| + { ID id-CHO-DC-Indicator CRITICALITY reject TYPE CHO-DC-Indicator PRESENCE optional}, ... } @@ -4319,4 +4717,43 @@ DeactivateTraceIEs X2AP-PROTOCOL-IES ::= { ... } +-- ************************************************************** +-- +-- CELL TRAFFIC TRACE +-- +-- ************************************************************** + +CellTrafficTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CellTrafficTraceIEs} }, + ... +} + +CellTrafficTraceIEs 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-EUTRANTraceID CRITICALITY ignore TYPE EUTRANTraceID PRESENCE mandatory }| + { ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory }| + { ID id-PrivacyIndicator CRITICALITY ignore TYPE PrivacyIndicator PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- F1-C TRAFFIC TRANSFER +-- +-- ************************************************************** + +F1CTrafficTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container {{ F1CTrafficTransfer-IEs}}, + ... +} + +F1CTrafficTransfer-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-F1CTrafficContainer CRITICALITY reject TYPE F1CTrafficContainer PRESENCE mandatory}, + ... +} + + END diff --git a/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn b/epan/dissectors/asn1/x2ap/X2AP-PDU-Descriptions.asn index 4ed07e0c88..fd7ce8f23c 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 V15.9.0 (2020-03) +-- 3GPP TS 36.423 V16.2.0 (2020-07) -- 9.3.3 Elementary Procedure Definitions -- ************************************************************** -- @@ -119,7 +119,18 @@ FROM X2AP-CommonDataTypes GNBStatusIndication, ENDCConfigurationTransfer, DeactivateTrace, - TraceStart + TraceStart, + HandoverSuccess, + EarlyStatusTransfer, + ConditionalHandoverCancel, + ENDCResourceStatusRequest, + ENDCResourceStatusResponse, + ENDCResourceStatusFailure, + ENDCResourceStatusUpdate, + CellTrafficTrace, + F1CTrafficTransfer + + FROM X2AP-PDU-Contents @@ -174,7 +185,15 @@ FROM X2AP-PDU-Contents id-gNBStatusIndication, id-endcConfigurationTransfer, id-deactivateTrace, - id-traceStart + id-traceStart, + id-handoverSuccess, + id-earlyStatusTransfer, + id-conditionalHandoverCancel, + id-endcresourceStatusReporting, + id-endcresourceStatusReportingInitiation, + id-cellTrafficTrace, + id-f1CTrafficTransfer + @@ -269,7 +288,8 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= { endcCellActivation | endcPartialReset | eUTRANRCellResourceCoordination | - endcX2Removal , + endcX2Removal | + endcresourceStatusReportingInitiation , ... } @@ -297,7 +317,13 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= { gNBStatusIndication | endcConfigurationTransfer | deactivateTrace | - traceStart , + traceStart | + handoverSuccess | + earlyStatusTransfer | + conditionalHandoverCancel | + endcresourceStatusReporting | + cellTrafficTrace | + f1CTrafficTransfer , ... } @@ -651,4 +677,48 @@ traceStart X2AP-ELEMENTARY-PROCEDURE ::= { CRITICALITY ignore } +handoverSuccess X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HandoverSuccess + PROCEDURE CODE id-handoverSuccess + CRITICALITY ignore +} + +earlyStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE EarlyStatusTransfer + PROCEDURE CODE id-earlyStatusTransfer + CRITICALITY ignore +} + +conditionalHandoverCancel X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ConditionalHandoverCancel + PROCEDURE CODE id-conditionalHandoverCancel + CRITICALITY ignore +} + +endcresourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ENDCResourceStatusRequest + SUCCESSFUL OUTCOME ENDCResourceStatusResponse + UNSUCCESSFUL OUTCOME ENDCResourceStatusFailure + PROCEDURE CODE id-endcresourceStatusReportingInitiation + CRITICALITY reject +} + +endcresourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ENDCResourceStatusUpdate + PROCEDURE CODE id-endcresourceStatusReporting + CRITICALITY ignore +} + +cellTrafficTrace X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CellTrafficTrace + PROCEDURE CODE id-cellTrafficTrace + CRITICALITY ignore +} + +f1CTrafficTransfer X2AP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE F1CTrafficTransfer + PROCEDURE CODE id-f1CTrafficTransfer + CRITICALITY ignore +} + END diff --git a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c index b03725151c..5f0eea6bab 100644 --- a/epan/dissectors/asn1/x2ap/packet-x2ap-template.c +++ b/epan/dissectors/asn1/x2ap/packet-x2ap-template.c @@ -12,7 +12,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later * * Ref: - * 3GPP TS 36.423 V15.9.0 (2020-03) + * 3GPP TS 36.423 V16.2.0 (2020-07) */ #include "config.h" @@ -115,6 +115,14 @@ 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; +static int hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_Reserved = -1; +static int hf_x2ap_Registration_Request_ENDC_PDU = -1; +static int hf_x2ap_ReportingPeriodicity_ENDC_PDU = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_PDU = -1; #include "packet-x2ap-hf.c" /* Initialize the subtree pointers */ @@ -149,12 +157,33 @@ static int ett_x2ap_LastVisitedNGRANCellInformation = -1; static int ett_x2ap_LastVisitedUTRANCellInformation = -1; static int ett_x2ap_EndcSONConfigurationTransfer = -1; static int ett_x2ap_EPCHandoverRestrictionListContainer = -1; +static int ett_x2ap_NBIoT_RLF_Report_Container = -1; +static int ett_x2ap_anchorCarrier_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_EDT_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_Format2_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig = -1; +static int ett_x2ap_non_anchorCarrier_NPRACHConfig = -1; +static int ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_NPRACHConfigTDD = -1; +static int ett_x2ap_non_anchorCarrier_NPRACHConfigTDD = -1; +static int ett_x2ap_Non_anchorCarrierFrequency = -1; +static int ett_x2ap_ReportCharacteristics_ENDC = -1; +static int ett_x2ap_TargetCellInNGRAN = -1; +static int ett_x2ap_TDDULDLConfigurationCommonNR = -1; #include "packet-x2ap-ett.c" +/* Forward declarations */ +static int dissect_x2ap_Registration_Request_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +static int dissect_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +static int dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); + typedef enum { RRC_CONTAINER_TYPE_UNKNOWN, RRC_CONTAINER_TYPE_PDCP_C_PDU, - RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT + RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT, + RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB, + RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB, + RRC_CONTAINER_TYPE_IAB_INFO } rrc_container_type_e; enum{ @@ -574,6 +603,38 @@ void proto_register_x2ap(void) { { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1fff, NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, + { "PRBPeriodic", "x2ap.ReportCharacteristics_ENDC.PRBPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, + { "TNLCapacityIndPeriodic", "x2ap.ReportCharacteristics_ENDC.TNLCapacityIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, + { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics_ENDC.CompositeAvailableCapacityPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, + { "NumberOfActiveUEs", "x2ap.ReportCharacteristics_ENDC.NumberOfActiveUEs", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_Reserved, + { "Reserved", "x2ap.ReportCharacteristics_ENDC.Reserved", + FT_UINT32, BASE_HEX, NULL, 0x0fffffff, + NULL, HFILL }}, + { &hf_x2ap_Registration_Request_ENDC_PDU, + { "Registration-Request-ENDC", "x2ap.Registration_Request_ENDC", + FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_ENDC_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ReportingPeriodicity_ENDC_PDU, + { "ReportingPeriodicity-ENDC", "x2ap.ReportingPeriodicity_ENDC", + FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_ENDC_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_PDU, + { "ReportCharacteristics-ENDC", "x2ap.ReportCharacteristics_ENDC", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, #include "packet-x2ap-hfarr.c" }; @@ -610,6 +671,19 @@ void proto_register_x2ap(void) { &ett_x2ap_LastVisitedUTRANCellInformation, &ett_x2ap_EndcSONConfigurationTransfer, &ett_x2ap_EPCHandoverRestrictionListContainer, + &ett_x2ap_NBIoT_RLF_Report_Container, + &ett_x2ap_anchorCarrier_NPRACHConfig, + &ett_x2ap_anchorCarrier_EDT_NPRACHConfig, + &ett_x2ap_anchorCarrier_Format2_NPRACHConfig, + &ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, + &ett_x2ap_non_anchorCarrier_NPRACHConfig, + &ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig, + &ett_x2ap_anchorCarrier_NPRACHConfigTDD, + &ett_x2ap_non_anchorCarrier_NPRACHConfigTDD, + &ett_x2ap_Non_anchorCarrierFrequency, + &ett_x2ap_ReportCharacteristics_ENDC, + &ett_x2ap_TargetCellInNGRAN, + &ett_x2ap_TDDULDLConfigurationCommonNR, #include "packet-x2ap-ettarr.c" }; diff --git a/epan/dissectors/asn1/x2ap/x2ap.cnf b/epan/dissectors/asn1/x2ap/x2ap.cnf index 810986b8b9..ce9af1e3d3 100644 --- a/epan/dissectors/asn1/x2ap/x2ap.cnf +++ b/epan/dissectors/asn1/x2ap/x2ap.cnf @@ -224,6 +224,15 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_UE_RLF_Report_Container_for_extended_bands); dissect_lte_rrc_RLF_Report_v9e0_PDU(parameter_tvb, actx->pinfo, subtree, NULL); +#.FN_BODY NBIoT-RLF-Report-Container VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_NBIoT_RLF_Report_Container); + dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + #.FN_BODY MeNBtoSeNBContainer VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; @@ -278,6 +287,19 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT; +#.FN_HDR FastMCGRecovery + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_SN_to_MN) + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB; + else if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_MN_to_SN) + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB; + +#.FN_HDR IABInformation + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_IAB_INFO; + #.FN_BODY RRCContainer VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; @@ -285,10 +307,24 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC %(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_RRCContainer); - dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + switch (x2ap_data->rrc_container_type) { + case RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT: + case RRC_CONTAINER_TYPE_IAB_INFO: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_lte_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_lte_rrc_DL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; } + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_UNKNOWN; #.FN_BODY EUTRANTraceID VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; @@ -677,6 +713,136 @@ ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRING dissect_s1ap_HandoverRestrictionList_PDU(parameter_tvb, actx->pinfo, subtree, NULL); } +#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-EDT-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_EDT_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-FDD/anchorCarrier-Format2-EDT-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfig); + dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-FDD/non-anchorCarrier-Format2-NPRACHConfig VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig); + dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-TDD/anchorCarrier-NPRACHConfigTDD VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfigTDD); + dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY NPRACHConfiguration-TDD/non-anchorCarrier-NPRACHConfigTDD VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfigTDD); + dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY Non-anchorCarrierFrequency VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_Non_anchorCarrierFrequency); + dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY ReportCharacteristics-ENDC VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if(parameter_tvb){ + static int * const fields[] = { + &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, + &hf_x2ap_ReportCharacteristics_ENDC_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics_ENDC); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); + } + +#.FN_BODY TargetCellInNGRAN VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargetCellInNGRAN); + dissect_ngap_NGRAN_CGI_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_BODY TDDULDLConfigurationCommonNR VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TDDULDLConfigurationCommonNR); + dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + +#.FN_HDR Registration-Request + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_Registration_Request_ENDC(tvb, offset, actx, tree, hf_x2ap_Registration_Request_ENDC_PDU); + +#.FN_HDR ReportingPeriodicity + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_ReportingPeriodicity_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportingPeriodicity_ENDC_PDU); + +#.FN_HDR ReportCharacteristics + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_ReportCharacteristics_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportCharacteristics_ENDC_PDU); + #.END #.FN_HDR HandoverRequest @@ -867,6 +1033,24 @@ ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRING col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); #.FN_HDR TraceStart col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); +#.FN_HDR HandoverSuccess + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess"); +#.FN_HDR EarlyStatusTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer"); +#.FN_HDR ConditionalHandoverCancel + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel"); +#.FN_HDR ENDCResourceStatusRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusRequest"); +#.FN_HDR ENDCResourceStatusResponse + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusResponse"); +#.FN_HDR ENDCResourceStatusFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusFailure"); +#.FN_HDR ENDCResourceStatusUpdate + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusUpdate"); +#.FN_HDR CellTrafficTrace + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); +#.FN_HDR F1CTrafficTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer"); #.ASSIGN_VALUE_TO_TYPE # X2AP does not have constants assigned to types, they are pure INTEGER # ProcedureCode @@ -920,6 +1104,14 @@ id-gNBStatusIndication ProcedureCode id-deactivateTrace ProcedureCode id-traceStart ProcedureCode id-endcConfigurationTransfer ProcedureCode +id-handoverSuccess ProcedureCode +id-conditionalHandoverCancel ProcedureCode +id-earlyStatusTransfer ProcedureCode +id-cellTrafficTrace ProcedureCode +id-endcresourceStatusReporting ProcedureCode +id-endcresourceStatusReportingInitiation ProcedureCode +id-f1CTrafficTransfer ProcedureCode + # ProtocolIE-ID @@ -1253,7 +1445,65 @@ id-BPLMN-ID-Info-EUTRA ProtocolIE-ID id-BPLMN-ID-Info-NR ProtocolIE-ID id-NBIoT-UL-DL-AlignmentOffset ProtocolIE-ID id-ERABs-transferred-to-MeNB ProtocolIE-ID +id-AdditionalRRMPriorityIndex ProtocolIE-ID +id-LowerLayerPresenceStatusChange ProtocolIE-ID +id-FastMCGRecovery-SN-to-MN ProtocolIE-ID +id-RequestedFastMCGRecoveryViaSRB3 ProtocolIE-ID +id-AvailableFastMCGRecoveryViaSRB3 ProtocolIE-ID +id-RequestedFastMCGRecoveryViaSRB3Release ProtocolIE-ID +id-ReleaseFastMCGRecoveryViaSRB3 ProtocolIE-ID +id-FastMCGRecovery-MN-to-SN ProtocolIE-ID +id-PartialListIndicator ProtocolIE-ID +id-MaximumCellListSize ProtocolIE-ID +id-MessageOversizeNotification ProtocolIE-ID +id-CellandCapacityAssistInfo ProtocolIE-ID +id-TNLConfigurationInfo ProtocolIE-ID +id-TNLA-To-Add-List ProtocolIE-ID +id-TNLA-To-Update-List ProtocolIE-ID +id-TNLA-To-Remove-List ProtocolIE-ID +id-TNLA-Setup-List ProtocolIE-ID +id-TNLA-Failed-To-Setup-List ProtocolIE-ID +id-UnlicensedSpectrumRestriction ProtocolIE-ID +id-UEContextReferenceatSourceNGRAN ProtocolIE-ID id-EPCHandoverRestrictionListContainer ProtocolIE-ID +id-CHOinformation-REQ ProtocolIE-ID +id-CHOinformation-ACK ProtocolIE-ID +id-DAPSRequestInfo ProtocolIE-ID +id-RequestedTargetCellID ProtocolIE-ID +id-CandidateCellsToBeCancelledList ProtocolIE-ID +id-DAPSResponseInfo ProtocolIE-ID +id-ProcedureStage ProtocolIE-ID +id-CHO-DC-Indicator ProtocolIE-ID +id-Ethernet-Type ProtocolIE-ID +id-NRV2XServicesAuthorized ProtocolIE-ID +id-NRUESidelinkAggregateMaximumBitRate ProtocolIE-ID +id-PC5QoSParameters ProtocolIE-ID +id-NPRACHConfiguration ProtocolIE-ID +id-NBIoT-RLF-Report-Container ProtocolIE-ID +id-MDTConfigurationNR ProtocolIE-ID +id-PrivacyIndicator ProtocolIE-ID +id-TraceCollectionEntityIPAddress ProtocolIE-ID +id-UERadioCapabilityID ProtocolIE-ID +id-SNtriggered ProtocolIE-ID +id-CSI-RSTransmissionIndication ProtocolIE-ID +id-DLCarrierList ProtocolIE-ID +id-TargetCellInNGRAN ProtocolIE-ID +id-eNB-Measurement-ID-ENDC ProtocolIE-ID +id-engNB-Measurement-ID-ENDC ProtocolIE-ID +id-TDDULDLConfigurationCommonNR ProtocolIE-ID +id-CarrierList ProtocolIE-ID +id-ULCarrierList ProtocolIE-ID +id-FrequencyShift7p5khz ProtocolIE-ID +id-SSB-PositionsInBurst ProtocolIE-ID +id-NRCellPRACHConfig ProtocolIE-ID +id-CellToReport-ENDC ProtocolIE-ID +id-CellToReport-ENDC-Item ProtocolIE-ID +id-CellMeasurementResult-ENDC ProtocolIE-ID +id-CellMeasurementResult-ENDC-Item ProtocolIE-ID +id-IABNodeIndication ProtocolIE-ID +id-QoS-Mapping-Information ProtocolIE-ID +id-F1CTrafficContainer ProtocolIE-ID +id-IABInformation ProtocolIE-ID #.REGISTER @@ -1490,6 +1740,47 @@ LocationInformationSgNB N x2ap.ies id-LocationInformationSgNB EUTRANTraceID N x2ap.ies id-EUTRANTraceID InterfaceInstanceIndication N x2ap.ies id-InterfaceInstanceIndication E-RAB-List N x2ap.ies id-ERABs-transferred-to-MeNB +AdditionalRRMPriorityIndex N x2ap.ies id-AdditionalRRMPriorityIndex +FastMCGRecovery N x2ap.ies id-FastMCGRecovery-SN-to-MN +RequestedFastMCGRecoveryViaSRB3 N x2ap.ies id-RequestedFastMCGRecoveryViaSRB3 +AvailableFastMCGRecoveryViaSRB3 N x2ap.ies id-AvailableFastMCGRecoveryViaSRB3 +RequestedFastMCGRecoveryViaSRB3Release N x2ap.ies id-RequestedFastMCGRecoveryViaSRB3Release +ReleaseFastMCGRecoveryViaSRB3 N x2ap.ies id-ReleaseFastMCGRecoveryViaSRB3 +FastMCGRecovery N x2ap.ies id-FastMCGRecovery-MN-to-SN +PartialListIndicator N x2ap.ies id-PartialListIndicator +# id-MaximumCellListSize +MessageOversizeNotification N x2ap.ies id-MessageOversizeNotification +CellandCapacityAssistInfo N x2ap.ies id-CellandCapacityAssistInfo +TNLConfigurationInfo N x2ap.ies id-TNLConfigurationInfo +TNLA-To-Add-List N x2ap.ies id-TNLA-To-Add-List +TNLA-To-Update-List N x2ap.ies id-TNLA-To-Update-List +TNLA-To-Remove-List N x2ap.ies id-TNLA-To-Remove-List +TNLA-Setup-List N x2ap.ies id-TNLA-Setup-List +TNLA-Failed-To-Setup-List N x2ap.ies id-TNLA-Failed-To-Setup-List +RAN-UE-NGAP-ID N x2ap.ies id-UEContextReferenceatSourceNGRAN +CHOinformation-REQ N x2ap.ies id-CHOinformation-REQ +CHOinformation-ACK N x2ap.ies id-CHOinformation-ACK +ECGI N x2ap.ies id-RequestedTargetCellID +CandidateCellsToBeCancelledList N x2ap.ies id-CandidateCellsToBeCancelledList +ProcedureStageChoice N x2ap.ies id-ProcedureStage +CHO-DC-Indicator N x2ap.ies id-CHO-DC-Indicator +NRV2XServicesAuthorized N x2ap.ies id-NRV2XServicesAuthorized +PC5QoSParameters N x2ap.ies id-PC5QoSParameters +NBIoT-RLF-Report-Container N x2ap.ies id-NBIoT-RLF-Report-Container +PrivacyIndicator N x2ap.ies id-PrivacyIndicator +TransportLayerAddress N x2ap.ies id-TraceCollectionEntityIPAddress +UERadioCapabilityID N x2ap.ies id-UERadioCapabilityID +SNtriggered N x2ap.ies id-SNtriggered +TargetCellInNGRAN N x2ap.ies id-TargetCellInNGRAN +Measurement-ID-ENDC N x2ap.ies id-eNB-Measurement-ID-ENDC +Measurement-ID-ENDC N x2ap.ies id-engNB-Measurement-ID-ENDC +CellToReport-ENDC-List N x2ap.ies id-CellToReport-ENDC +CellToReport-ENDC-Item N x2ap.ies id-CellToReport-ENDC-Item +CellMeasurementResult-ENDC-List N x2ap.ies id-CellMeasurementResult-ENDC +CellMeasurementResult-ENDC-Item N x2ap.ies id-CellMeasurementResult-ENDC-Item +IABNodeIndication N x2ap.ies id-IABNodeIndication +F1CTrafficContainer N x2ap.ies id-F1CTrafficContainer +IABInformation N x2ap.ies id-IABInformation #X2AP-PROTOCOL-EXTENSION Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports @@ -1589,6 +1880,25 @@ BPLMN-ID-Info-EUTRA N x2ap.extension id-BPLMN-ID-Info-EUTRA BPLMN-ID-Info-NR N x2ap.extension id-BPLMN-ID-Info-NR NBIoT-UL-DL-AlignmentOffset N x2ap.extension id-NBIoT-UL-DL-AlignmentOffset EPCHandoverRestrictionListContainer N x2ap.extension id-EPCHandoverRestrictionListContainer +AdditionalRRMPriorityIndex N x2ap.extension id-AdditionalRRMPriorityIndex +LowerLayerPresenceStatusChange N x2ap.extension id-LowerLayerPresenceStatusChange +UnlicensedSpectrumRestriction N x2ap.extension id-UnlicensedSpectrumRestriction +DAPSRequestInfo N x2ap.extension id-DAPSRequestInfo +DAPSResponseInfo N x2ap.extension id-DAPSResponseInfo +Ethernet-Type N x2ap.extension id-Ethernet-Type +NRUESidelinkAggregateMaximumBitRate N x2ap.extension id-NRUESidelinkAggregateMaximumBitRate +NPRACHConfiguration N x2ap.extension id-NPRACHConfiguration +MDT-ConfigurationNR N x2ap.extension id-MDTConfigurationNR +UERadioCapabilityID N x2ap.extension id-UERadioCapabilityID +CSI-RSTransmissionIndication N x2ap.extension id-CSI-RSTransmissionIndication +NRCarrierList N x2ap.extension id-DLCarrierList +TDDULDLConfigurationCommonNR N x2ap.extension id-TDDULDLConfigurationCommonNR +NRCarrierList N x2ap.extension id-CarrierList +NRCarrierList N x2ap.extension id-ULCarrierList +FrequencyShift7p5khz N x2ap.extension id-FrequencyShift7p5khz +SSB-PositionsInBurst N x2ap.extension id-SSB-PositionsInBurst +NRCellPRACHConfig N x2ap.extension id-NRCellPRACHConfig +QoS-Mapping-Information N x2ap.extension id-QoS-Mapping-Information # X2AP-PDU-Descriptions.asn Interface Elementary Procedures #X2AP-ELEMENTARY-PROCEDURE @@ -1734,4 +2044,20 @@ ENDCConfigurationTransfer N x2ap.proc.imsg id-endcConfigurationTransfer DeactivateTrace N x2ap.proc.imsg id-deactivateTrace TraceStart N x2ap.proc.imsg id-traceStart + +HandoverSuccess N x2ap.proc.imsg id-handoverSuccess + +EarlyStatusTransfer N x2ap.proc.imsg id-earlyStatusTransfer + +ConditionalHandoverCancel N x2ap.proc.imsg id-conditionalHandoverCancel + +ENDCResourceStatusRequest N x2ap.proc.imsg id-endcresourceStatusReportingInitiation +ENDCResourceStatusResponse N x2ap.proc.sout id-endcresourceStatusReportingInitiation +ENDCResourceStatusFailure N x2ap.proc.uout id-endcresourceStatusReportingInitiation + +ENDCResourceStatusUpdate N x2ap.proc.imsg id-endcresourceStatusReporting + +CellTrafficTrace N x2ap.proc.imsg id-cellTrafficTrace + +F1CTrafficTransfer N x2ap.proc.imsg id-f1CTrafficTransfer #.END diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 68e5c1a278..ac99fed1a7 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -338,9 +338,9 @@ static int hf_lte_rrc_BCCH_DL_SCH_Message_MBMS_PDU = -1; /* BCCH_DL_SCH_Message static int hf_lte_rrc_MCCH_Message_PDU = -1; /* MCCH_Message */ static int hf_lte_rrc_PCCH_Message_PDU = -1; /* PCCH_Message */ static int hf_lte_rrc_DL_CCCH_Message_PDU = -1; /* DL_CCCH_Message */ -static int hf_lte_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */ +static int hf_lte_rrc_lte_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */ static int hf_lte_rrc_UL_CCCH_Message_PDU = -1; /* UL_CCCH_Message */ -static int hf_lte_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */ +static int hf_lte_rrc_lte_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */ static int hf_lte_rrc_SC_MCCH_Message_r13_PDU = -1; /* SC_MCCH_Message_r13 */ static int hf_lte_rrc_lte_rrc_MeasurementReport_PDU = -1; /* MeasurementReport */ static int hf_lte_rrc_RRCConnectionReconfiguration_PDU = -1; /* RRCConnectionReconfiguration */ @@ -385,6 +385,14 @@ static int hf_lte_rrc_UL_CCCH_Message_NB_PDU = -1; /* UL_CCCH_Message_NB */ static int hf_lte_rrc_SC_MCCH_Message_NB_PDU = -1; /* SC_MCCH_Message_NB */ static int hf_lte_rrc_UL_DCCH_Message_NB_PDU = -1; /* UL_DCCH_Message_NB */ static int hf_lte_rrc_lte_rrc_RLF_Report_NB_r16_PDU = -1; /* RLF_Report_NB_r16 */ +static int hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_r14_PDU = -1; /* UL_ConfigCommonList_NB_r14 */ +static int hf_lte_rrc_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU = -1; /* UL_ConfigCommonListTDD_NB_r15 */ +static int hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU = -1; /* UL_ConfigCommonList_NB_v1530 */ +static int hf_lte_rrc_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU = -1; /* DL_CarrierConfigCommon_NB_r14 */ +static int hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r13_PDU = -1; /* NPRACH_ParametersList_NB_r13 */ +static int hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r14_PDU = -1; /* NPRACH_ParametersList_NB_r14 */ +static int hf_lte_rrc_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU = -1; /* NPRACH_ParametersListTDD_NB_r15 */ +static int hf_lte_rrc_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU = -1; /* NPRACH_ParametersListFmt2_NB_r15 */ static int hf_lte_rrc_HandoverPreparationInformation_v9j0_IEs_PDU = -1; /* HandoverPreparationInformation_v9j0_IEs */ static int hf_lte_rrc_SCG_Config_v12i0b_IEs_PDU = -1; /* SCG_Config_v12i0b_IEs */ static int hf_lte_rrc_MBMSInterestIndication_r11_PDU = -1; /* MBMSInterestIndication_r11 */ @@ -12662,7 +12670,6 @@ static const fragment_items lte_rrc_sib12_frag_items = { }; /* Forward declarations */ -static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_RRCConnectionReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -15520,7 +15527,7 @@ static int dissect_UE_RadioPagingInfo_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info static int dissect_lte_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_DL_DCCH_Message_PDU); + NO_BOUND, NO_BOUND, FALSE, dissect_lte_rrc_DL_DCCH_Message_PDU); return offset; } @@ -125657,13 +125664,13 @@ static int dissect_DL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } -static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +int dissect_lte_rrc_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_DL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_DL_DCCH_Message_PDU); + offset = dissect_lte_rrc_DL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_DL_DCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } @@ -125677,13 +125684,13 @@ static int dissect_UL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } -static int dissect_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +int dissect_lte_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_UL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_UL_DCCH_Message_PDU); + offset = dissect_lte_rrc_UL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UL_DCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } @@ -126127,6 +126134,86 @@ int dissect_lte_rrc_RLF_Report_NB_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +int dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UL_ConfigCommonList_NB_r14(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_r14_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UL_ConfigCommonList_NB_v1530(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_NPRACH_ParametersList_NB_r13(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r13_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_NPRACH_ParametersList_NB_r14(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r14_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_HandoverPreparationInformation_v9j0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -126390,7 +126477,7 @@ static int dissect_UE_RadioPagingInfo_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info /*--- End of included file: packet-lte-rrc-fn.c ---*/ -#line 3201 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3200 "./asn1/lte-rrc/packet-lte-rrc-template.c" static int dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) @@ -126418,7 +126505,7 @@ dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); - dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + dissect_lte_rrc_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); return tvb_captured_length(tvb); } @@ -126448,7 +126535,7 @@ dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); - dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + dissect_lte_rrc_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); return tvb_captured_length(tvb); } @@ -126828,7 +126915,7 @@ void proto_register_lte_rrc(void) { { "DL-CCCH-Message", "lte-rrc.DL_CCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_DL_DCCH_Message_PDU, + { &hf_lte_rrc_lte_rrc_DL_DCCH_Message_PDU, { "DL-DCCH-Message", "lte-rrc.DL_DCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -126836,7 +126923,7 @@ void proto_register_lte_rrc(void) { { "UL-CCCH-Message", "lte-rrc.UL_CCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_UL_DCCH_Message_PDU, + { &hf_lte_rrc_lte_rrc_UL_DCCH_Message_PDU, { "UL-DCCH-Message", "lte-rrc.UL_DCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -127016,6 +127103,38 @@ void proto_register_lte_rrc(void) { { "RLF-Report-NB-r16", "lte-rrc.RLF_Report_NB_r16_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_r14_PDU, + { "UL-ConfigCommonList-NB-r14", "lte-rrc.UL_ConfigCommonList_NB_r14", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU, + { "UL-ConfigCommonListTDD-NB-r15", "lte-rrc.UL_ConfigCommonListTDD_NB_r15", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU, + { "UL-ConfigCommonList-NB-v1530", "lte-rrc.UL_ConfigCommonList_NB_v1530", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU, + { "DL-CarrierConfigCommon-NB-r14", "lte-rrc.DL_CarrierConfigCommon_NB_r14_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r13_PDU, + { "NPRACH-ParametersList-NB-r13", "lte-rrc.NPRACH_ParametersList_NB_r13", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_NPRACH_ParametersList_NB_r14_PDU, + { "NPRACH-ParametersList-NB-r14", "lte-rrc.NPRACH_ParametersList_NB_r14", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU, + { "NPRACH-ParametersListTDD-NB-r15", "lte-rrc.NPRACH_ParametersListTDD_NB_r15", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU, + { "NPRACH-ParametersListFmt2-NB-r15", "lte-rrc.NPRACH_ParametersListFmt2_NB_r15", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_HandoverPreparationInformation_v9j0_IEs_PDU, { "HandoverPreparationInformation-v9j0-IEs", "lte-rrc.HandoverPreparationInformation_v9j0_IEs_element", FT_NONE, BASE_NONE, NULL, 0, @@ -160218,7 +160337,7 @@ void proto_register_lte_rrc(void) { "CarrierFreq_NB_r13", HFILL }}, /*--- End of included file: packet-lte-rrc-hfarr.c ---*/ -#line 3576 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3575 "./asn1/lte-rrc/packet-lte-rrc-template.c" { &hf_lte_rrc_eutra_cap_feat_group_ind_1, { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1", @@ -164651,7 +164770,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PCI_ARFCN_NB_r14, /*--- End of included file: packet-lte-rrc-ettarr.c ---*/ -#line 4335 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4334 "./asn1/lte-rrc/packet-lte-rrc-template.c" &ett_lte_rrc_featureGroupIndicators, &ett_lte_rrc_featureGroupIndRel9Add, @@ -164771,9 +164890,9 @@ void proto_register_lte_rrc(void) { register_dissector("lte-rrc.mcch", dissect_MCCH_Message_PDU, proto_lte_rrc); register_dissector("lte-rrc.pcch", dissect_PCCH_Message_PDU, proto_lte_rrc); register_dissector("lte-rrc.dl.ccch", dissect_DL_CCCH_Message_PDU, proto_lte_rrc); - register_dissector("lte-rrc.dl.dcch", dissect_DL_DCCH_Message_PDU, proto_lte_rrc); + register_dissector("lte-rrc.dl.dcch", dissect_lte_rrc_DL_DCCH_Message_PDU, proto_lte_rrc); register_dissector("lte-rrc.ul.ccch", dissect_UL_CCCH_Message_PDU, proto_lte_rrc); - register_dissector("lte-rrc.ul.dcch", dissect_UL_DCCH_Message_PDU, proto_lte_rrc); + register_dissector("lte-rrc.ul.dcch", dissect_lte_rrc_UL_DCCH_Message_PDU, proto_lte_rrc); register_dissector("lte-rrc.sc.mcch", dissect_SC_MCCH_Message_r13_PDU, proto_lte_rrc); register_dissector("lte-rrc.rrc_conn_reconf", dissect_RRCConnectionReconfiguration_PDU, proto_lte_rrc); register_dissector("lte-rrc.rrc_conn_reconf_compl", dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU, proto_lte_rrc); @@ -164796,7 +164915,7 @@ void proto_register_lte_rrc(void) { /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/ -#line 4441 "./asn1/lte-rrc/packet-lte-rrc-template.c" +#line 4440 "./asn1/lte-rrc/packet-lte-rrc-template.c" lte_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); lte_rrc_system_info_value_changed_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); diff --git a/epan/dissectors/packet-lte-rrc.h b/epan/dissectors/packet-lte-rrc.h index dfcd4fd977..620b1464de 100644 --- a/epan/dissectors/packet-lte-rrc.h +++ b/epan/dissectors/packet-lte-rrc.h @@ -30,6 +30,8 @@ int dissect_lte_rrc_SCG_Config_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ int dissect_lte_rrc_SCG_ConfigInfo_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UEPagingCoverageInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UERadioPagingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_MeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_RRCConnectionReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -58,6 +60,14 @@ int dissect_lte_rrc_VisitedCellInfo_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinf int dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UEPagingCoverageInformation_NB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_RLF_Report_NB_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); /*--- End of included file: packet-lte-rrc-exp.h ---*/ #line 17 "./asn1/lte-rrc/packet-lte-rrc-template.h" diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c index 6dd51c5c51..52f42bb085 100644 --- a/epan/dissectors/packet-ngap.c +++ b/epan/dissectors/packet-ngap.c @@ -458,7 +458,7 @@ static int hf_ngap_NAS_PDU_PDU = -1; /* NAS_PDU */ static int hf_ngap_NASSecurityParametersFromNGRAN_PDU = -1; /* NASSecurityParametersFromNGRAN */ static int hf_ngap_NetworkInstance_PDU = -1; /* NetworkInstance */ static int hf_ngap_NewSecurityContextInd_PDU = -1; /* NewSecurityContextInd */ -static int hf_ngap_NGRAN_CGI_PDU = -1; /* NGRAN_CGI */ +static int hf_ngap_ngap_NGRAN_CGI_PDU = -1; /* NGRAN_CGI */ static int hf_ngap_NGRAN_TNLAssociationToRemoveList_PDU = -1; /* NGRAN_TNLAssociationToRemoveList */ static int hf_ngap_NGRANTraceID_PDU = -1; /* NGRANTraceID */ static int hf_ngap_NR_CGI_PDU = -1; /* NR_CGI */ @@ -1972,7 +1972,7 @@ static value_string_ext ngap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(ngap static int dissect_ngap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 105 "./asn1/ngap/ngap.cnf" +#line 107 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &ngap_data->procedure_code, FALSE); @@ -1986,7 +1986,7 @@ dissect_ngap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_ngap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 99 "./asn1/ngap/ngap.cnf" +#line 101 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &ngap_data->protocol_extension_id, FALSE); @@ -2181,7 +2181,7 @@ static value_string_ext ngap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(ngap static int dissect_ngap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 81 "./asn1/ngap/ngap.cnf" +#line 83 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &ngap_data->protocol_ie_id, FALSE); @@ -2189,7 +2189,7 @@ dissect_ngap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ -#line 85 "./asn1/ngap/ngap.cnf" +#line 87 "./asn1/ngap/ngap.cnf" if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ngap_data->protocol_ie_id, &ngap_ProtocolIE_ID_vals_ext, "unknown (%d)")); @@ -2345,7 +2345,7 @@ dissect_ngap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_ngap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 375 "./asn1/ngap/ngap.cnf" +#line 377 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; @@ -2652,7 +2652,7 @@ dissect_ngap_AllowedNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_ngap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 356 "./asn1/ngap/ngap.cnf" +#line 358 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 3, 3, FALSE, ¶meter_tvb); @@ -2694,7 +2694,7 @@ dissect_ngap_AMFName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_ngap_PLMNIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 363 "./asn1/ngap/ngap.cnf" +#line 365 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; @@ -2900,7 +2900,7 @@ static const per_choice_t GlobalRANNodeID_choice[] = { static int dissect_ngap_GlobalRANNodeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 481 "./asn1/ngap/ngap.cnf" +#line 483 "./asn1/ngap/ngap.cnf" gint value; struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); @@ -3205,7 +3205,7 @@ dissect_ngap_AreaOfInterestTAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_ngap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 423 "./asn1/ngap/ngap.cnf" +#line 425 "./asn1/ngap/ngap.cnf" tvbuff_t *cell_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 36, 36, FALSE, NULL, 0, &cell_id_tvb, NULL); @@ -3240,7 +3240,7 @@ dissect_ngap_NR_CGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro static int dissect_ngap_EUTRACellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 434 "./asn1/ngap/ngap.cnf" +#line 436 "./asn1/ngap/ngap.cnf" tvbuff_t *cell_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 28, 28, FALSE, NULL, 0, &cell_id_tvb, NULL); @@ -4947,7 +4947,7 @@ dissect_ngap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_ngap_PeriodicRegistrationUpdateTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 707 "./asn1/ngap/ngap.cnf" +#line 709 "./asn1/ngap/ngap.cnf" tvbuff_t *val_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 8, 8, FALSE, NULL, 0, &val_tvb, NULL); @@ -5157,7 +5157,7 @@ dissect_ngap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_ngap_DataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 324 "./asn1/ngap/ngap.cnf" +#line 326 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -5649,7 +5649,7 @@ dissect_ngap_EmergencyFallbackIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int dissect_ngap_EN_DCSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 729 "./asn1/ngap/ngap.cnf" +#line 731 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5669,7 +5669,7 @@ dissect_ngap_EN_DCSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, as static int dissect_ngap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 474 "./asn1/ngap/ngap.cnf" +#line 476 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -5717,7 +5717,7 @@ dissect_ngap_EquivalentPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_ngap_EPS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 347 "./asn1/ngap/ngap.cnf" +#line 349 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -5805,7 +5805,7 @@ dissect_ngap_EUTRA_CGIListForWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_ngap_EUTRAencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 632 "./asn1/ngap/ngap.cnf" +#line 634 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -5831,7 +5831,7 @@ dissect_ngap_EUTRAencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int dissect_ngap_EUTRAintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 647 "./asn1/ngap/ngap.cnf" +#line 649 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -6208,7 +6208,7 @@ static const value_string ngap_HandoverType_vals[] = { static int dissect_ngap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 253 "./asn1/ngap/ngap.cnf" +#line 255 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, &ngap_data->handover_type_value, TRUE, 0, NULL); @@ -6326,7 +6326,7 @@ dissect_ngap_IntegrityProtectionIndication(tvbuff_t *tvb _U_, int offset _U_, as static int dissect_ngap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 454 "./asn1/ngap/ngap.cnf" +#line 456 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -6393,7 +6393,7 @@ dissect_ngap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ngap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 665 "./asn1/ngap/ngap.cnf" +#line 667 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6413,7 +6413,7 @@ dissect_ngap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ngap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 674 "./asn1/ngap/ngap.cnf" +#line 676 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6433,7 +6433,7 @@ dissect_ngap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ngap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 683 "./asn1/ngap/ngap.cnf" +#line 685 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6580,7 +6580,7 @@ dissect_ngap_MaximumIntegrityProtectedDataRate(tvbuff_t *tvb _U_, int offset _U_ static int dissect_ngap_RATRestrictionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 588 "./asn1/ngap/ngap.cnf" +#line 590 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -6699,7 +6699,7 @@ dissect_ngap_MobilityRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 205 "./asn1/ngap/ngap.cnf" +#line 207 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb=NULL; guint tvb_len; @@ -6742,7 +6742,7 @@ dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_ngap_NASSecurityParametersFromNGRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 718 "./asn1/ngap/ngap.cnf" +#line 720 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6829,7 +6829,7 @@ dissect_ngap_NGRAN_TNLAssociationToRemoveList(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ngap_NGRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 409 "./asn1/ngap/ngap.cnf" +#line 411 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6899,7 +6899,7 @@ dissect_ngap_NR_CGIListForWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_ngap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 602 "./asn1/ngap/ngap.cnf" +#line 604 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -6925,7 +6925,7 @@ dissect_ngap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_ngap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 617 "./asn1/ngap/ngap.cnf" +#line 619 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -6951,7 +6951,7 @@ dissect_ngap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, static int dissect_ngap_NRPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 756 "./asn1/ngap/ngap.cnf" +#line 758 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb=NULL; @@ -8979,7 +8979,7 @@ dissect_ngap_T_rATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_ngap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 738 "./asn1/ngap/ngap.cnf" +#line 740 "./asn1/ngap/ngap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -8987,7 +8987,7 @@ dissect_ngap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act -#line 742 "./asn1/ngap/ngap.cnf" +#line 744 "./asn1/ngap/ngap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -9000,7 +9000,7 @@ dissect_ngap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static int dissect_ngap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 747 "./asn1/ngap/ngap.cnf" +#line 749 "./asn1/ngap/ngap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -9008,7 +9008,7 @@ dissect_ngap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx -#line 751 "./asn1/ngap/ngap.cnf" +#line 753 "./asn1/ngap/ngap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -9460,7 +9460,7 @@ dissect_ngap_RoutingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_ngap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 507 "./asn1/ngap/ngap.cnf" +#line 509 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -9878,7 +9878,7 @@ static const per_sequence_t SourceNGRANNode_ToTargetNGRANNode_TransparentContain static int dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 496 "./asn1/ngap/ngap.cnf" +#line 498 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); ngap_data->transparent_container_type = SOURCE_TO_TARGET_TRANSPARENT_CONTAINER; @@ -9895,7 +9895,7 @@ dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvbuff_t *tv static int dissect_ngap_SourceToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 257 "./asn1/ngap/ngap.cnf" +#line 259 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -10110,7 +10110,7 @@ static const per_sequence_t TargetNGRANNode_ToSourceNGRANNode_TransparentContain static int dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 502 "./asn1/ngap/ngap.cnf" +#line 504 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); ngap_data->transparent_container_type = TARGET_TO_SOURCE_TRANSPARENT_CONTAINER; @@ -10126,7 +10126,7 @@ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvbuff_t *tv static int dissect_ngap_TargetToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 282 "./asn1/ngap/ngap.cnf" +#line 284 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -10185,7 +10185,7 @@ dissect_ngap_TimerApproachForGUAMIRemoval(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_ngap_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 579 "./asn1/ngap/ngap.cnf" +#line 581 "./asn1/ngap/ngap.cnf" tvbuff_t *timestamp_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, ×tamp_tvb); @@ -10193,7 +10193,7 @@ dissect_ngap_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, -#line 583 "./asn1/ngap/ngap.cnf" +#line 585 "./asn1/ngap/ngap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -10434,7 +10434,7 @@ dissect_ngap_UEPresenceInAreaOfInterestList(tvbuff_t *tvb _U_, int offset _U_, a static int dissect_ngap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 568 "./asn1/ngap/ngap.cnf" +#line 570 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -10456,7 +10456,7 @@ dissect_ngap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ngap_UERadioCapabilityForPagingOfNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 543 "./asn1/ngap/ngap.cnf" +#line 545 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -10478,7 +10478,7 @@ dissect_ngap_UERadioCapabilityForPagingOfNR(tvbuff_t *tvb _U_, int offset _U_, a static int dissect_ngap_UERadioCapabilityForPagingOfEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 554 "./asn1/ngap/ngap.cnf" +#line 556 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -10768,7 +10768,7 @@ dissect_ngap_WarningAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_ngap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 335 "./asn1/ngap/ngap.cnf" +#line 337 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 9600, FALSE, ¶meter_tvb); @@ -10813,7 +10813,7 @@ static const per_sequence_t PDUSessionResourceSetupRequest_sequence[] = { static int dissect_ngap_PDUSessionResourceSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1489 "./asn1/ngap/ngap.cnf" +#line 1491 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupRequest"); @@ -10831,7 +10831,7 @@ static const per_sequence_t PDUSessionResourceSetupResponse_sequence[] = { static int dissect_ngap_PDUSessionResourceSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1492 "./asn1/ngap/ngap.cnf" +#line 1494 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupResponse"); @@ -10849,7 +10849,7 @@ static const per_sequence_t PDUSessionResourceReleaseCommand_sequence[] = { static int dissect_ngap_PDUSessionResourceReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1483 "./asn1/ngap/ngap.cnf" +#line 1485 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseCommand"); @@ -10867,7 +10867,7 @@ static const per_sequence_t PDUSessionResourceReleaseResponse_sequence[] = { static int dissect_ngap_PDUSessionResourceReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1486 "./asn1/ngap/ngap.cnf" +#line 1488 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseResponse"); @@ -10885,7 +10885,7 @@ static const per_sequence_t PDUSessionResourceModifyRequest_sequence[] = { static int dissect_ngap_PDUSessionResourceModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1468 "./asn1/ngap/ngap.cnf" +#line 1470 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyRequest"); @@ -10903,7 +10903,7 @@ static const per_sequence_t PDUSessionResourceModifyResponse_sequence[] = { static int dissect_ngap_PDUSessionResourceModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1471 "./asn1/ngap/ngap.cnf" +#line 1473 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyResponse"); @@ -10921,7 +10921,7 @@ static const per_sequence_t PDUSessionResourceNotify_sequence[] = { static int dissect_ngap_PDUSessionResourceNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1480 "./asn1/ngap/ngap.cnf" +#line 1482 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceNotify"); @@ -10939,7 +10939,7 @@ static const per_sequence_t PDUSessionResourceModifyIndication_sequence[] = { static int dissect_ngap_PDUSessionResourceModifyIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1474 "./asn1/ngap/ngap.cnf" +#line 1476 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyIndication"); @@ -10957,7 +10957,7 @@ static const per_sequence_t PDUSessionResourceModifyConfirm_sequence[] = { static int dissect_ngap_PDUSessionResourceModifyConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1477 "./asn1/ngap/ngap.cnf" +#line 1479 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyConfirm"); @@ -10975,7 +10975,7 @@ static const per_sequence_t InitialContextSetupRequest_sequence[] = { static int dissect_ngap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1411 "./asn1/ngap/ngap.cnf" +#line 1413 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest"); @@ -10993,7 +10993,7 @@ static const per_sequence_t InitialContextSetupResponse_sequence[] = { static int dissect_ngap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1414 "./asn1/ngap/ngap.cnf" +#line 1416 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse"); @@ -11011,7 +11011,7 @@ static const per_sequence_t InitialContextSetupFailure_sequence[] = { static int dissect_ngap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1417 "./asn1/ngap/ngap.cnf" +#line 1419 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure"); @@ -11029,7 +11029,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = { static int dissect_ngap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1549 "./asn1/ngap/ngap.cnf" +#line 1551 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest"); @@ -11047,7 +11047,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = { static int dissect_ngap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1543 "./asn1/ngap/ngap.cnf" +#line 1545 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand"); @@ -11065,7 +11065,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = { static int dissect_ngap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1546 "./asn1/ngap/ngap.cnf" +#line 1548 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete"); @@ -11083,7 +11083,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = { static int dissect_ngap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1534 "./asn1/ngap/ngap.cnf" +#line 1536 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest"); @@ -11101,7 +11101,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = { static int dissect_ngap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1537 "./asn1/ngap/ngap.cnf" +#line 1539 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse"); @@ -11119,7 +11119,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = { static int dissect_ngap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1540 "./asn1/ngap/ngap.cnf" +#line 1542 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure"); @@ -11137,7 +11137,7 @@ static const per_sequence_t RRCInactiveTransitionReport_sequence[] = { static int dissect_ngap_RRCInactiveTransitionReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1522 "./asn1/ngap/ngap.cnf" +#line 1524 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCInactiveTransitionReport"); @@ -11155,7 +11155,7 @@ static const per_sequence_t HandoverRequired_sequence[] = { static int dissect_ngap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1393 "./asn1/ngap/ngap.cnf" +#line 1395 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired"); @@ -11173,7 +11173,7 @@ static const per_sequence_t HandoverCommand_sequence[] = { static int dissect_ngap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1396 "./asn1/ngap/ngap.cnf" +#line 1398 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand"); @@ -11191,7 +11191,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = { static int dissect_ngap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1399 "./asn1/ngap/ngap.cnf" +#line 1401 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); @@ -11209,7 +11209,7 @@ static const per_sequence_t HandoverRequest_sequence[] = { static int dissect_ngap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 249 "./asn1/ngap/ngap.cnf" +#line 251 "./asn1/ngap/ngap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -11230,7 +11230,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { static int dissect_ngap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1405 "./asn1/ngap/ngap.cnf" +#line 1407 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge"); @@ -11248,7 +11248,7 @@ static const per_sequence_t HandoverFailure_sequence[] = { static int dissect_ngap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1408 "./asn1/ngap/ngap.cnf" +#line 1410 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure"); @@ -11266,7 +11266,7 @@ static const per_sequence_t HandoverNotify_sequence[] = { static int dissect_ngap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1390 "./asn1/ngap/ngap.cnf" +#line 1392 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify"); @@ -11284,7 +11284,7 @@ static const per_sequence_t PathSwitchRequest_sequence[] = { static int dissect_ngap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1459 "./asn1/ngap/ngap.cnf" +#line 1461 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest"); @@ -11302,7 +11302,7 @@ static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = { static int dissect_ngap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1462 "./asn1/ngap/ngap.cnf" +#line 1464 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge"); @@ -11320,7 +11320,7 @@ static const per_sequence_t PathSwitchRequestFailure_sequence[] = { static int dissect_ngap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1465 "./asn1/ngap/ngap.cnf" +#line 1467 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure"); @@ -11338,7 +11338,7 @@ static const per_sequence_t HandoverCancel_sequence[] = { static int dissect_ngap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1384 "./asn1/ngap/ngap.cnf" +#line 1386 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); @@ -11356,7 +11356,7 @@ static const per_sequence_t HandoverCancelAcknowledge_sequence[] = { static int dissect_ngap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1387 "./asn1/ngap/ngap.cnf" +#line 1389 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge"); @@ -11374,7 +11374,7 @@ static const per_sequence_t UplinkRANStatusTransfer_sequence[] = { static int dissect_ngap_UplinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1573 "./asn1/ngap/ngap.cnf" +#line 1575 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANStatusTransfer"); @@ -11392,7 +11392,7 @@ static const per_sequence_t DownlinkRANStatusTransfer_sequence[] = { static int dissect_ngap_DownlinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1375 "./asn1/ngap/ngap.cnf" +#line 1377 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANStatusTransfer"); @@ -11410,7 +11410,7 @@ static const per_sequence_t Paging_sequence[] = { static int dissect_ngap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1456 "./asn1/ngap/ngap.cnf" +#line 1458 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); @@ -11428,7 +11428,7 @@ static const per_sequence_t InitialUEMessage_sequence[] = { static int dissect_ngap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 237 "./asn1/ngap/ngap.cnf" +#line 239 "./asn1/ngap/ngap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -11449,7 +11449,7 @@ static const per_sequence_t DownlinkNASTransport_sequence[] = { static int dissect_ngap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 241 "./asn1/ngap/ngap.cnf" +#line 243 "./asn1/ngap/ngap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -11470,7 +11470,7 @@ static const per_sequence_t UplinkNASTransport_sequence[] = { static int dissect_ngap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 245 "./asn1/ngap/ngap.cnf" +#line 247 "./asn1/ngap/ngap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -11491,7 +11491,7 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = { static int dissect_ngap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1432 "./asn1/ngap/ngap.cnf" +#line 1434 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication"); @@ -11509,7 +11509,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = { static int dissect_ngap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1519 "./asn1/ngap/ngap.cnf" +#line 1521 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest"); @@ -11523,7 +11523,7 @@ dissect_ngap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ngap_NGAP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 398 "./asn1/ngap/ngap.cnf" +#line 400 "./asn1/ngap/ngap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -11549,7 +11549,7 @@ static const per_sequence_t NGSetupRequest_sequence[] = { static int dissect_ngap_NGSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1441 "./asn1/ngap/ngap.cnf" +#line 1443 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupRequest"); @@ -11567,7 +11567,7 @@ static const per_sequence_t NGSetupResponse_sequence[] = { static int dissect_ngap_NGSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1444 "./asn1/ngap/ngap.cnf" +#line 1446 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupResponse"); @@ -11585,7 +11585,7 @@ static const per_sequence_t NGSetupFailure_sequence[] = { static int dissect_ngap_NGSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1447 "./asn1/ngap/ngap.cnf" +#line 1449 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupFailure"); @@ -11603,7 +11603,7 @@ static const per_sequence_t RANConfigurationUpdate_sequence[] = { static int dissect_ngap_RANConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1510 "./asn1/ngap/ngap.cnf" +#line 1512 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdate"); @@ -11621,7 +11621,7 @@ static const per_sequence_t RANConfigurationUpdateAcknowledge_sequence[] = { static int dissect_ngap_RANConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1513 "./asn1/ngap/ngap.cnf" +#line 1515 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateAcknowledge"); @@ -11639,7 +11639,7 @@ static const per_sequence_t RANConfigurationUpdateFailure_sequence[] = { static int dissect_ngap_RANConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1516 "./asn1/ngap/ngap.cnf" +#line 1518 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateFailure"); @@ -11657,7 +11657,7 @@ static const per_sequence_t AMFConfigurationUpdate_sequence[] = { static int dissect_ngap_AMFConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1348 "./asn1/ngap/ngap.cnf" +#line 1350 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdate"); @@ -11675,7 +11675,7 @@ static const per_sequence_t AMFConfigurationUpdateAcknowledge_sequence[] = { static int dissect_ngap_AMFConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1351 "./asn1/ngap/ngap.cnf" +#line 1353 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateAcknowledge"); @@ -11693,7 +11693,7 @@ static const per_sequence_t AMFConfigurationUpdateFailure_sequence[] = { static int dissect_ngap_AMFConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1354 "./asn1/ngap/ngap.cnf" +#line 1356 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateFailure"); @@ -11711,7 +11711,7 @@ static const per_sequence_t AMFStatusIndication_sequence[] = { static int dissect_ngap_AMFStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1357 "./asn1/ngap/ngap.cnf" +#line 1359 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFStatusIndication"); @@ -11729,7 +11729,7 @@ static const per_sequence_t NGReset_sequence[] = { static int dissect_ngap_NGReset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1435 "./asn1/ngap/ngap.cnf" +#line 1437 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGReset"); @@ -11747,7 +11747,7 @@ static const per_sequence_t NGResetAcknowledge_sequence[] = { static int dissect_ngap_NGResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1438 "./asn1/ngap/ngap.cnf" +#line 1440 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGResetAcknowledge"); @@ -11765,7 +11765,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_ngap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1381 "./asn1/ngap/ngap.cnf" +#line 1383 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication"); @@ -11783,7 +11783,7 @@ static const per_sequence_t OverloadStart_sequence[] = { static int dissect_ngap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1450 "./asn1/ngap/ngap.cnf" +#line 1452 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart"); @@ -11801,7 +11801,7 @@ static const per_sequence_t OverloadStop_sequence[] = { static int dissect_ngap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1453 "./asn1/ngap/ngap.cnf" +#line 1455 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop"); @@ -11819,7 +11819,7 @@ static const per_sequence_t UplinkRANConfigurationTransfer_sequence[] = { static int dissect_ngap_UplinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1570 "./asn1/ngap/ngap.cnf" +#line 1572 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANConfigurationTransfer"); @@ -11837,7 +11837,7 @@ static const per_sequence_t DownlinkRANConfigurationTransfer_sequence[] = { static int dissect_ngap_DownlinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1372 "./asn1/ngap/ngap.cnf" +#line 1374 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANConfigurationTransfer"); @@ -11855,7 +11855,7 @@ static const per_sequence_t WriteReplaceWarningRequest_sequence[] = { static int dissect_ngap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1579 "./asn1/ngap/ngap.cnf" +#line 1581 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest"); @@ -11873,7 +11873,7 @@ static const per_sequence_t WriteReplaceWarningResponse_sequence[] = { static int dissect_ngap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1582 "./asn1/ngap/ngap.cnf" +#line 1584 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse"); @@ -11892,7 +11892,7 @@ static const per_sequence_t PWSCancelRequest_sequence[] = { static int dissect_ngap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1498 "./asn1/ngap/ngap.cnf" +#line 1500 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelRequest"); @@ -11910,7 +11910,7 @@ static const per_sequence_t PWSCancelResponse_sequence[] = { static int dissect_ngap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1501 "./asn1/ngap/ngap.cnf" +#line 1503 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelResponse"); @@ -11928,7 +11928,7 @@ static const per_sequence_t PWSRestartIndication_sequence[] = { static int dissect_ngap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1507 "./asn1/ngap/ngap.cnf" +#line 1509 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication"); @@ -11946,7 +11946,7 @@ static const per_sequence_t PWSFailureIndication_sequence[] = { static int dissect_ngap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1504 "./asn1/ngap/ngap.cnf" +#line 1506 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication"); @@ -11964,7 +11964,7 @@ static const per_sequence_t DownlinkUEAssociatedNRPPaTransport_sequence[] = { static int dissect_ngap_DownlinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1378 "./asn1/ngap/ngap.cnf" +#line 1380 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedNRPPaTransport"); @@ -11982,7 +11982,7 @@ static const per_sequence_t UplinkUEAssociatedNRPPaTransport_sequence[] = { static int dissect_ngap_UplinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1576 "./asn1/ngap/ngap.cnf" +#line 1578 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedNRPPaTransport"); @@ -12000,7 +12000,7 @@ static const per_sequence_t DownlinkNonUEAssociatedNRPPaTransport_sequence[] = { static int dissect_ngap_DownlinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1369 "./asn1/ngap/ngap.cnf" +#line 1371 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedNRPPaTransport"); @@ -12018,7 +12018,7 @@ static const per_sequence_t UplinkNonUEAssociatedNRPPaTransport_sequence[] = { static int dissect_ngap_UplinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1567 "./asn1/ngap/ngap.cnf" +#line 1569 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedNRPPaTransport"); @@ -12036,7 +12036,7 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_ngap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1531 "./asn1/ngap/ngap.cnf" +#line 1533 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); @@ -12054,7 +12054,7 @@ static const per_sequence_t TraceFailureIndication_sequence[] = { static int dissect_ngap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1528 "./asn1/ngap/ngap.cnf" +#line 1530 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication"); @@ -12072,7 +12072,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_ngap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1363 "./asn1/ngap/ngap.cnf" +#line 1365 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); @@ -12090,7 +12090,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = { static int dissect_ngap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1360 "./asn1/ngap/ngap.cnf" +#line 1362 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); @@ -12108,7 +12108,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = { static int dissect_ngap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1426 "./asn1/ngap/ngap.cnf" +#line 1428 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl"); @@ -12126,7 +12126,7 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = { static int dissect_ngap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1429 "./asn1/ngap/ngap.cnf" +#line 1431 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication"); @@ -12144,7 +12144,7 @@ static const per_sequence_t LocationReport_sequence[] = { static int dissect_ngap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1423 "./asn1/ngap/ngap.cnf" +#line 1425 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport"); @@ -12162,7 +12162,7 @@ static const per_sequence_t UETNLABindingReleaseRequest_sequence[] = { static int dissect_ngap_UETNLABindingReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1558 "./asn1/ngap/ngap.cnf" +#line 1560 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UETNLABindingReleaseRequest"); @@ -12180,7 +12180,7 @@ static const per_sequence_t UERadioCapabilityInfoIndication_sequence[] = { static int dissect_ngap_UERadioCapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1561 "./asn1/ngap/ngap.cnf" +#line 1563 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityInfoIndication"); @@ -12198,7 +12198,7 @@ static const per_sequence_t UERadioCapabilityCheckRequest_sequence[] = { static int dissect_ngap_UERadioCapabilityCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1552 "./asn1/ngap/ngap.cnf" +#line 1554 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckRequest"); @@ -12216,7 +12216,7 @@ static const per_sequence_t UERadioCapabilityCheckResponse_sequence[] = { static int dissect_ngap_UERadioCapabilityCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1555 "./asn1/ngap/ngap.cnf" +#line 1557 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckResponse"); @@ -12234,7 +12234,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_ngap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1495 "./asn1/ngap/ngap.cnf" +#line 1497 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); @@ -12252,7 +12252,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { static int dissect_ngap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1525 "./asn1/ngap/ngap.cnf" +#line 1527 "./asn1/ngap/ngap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); @@ -12266,7 +12266,7 @@ dissect_ngap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1 static int dissect_ngap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 111 "./asn1/ngap/ngap.cnf" +#line 113 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); ngap_data->message_type = INITIATING_MESSAGE; @@ -12295,7 +12295,7 @@ dissect_ngap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ngap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 115 "./asn1/ngap/ngap.cnf" +#line 117 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); ngap_data->message_type = SUCCESSFUL_OUTCOME; @@ -12324,7 +12324,7 @@ dissect_ngap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ngap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 119 "./asn1/ngap/ngap.cnf" +#line 121 "./asn1/ngap/ngap.cnf" struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo); ngap_data->message_type = UNSUCCESSFUL_OUTCOME; @@ -12837,11 +12837,11 @@ static int dissect_NewSecurityContextInd_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } -static int dissect_NGRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +int dissect_ngap_NGRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); - offset = dissect_ngap_NGRAN_CGI(tvb, offset, &asn1_ctx, tree, hf_ngap_NGRAN_CGI_PDU); + offset = dissect_ngap_NGRAN_CGI(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_NGRAN_CGI_PDU); offset += 7; offset >>= 3; return offset; } @@ -14797,7 +14797,7 @@ proto_reg_handoff_ngap(void) dissector_add_uint("ngap.ies", id_NewAMF_UE_NGAP_ID, create_dissector_handle(dissect_AMF_UE_NGAP_ID_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NewSecurityContextInd, create_dissector_handle(dissect_NewSecurityContextInd_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NGAP_Message, create_dissector_handle(dissect_NGAP_Message_PDU, proto_ngap)); - dissector_add_uint("ngap.ies", id_NGRAN_CGI, create_dissector_handle(dissect_NGRAN_CGI_PDU, proto_ngap)); + dissector_add_uint("ngap.ies", id_NGRAN_CGI, create_dissector_handle(dissect_ngap_NGRAN_CGI_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NGRANTraceID, create_dissector_handle(dissect_NGRANTraceID_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NR_CGI, create_dissector_handle(dissect_NR_CGI_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NRPPa_PDU, create_dissector_handle(dissect_NRPPa_PDU_PDU, proto_ngap)); @@ -14898,7 +14898,7 @@ proto_reg_handoff_ngap(void) dissector_add_uint("ngap.ies", id_HandoverFlag, create_dissector_handle(dissect_HandoverFlag_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_RedirectionVoiceFallback, create_dissector_handle(dissect_RedirectionVoiceFallback_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_UERetentionInformation, create_dissector_handle(dissect_UERetentionInformation_PDU, proto_ngap)); - dissector_add_uint("ngap.ies", id_PSCellInformation, create_dissector_handle(dissect_NGRAN_CGI_PDU, proto_ngap)); + dissector_add_uint("ngap.ies", id_PSCellInformation, create_dissector_handle(dissect_ngap_NGRAN_CGI_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_ENDC_SONConfigurationTransferDL, create_dissector_handle(dissect_EN_DCSONConfigurationTransfer_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_ENDC_SONConfigurationTransferUL, create_dissector_handle(dissect_EN_DCSONConfigurationTransfer_PDU, proto_ngap)); dissector_add_uint("ngap.ies", id_NewGUAMI, create_dissector_handle(dissect_GUAMI_PDU, proto_ngap)); @@ -15410,7 +15410,7 @@ void proto_register_ngap(void) { { "NewSecurityContextInd", "ngap.NewSecurityContextInd", FT_UINT32, BASE_DEC, VALS(ngap_NewSecurityContextInd_vals), 0, NULL, HFILL }}, - { &hf_ngap_NGRAN_CGI_PDU, + { &hf_ngap_ngap_NGRAN_CGI_PDU, { "NGRAN-CGI", "ngap.NGRAN_CGI", FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0, NULL, HFILL }}, diff --git a/epan/dissectors/packet-ngap.h b/epan/dissectors/packet-ngap.h index e975d93d52..e6f5434e06 100644 --- a/epan/dissectors/packet-ngap.h +++ b/epan/dissectors/packet-ngap.h @@ -24,6 +24,7 @@ #line 1 "./asn1/ngap/packet-ngap-exp.h" int dissect_ngap_LastVisitedNGRANCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_ngap_MobilityRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_ngap_NGRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index b0479b6ddc..b13631d4f5 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -410,6 +410,7 @@ static int hf_nr_rrc_nr_rrc_MeasGapSharingConfig_PDU = -1; /* MeasGapSharingCon static int hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */ static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1; /* P_Max */ static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */ +static int hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU = -1; /* UplinkTxDirectCurrentList */ static int hf_nr_rrc_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU = -1; /* SupportedBandCombinationListSidelink_r16 */ static int hf_nr_rrc_nr_rrc_BandParametersSidelink_r16_PDU = -1; /* BandParametersSidelink_r16 */ @@ -81037,6 +81038,16 @@ int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +int dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + proto_item_set_hidden(prot_ti); + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); @@ -81413,6 +81424,10 @@ proto_register_nr_rrc(void) { { "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_nr_rrc_nr_rrc_TDD_UL_DL_ConfigCommon_PDU, + { "TDD-UL-DL-ConfigCommon", "nr-rrc.TDD_UL_DL_ConfigCommon_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU, { "UplinkTxDirectCurrentList", "nr-rrc.UplinkTxDirectCurrentList", FT_UINT32, BASE_DEC, NULL, 0, diff --git a/epan/dissectors/packet-nr-rrc.h b/epan/dissectors/packet-nr-rrc.h index 36dd13e68a..e986184193 100644 --- a/epan/dissectors/packet-nr-rrc.h +++ b/epan/dissectors/packet-nr-rrc.h @@ -57,6 +57,7 @@ int dissect_nr_rrc_MeasGapSharingConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinf int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_SupportedBandCombinationListSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_nr_rrc_BandParametersSidelink_r16_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index 41f54b5889..a38616ff50 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -20,7 +20,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later * * Ref: - * 3GPP TS 36.423 V15.9.0 (2020-03) + * 3GPP TS 36.423 V16.2.0 (2020-07) */ #include "config.h" @@ -108,8 +108,15 @@ void proto_register_x2ap(void); #define maxnoofBluetoothName 4 #define maxnoofWLANName 4 #define maxnoofextBPLMNs 12 -#define maxnoofextBPLMNsminus1 11 -#define maxnoofBPLMNsminus1 11 +#define maxnoofTLAs 16 +#define maxnoofGTPTLAs 16 +#define maxnoofTNLAssociations 32 +#define maxnoofCellsinCHO 16 +#define maxnoofPC5QoSFlows 2048 +#define maxnoofSSBAreas 64 +#define maxnoofNRSCSs 5 +#define maxnoofPhysicalResourceBlocks 275 +#define maxnoofNRPhysicalResourceBlocks 275 typedef enum _ProcedureCode_enum { id_handoverPreparation = 0, @@ -160,7 +167,14 @@ typedef enum _ProcedureCode_enum { id_gNBStatusIndication = 45, id_deactivateTrace = 46, id_traceStart = 47, - id_endcConfigurationTransfer = 48 + id_endcConfigurationTransfer = 48, + id_handoverSuccess = 49, + id_conditionalHandoverCancel = 50, + id_earlyStatusTransfer = 51, + id_cellTrafficTrace = 52, + id_endcresourceStatusReporting = 53, + id_endcresourceStatusReportingInitiation = 54, + id_f1CTrafficTransfer = 55 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -504,27 +518,65 @@ typedef enum _ProtocolIE_ID_enum { id_BPLMN_ID_Info_NR = 337, id_NBIoT_UL_DL_AlignmentOffset = 338, id_ERABs_transferred_to_MeNB = 339, - id_Unknown_340 = 340, - id_Unknown_341 = 341, - id_Unknown_342 = 342, - id_Unknown_343 = 343, - id_Unknown_344 = 344, - id_Unknown_345 = 345, - id_Unknown_346 = 346, - id_Unknown_347 = 347, - id_Unknown_348 = 348, - id_Unknown_349 = 349, - id_Unknown_350 = 350, - id_Unknown_351 = 351, - id_Unknown_352 = 352, - id_Unknown_353 = 353, - id_Unknown_354 = 354, - id_Unknown_355 = 355, - id_Unknown_356 = 356, - id_Unknown_357 = 357, - id_Unknown_358 = 358, - id_Unknown_359 = 359, - id_EPCHandoverRestrictionListContainer = 360 + id_AdditionalRRMPriorityIndex = 340, + id_LowerLayerPresenceStatusChange = 341, + id_FastMCGRecovery_SN_to_MN = 342, + id_RequestedFastMCGRecoveryViaSRB3 = 343, + id_AvailableFastMCGRecoveryViaSRB3 = 344, + id_RequestedFastMCGRecoveryViaSRB3Release = 345, + id_ReleaseFastMCGRecoveryViaSRB3 = 346, + id_FastMCGRecovery_MN_to_SN = 347, + id_PartialListIndicator = 348, + id_MaximumCellListSize = 349, + id_MessageOversizeNotification = 350, + id_CellandCapacityAssistInfo = 351, + id_TNLConfigurationInfo = 352, + id_TNLA_To_Add_List = 353, + id_TNLA_To_Update_List = 354, + id_TNLA_To_Remove_List = 355, + id_TNLA_Setup_List = 356, + id_TNLA_Failed_To_Setup_List = 357, + id_UnlicensedSpectrumRestriction = 358, + id_UEContextReferenceatSourceNGRAN = 359, + id_EPCHandoverRestrictionListContainer = 360, + id_CHOinformation_REQ = 361, + id_CHOinformation_ACK = 362, + id_DAPSRequestInfo = 363, + id_RequestedTargetCellID = 364, + id_CandidateCellsToBeCancelledList = 365, + id_DAPSResponseInfo = 366, + id_ProcedureStage = 367, + id_CHO_DC_Indicator = 368, + id_Ethernet_Type = 369, + id_NRV2XServicesAuthorized = 370, + id_NRUESidelinkAggregateMaximumBitRate = 371, + id_PC5QoSParameters = 372, + id_NPRACHConfiguration = 373, + id_NBIoT_RLF_Report_Container = 374, + id_MDTConfigurationNR = 375, + id_PrivacyIndicator = 376, + id_TraceCollectionEntityIPAddress = 377, + id_UERadioCapabilityID = 378, + id_SNtriggered = 379, + id_CSI_RSTransmissionIndication = 380, + id_DLCarrierList = 381, + id_TargetCellInNGRAN = 382, + id_eNB_Measurement_ID_ENDC = 383, + id_engNB_Measurement_ID_ENDC = 384, + id_TDDULDLConfigurationCommonNR = 385, + id_CarrierList = 386, + id_ULCarrierList = 387, + id_FrequencyShift7p5khz = 388, + id_SSB_PositionsInBurst = 389, + id_NRCellPRACHConfig = 390, + id_CellToReport_ENDC = 391, + id_CellToReport_ENDC_Item = 392, + id_CellMeasurementResult_ENDC = 393, + id_CellMeasurementResult_ENDC_Item = 394, + id_IABNodeIndication = 395, + id_QoS_Mapping_Information = 396, + id_F1CTrafficContainer = 397, + id_IABInformation = 398 } ProtocolIE_ID_enum; /*--- End of included file: packet-x2ap-val.h ---*/ @@ -595,14 +647,24 @@ 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; +static int hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_Reserved = -1; +static int hf_x2ap_Registration_Request_ENDC_PDU = -1; +static int hf_x2ap_ReportingPeriodicity_ENDC_PDU = -1; +static int hf_x2ap_ReportCharacteristics_ENDC_PDU = -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_AdditionalRRMPriorityIndex_PDU = -1; /* AdditionalRRMPriorityIndex */ static int hf_x2ap_AdditionalSpecialSubframe_Info_PDU = -1; /* AdditionalSpecialSubframe_Info */ static int hf_x2ap_AdditionalSpecialSubframeExtension_Info_PDU = -1; /* AdditionalSpecialSubframeExtension_Info */ +static int hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU = -1; /* AvailableFastMCGRecoveryViaSRB3 */ static int hf_x2ap_AerialUEsubscriptionInformation_PDU = -1; /* AerialUEsubscriptionInformation */ static int hf_x2ap_AdditionalPLMNs_Item_PDU = -1; /* AdditionalPLMNs_Item */ static int hf_x2ap_BandwidthReducedSI_PDU = -1; /* BandwidthReducedSI */ @@ -612,6 +674,7 @@ static int hf_x2ap_BPLMN_ID_Info_EUTRA_PDU = -1; /* BPLMN_ID_Info_EUTRA */ static int hf_x2ap_BPLMN_ID_Info_NR_PDU = -1; /* BPLMN_ID_Info_NR */ static int hf_x2ap_Cause_PDU = -1; /* Cause */ static int hf_x2ap_CellReportingIndicator_PDU = -1; /* CellReportingIndicator */ +static int hf_x2ap_CHO_DC_Indicator_PDU = -1; /* CHO_DC_Indicator */ static int hf_x2ap_CNTypeRestrictions_PDU = -1; /* CNTypeRestrictions */ static int hf_x2ap_CoMPInformation_PDU = -1; /* CoMPInformation */ static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */ @@ -624,7 +687,13 @@ static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */ static int hf_x2ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */ static int hf_x2ap_CSG_Id_PDU = -1; /* CSG_Id */ static int hf_x2ap_CSIReportList_PDU = -1; /* CSIReportList */ +static int hf_x2ap_CHOinformation_REQ_PDU = -1; /* CHOinformation_REQ */ +static int hf_x2ap_CHOinformation_ACK_PDU = -1; /* CHOinformation_ACK */ +static int hf_x2ap_CandidateCellsToBeCancelledList_PDU = -1; /* CandidateCellsToBeCancelledList */ +static int hf_x2ap_CSI_RSTransmissionIndication_PDU = -1; /* CSI_RSTransmissionIndication */ static int hf_x2ap_DataTrafficResourceIndication_PDU = -1; /* DataTrafficResourceIndication */ +static int hf_x2ap_DAPSRequestInfo_PDU = -1; /* DAPSRequestInfo */ +static int hf_x2ap_DAPSResponseInfo_PDU = -1; /* DAPSResponseInfo */ static int hf_x2ap_DeactivationIndication_PDU = -1; /* DeactivationIndication */ static int hf_x2ap_DesiredActNotificationLevel_PDU = -1; /* DesiredActNotificationLevel */ static int hf_x2ap_DL_Forwarding_PDU = -1; /* DL_Forwarding */ @@ -640,12 +709,16 @@ static int hf_x2ap_ERABActivityNotifyItemList_PDU = -1; /* ERABActivityNotifyIt 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_Ethernet_Type_PDU = -1; /* Ethernet_Type */ static int hf_x2ap_EUTRANCellIdentifier_PDU = -1; /* EUTRANCellIdentifier */ static int hf_x2ap_EUTRANTraceID_PDU = -1; /* EUTRANTraceID */ 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_F1CTrafficContainer_PDU = -1; /* F1CTrafficContainer */ +static int hf_x2ap_FastMCGRecovery_PDU = -1; /* FastMCGRecovery */ static int hf_x2ap_FreqBandIndicatorPriority_PDU = -1; /* FreqBandIndicatorPriority */ +static int hf_x2ap_FrequencyShift7p5khz_PDU = -1; /* FrequencyShift7p5khz */ static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */ static int hf_x2ap_GlobalGNB_ID_PDU = -1; /* GlobalGNB_ID */ static int hf_x2ap_GNBOverloadInformation_PDU = -1; /* GNBOverloadInformation */ @@ -655,12 +728,15 @@ 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_IABInformation_PDU = -1; /* IABInformation */ +static int hf_x2ap_IABNodeIndication_PDU = -1; /* IABNodeIndication */ static int hf_x2ap_InterfaceInstanceIndication_PDU = -1; /* InterfaceInstanceIndication */ static int hf_x2ap_InvokeIndication_PDU = -1; /* InvokeIndication */ static int hf_x2ap_LCID_PDU = -1; /* LCID */ static int hf_x2ap_LHN_ID_PDU = -1; /* LHN_ID */ static int hf_x2ap_LocationInformationSgNB_PDU = -1; /* LocationInformationSgNB */ static int hf_x2ap_LocationInformationSgNBReporting_PDU = -1; /* LocationInformationSgNBReporting */ +static int hf_x2ap_LowerLayerPresenceStatusChange_PDU = -1; /* LowerLayerPresenceStatusChange */ static int hf_x2ap_M3Configuration_PDU = -1; /* M3Configuration */ static int hf_x2ap_M4Configuration_PDU = -1; /* M4Configuration */ static int hf_x2ap_M5Configuration_PDU = -1; /* M5Configuration */ @@ -673,30 +749,40 @@ 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_Measurement_ID_ENDC_PDU = -1; /* Measurement_ID_ENDC */ static int hf_x2ap_MeNBCoordinationAssistanceInformation_PDU = -1; /* MeNBCoordinationAssistanceInformation */ static int hf_x2ap_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_MDT_ConfigurationNR_PDU = -1; /* MDT_ConfigurationNR */ 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_MessageOversizeNotification_PDU = -1; /* MessageOversizeNotification */ static int hf_x2ap_MeNBtoSgNBContainer_PDU = -1; /* MeNBtoSgNBContainer */ static int hf_x2ap_SplitSRBs_PDU = -1; /* SplitSRBs */ static int hf_x2ap_SplitSRB_PDU = -1; /* SplitSRB */ static int hf_x2ap_NBIoT_UL_DL_AlignmentOffset_PDU = -1; /* NBIoT_UL_DL_AlignmentOffset */ +static int hf_x2ap_NBIoT_RLF_Report_Container_PDU = -1; /* NBIoT_RLF_Report_Container */ static int hf_x2ap_NewDRBIDrequest_PDU = -1; /* NewDRBIDrequest */ static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */ +static int hf_x2ap_NRCarrierList_PDU = -1; /* NRCarrierList */ +static int hf_x2ap_NRCellPRACHConfig_PDU = -1; /* NRCellPRACHConfig */ static int hf_x2ap_NRCGI_PDU = -1; /* NRCGI */ static int hf_x2ap_NRNeighbour_Information_PDU = -1; /* NRNeighbour_Information */ +static int hf_x2ap_NPRACHConfiguration_PDU = -1; /* NPRACHConfiguration */ static int hf_x2ap_NRrestrictioninEPSasSecondaryRAT_PDU = -1; /* NRrestrictioninEPSasSecondaryRAT */ static int hf_x2ap_NRrestrictionin5GS_PDU = -1; /* NRrestrictionin5GS */ static int hf_x2ap_NRS_NSSS_PowerOffset_PDU = -1; /* NRS_NSSS_PowerOffset */ static int hf_x2ap_NRUeReport_PDU = -1; /* NRUeReport */ +static int hf_x2ap_NRUESidelinkAggregateMaximumBitRate_PDU = -1; /* NRUESidelinkAggregateMaximumBitRate */ static int hf_x2ap_NRUESecurityCapabilities_PDU = -1; /* NRUESecurityCapabilities */ static int hf_x2ap_NSSS_NumOccasionDifferentPrecoder_PDU = -1; /* NSSS_NumOccasionDifferentPrecoder */ +static int hf_x2ap_NRV2XServicesAuthorized_PDU = -1; /* NRV2XServicesAuthorized */ static int hf_x2ap_OffsetOfNbiotChannelNumberToEARFCN_PDU = -1; /* OffsetOfNbiotChannelNumberToEARFCN */ static int hf_x2ap_Packet_LossRate_PDU = -1; /* Packet_LossRate */ +static int hf_x2ap_PC5QoSParameters_PDU = -1; /* PC5QoSParameters */ static int hf_x2ap_PDCPChangeIndication_PDU = -1; /* PDCPChangeIndication */ static int hf_x2ap_PDCPSnLength_PDU = -1; /* PDCPSnLength */ static int hf_x2ap_PCI_PDU = -1; /* PCI */ @@ -705,12 +791,19 @@ static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */ static int hf_x2ap_ProSeAuthorized_PDU = -1; /* ProSeAuthorized */ static int hf_x2ap_ProSeUEtoNetworkRelaying_PDU = -1; /* ProSeUEtoNetworkRelaying */ static int hf_x2ap_x2ap_ProtectedEUTRAResourceIndication_PDU = -1; /* ProtectedEUTRAResourceIndication */ +static int hf_x2ap_PartialListIndicator_PDU = -1; /* PartialListIndicator */ +static int hf_x2ap_PrivacyIndicator_PDU = -1; /* PrivacyIndicator */ +static int hf_x2ap_QoS_Mapping_Information_PDU = -1; /* QoS_Mapping_Information */ +static int hf_x2ap_RAN_UE_NGAP_ID_PDU = -1; /* RAN_UE_NGAP_ID */ static int hf_x2ap_ReceiveStatusOfULPDCPSDUsExtended_PDU = -1; /* ReceiveStatusOfULPDCPSDUsExtended */ static int hf_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU = -1; /* ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 */ +static int hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU = -1; /* ReleaseFastMCGRecoveryViaSRB3 */ static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */ static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */ static int hf_x2ap_ReportingPeriodicityCSIR_PDU = -1; /* ReportingPeriodicityCSIR */ static int hf_x2ap_ReportingPeriodicityRSRPMR_PDU = -1; /* ReportingPeriodicityRSRPMR */ +static int hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU = -1; /* RequestedFastMCGRecoveryViaSRB3 */ +static int hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU = -1; /* RequestedFastMCGRecoveryViaSRB3Release */ static int hf_x2ap_ResumeID_PDU = -1; /* ResumeID */ static int hf_x2ap_RLCMode_PDU = -1; /* RLCMode */ static int hf_x2ap_RLC_Status_PDU = -1; /* RLC_Status */ @@ -731,19 +824,29 @@ 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_SGNB_Addition_Trigger_Ind_PDU = -1; /* SGNB_Addition_Trigger_Ind */ +static int hf_x2ap_SNtriggered_PDU = -1; /* SNtriggered */ static int hf_x2ap_SpectrumSharingGroupID_PDU = -1; /* SpectrumSharingGroupID */ static int hf_x2ap_Subscription_Based_UE_DifferentiationInfo_PDU = -1; /* Subscription_Based_UE_DifferentiationInfo */ static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */ +static int hf_x2ap_SSB_PositionsInBurst_PDU = -1; /* SSB_PositionsInBurst */ static int hf_x2ap_SubscriberProfileIDforRFP_PDU = -1; /* SubscriberProfileIDforRFP */ 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_TargetCellInNGRAN_PDU = -1; /* TargetCellInNGRAN */ static int hf_x2ap_TargetCellInUTRAN_PDU = -1; /* TargetCellInUTRAN */ static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */ +static int hf_x2ap_TDDULDLConfigurationCommonNR_PDU = -1; /* TDDULDLConfigurationCommonNR */ static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */ static int hf_x2ap_Time_UE_StayedInCell_EnhancedGranularity_PDU = -1; /* Time_UE_StayedInCell_EnhancedGranularity */ +static int hf_x2ap_TNLA_To_Add_List_PDU = -1; /* TNLA_To_Add_List */ +static int hf_x2ap_TNLA_To_Update_List_PDU = -1; /* TNLA_To_Update_List */ +static int hf_x2ap_TNLA_To_Remove_List_PDU = -1; /* TNLA_To_Remove_List */ +static int hf_x2ap_TNLA_Setup_List_PDU = -1; /* TNLA_Setup_List */ +static int hf_x2ap_TNLA_Failed_To_Setup_List_PDU = -1; /* TNLA_Failed_To_Setup_List */ +static int hf_x2ap_TNLConfigurationInfo_PDU = -1; /* TNLConfigurationInfo */ static int hf_x2ap_TraceActivation_PDU = -1; /* TraceActivation */ static int hf_x2ap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_x2ap_TunnelInformation_PDU = -1; /* TunnelInformation */ @@ -755,12 +858,14 @@ static int hf_x2ap_UE_HistoryInformation_PDU = -1; /* UE_HistoryInformation */ static int hf_x2ap_UE_HistoryInformationFromTheUE_PDU = -1; /* UE_HistoryInformationFromTheUE */ static int hf_x2ap_UE_X2AP_ID_PDU = -1; /* UE_X2AP_ID */ static int hf_x2ap_UE_X2AP_ID_Extension_PDU = -1; /* UE_X2AP_ID_Extension */ +static int hf_x2ap_UERadioCapabilityID_PDU = -1; /* UERadioCapabilityID */ 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_UEsToBeResetList_PDU = -1; /* UEsToBeResetList */ static int hf_x2ap_UL_scheduling_PDCCH_CCE_usage_PDU = -1; /* UL_scheduling_PDCCH_CCE_usage */ +static int hf_x2ap_UnlicensedSpectrumRestriction_PDU = -1; /* UnlicensedSpectrumRestriction */ static int hf_x2ap_UserPlaneTrafficActivityReport_PDU = -1; /* UserPlaneTrafficActivityReport */ static int hf_x2ap_V2XServicesAuthorized_PDU = -1; /* V2XServicesAuthorized */ static int hf_x2ap_WLANMeasurementConfiguration_PDU = -1; /* WLANMeasurementConfiguration */ @@ -777,11 +882,15 @@ 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 */ static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */ static int hf_x2ap_HandoverReport_PDU = -1; /* HandoverReport */ +static int hf_x2ap_EarlyStatusTransfer_PDU = -1; /* EarlyStatusTransfer */ +static int hf_x2ap_ProcedureStageChoice_PDU = -1; /* ProcedureStageChoice */ static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU = -1; /* E_RABs_SubjectToStatusTransfer_List */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU = -1; /* E_RABs_SubjectToStatusTransfer_Item */ static int hf_x2ap_UEContextRelease_PDU = -1; /* UEContextRelease */ static int hf_x2ap_HandoverCancel_PDU = -1; /* HandoverCancel */ +static int hf_x2ap_HandoverSuccess_PDU = -1; /* HandoverSuccess */ +static int hf_x2ap_ConditionalHandoverCancel_PDU = -1; /* ConditionalHandoverCancel */ static int hf_x2ap_ErrorIndication_PDU = -1; /* ErrorIndication */ static int hf_x2ap_ResetRequest_PDU = -1; /* ResetRequest */ static int hf_x2ap_ResetResponse_PDU = -1; /* ResetResponse */ @@ -927,6 +1036,7 @@ 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_CellandCapacityAssistInfo_PDU = -1; /* CellandCapacityAssistInfo */ 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 */ @@ -945,6 +1055,14 @@ 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_ENDCResourceStatusRequest_PDU = -1; /* ENDCResourceStatusRequest */ +static int hf_x2ap_CellToReport_ENDC_List_PDU = -1; /* CellToReport_ENDC_List */ +static int hf_x2ap_CellToReport_ENDC_Item_PDU = -1; /* CellToReport_ENDC_Item */ +static int hf_x2ap_ENDCResourceStatusResponse_PDU = -1; /* ENDCResourceStatusResponse */ +static int hf_x2ap_ENDCResourceStatusFailure_PDU = -1; /* ENDCResourceStatusFailure */ +static int hf_x2ap_ENDCResourceStatusUpdate_PDU = -1; /* ENDCResourceStatusUpdate */ +static int hf_x2ap_CellMeasurementResult_ENDC_List_PDU = -1; /* CellMeasurementResult_ENDC_List */ +static int hf_x2ap_CellMeasurementResult_ENDC_Item_PDU = -1; /* CellMeasurementResult_ENDC_Item */ static int hf_x2ap_SecondaryRATDataUsageReport_PDU = -1; /* SecondaryRATDataUsageReport */ static int hf_x2ap_SgNBActivityNotification_PDU = -1; /* SgNBActivityNotification */ static int hf_x2ap_ENDCPartialResetRequired_PDU = -1; /* ENDCPartialResetRequired */ @@ -970,6 +1088,8 @@ static int hf_x2ap_GNBStatusIndication_PDU = -1; /* GNBStatusIndication */ static int hf_x2ap_ENDCConfigurationTransfer_PDU = -1; /* ENDCConfigurationTransfer */ static int hf_x2ap_TraceStart_PDU = -1; /* TraceStart */ static int hf_x2ap_DeactivateTrace_PDU = -1; /* DeactivateTrace */ +static int hf_x2ap_CellTrafficTrace_PDU = -1; /* CellTrafficTrace */ +static int hf_x2ap_F1CTrafficTransfer_PDU = -1; /* F1CTrafficTransfer */ 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 */ @@ -1025,7 +1145,7 @@ static int hf_x2ap_e_utraCI = -1; /* EUTRANCellIdentifier */ static int hf_x2ap_iE_Extension = -1; /* ProtocolExtensionContainer */ static int hf_x2ap_BPLMN_ID_Info_NR_item = -1; /* BPLMN_ID_Info_NR_Item */ static int hf_x2ap_broadcastPLMNs_01 = -1; /* BroadcastextPLMNs */ -static int hf_x2ap_fiveGStac = -1; /* FiveGS_TAC */ +static int hf_x2ap_fiveGS_TAC = -1; /* FiveGS_TAC */ static int hf_x2ap_nr_CI = -1; /* NRCellIdentifier */ static int hf_x2ap_BroadcastextPLMNs_item = -1; /* PLMN_Identity */ static int hf_x2ap_radioNetwork = -1; /* CauseRadioNetwork */ @@ -1067,6 +1187,8 @@ static int hf_x2ap_eCGI = -1; /* ECGI */ static int hf_x2ap_coverageState = -1; /* INTEGER_0_15_ */ static int hf_x2ap_cellDeploymentStatusIndicator = -1; /* CellDeploymentStatusIndicator */ static int hf_x2ap_cellReplacingInfo = -1; /* CellReplacingInfo */ +static int hf_x2ap_endpointIPAddress = -1; /* TransportLayerAddress */ +static int hf_x2ap_endpointIPAddressAndPort = -1; /* TransportLayerAddressAndPort */ static int hf_x2ap_procedureCode = -1; /* ProcedureCode */ static int hf_x2ap_triggeringMessage = -1; /* TriggeringMessage */ static int hf_x2ap_procedureCriticality = -1; /* Criticality */ @@ -1086,9 +1208,18 @@ 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_cho_trigger = -1; /* CHOtrigger */ +static int hf_x2ap_new_eNB_UE_X2AP_ID = -1; /* UE_X2AP_ID */ +static int hf_x2ap_new_eNB_UE_X2AP_ID_Extension = -1; /* UE_X2AP_ID_Extension */ +static int hf_x2ap_cHO_EstimatedArrivalProbability = -1; /* CHO_Probability */ +static int hf_x2ap_requestedTargetCellID = -1; /* ECGI */ +static int hf_x2ap_maxCHOpreparations = -1; /* MaxCHOpreparations */ +static int hf_x2ap_CandidateCellsToBeCancelledList_item = -1; /* ECGI */ static int hf_x2ap_activationSFN = -1; /* INTEGER_0_1023 */ static int hf_x2ap_sharedResourceType = -1; /* SharedResourceType */ static int hf_x2ap_reservedSubframePattern = -1; /* ReservedSubframePattern */ +static int hf_x2ap_dAPSIndicator = -1; /* T_dAPSIndicator */ +static int hf_x2ap_dAPSResponseIndicator = -1; /* T_dAPSResponseIndicator */ static int hf_x2ap_highestSuccessDeliveredPDCPSN = -1; /* INTEGER_0_4095 */ static int hf_x2ap_unchanged = -1; /* NULL */ static int hf_x2ap_changed = -1; /* DLResourceBitmapULandDLSharing */ @@ -1119,6 +1250,14 @@ static int hf_x2ap_allocationAndRetentionPriority = -1; /* AllocationAndRetenti static int hf_x2ap_gbrQosInformation = -1; /* GBR_QosInformation */ static int hf_x2ap_E_RAB_List_item = -1; /* ProtocolIE_Single_Container */ static int hf_x2ap_cause = -1; /* Cause */ +static int hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item = -1; /* E_RABsSubjectToEarlyStatusTransfer_Item */ +static int hf_x2ap_fIRST_DL_COUNTValue = -1; /* COUNTvalue */ +static int hf_x2ap_fIRST_DL_COUNTValueExtended = -1; /* COUNTValueExtended */ +static int hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18 = -1; /* COUNTvaluePDCP_SNlength18 */ +static int hf_x2ap_E_RABsSubjectToDLDiscarding_List_item = -1; /* E_RABsSubjectToDLDiscarding_Item */ +static int hf_x2ap_dISCARD_DL_COUNTValue = -1; /* COUNTvalue */ +static int hf_x2ap_dISCARD_DL_COUNTValueExtended = -1; /* COUNTValueExtended */ +static int hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18 = -1; /* COUNTvaluePDCP_SNlength18 */ 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 */ @@ -1133,6 +1272,7 @@ static int hf_x2ap_expectedIdlePeriod = -1; /* ExpectedIdlePeriod */ static int hf_x2ap_sourceofUEActivityBehaviourInformation = -1; /* SourceOfUEActivityBehaviourInformation */ static int hf_x2ap_associatedSubframes = -1; /* BIT_STRING_SIZE_5 */ static int hf_x2ap_extended_ul_InterferenceOverloadIndication = -1; /* UL_InterferenceOverloadIndication */ +static int hf_x2ap_rrcContainer = -1; /* RRCContainer */ static int hf_x2ap_uL_EARFCN = -1; /* EARFCN */ static int hf_x2ap_dL_EARFCN = -1; /* EARFCN */ static int hf_x2ap_uL_Transmission_Bandwidth = -1; /* Transmission_Bandwidth */ @@ -1154,6 +1294,8 @@ 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_GTPTLAs_item = -1; /* GTPTLA_Item */ +static int hf_x2ap_gTPTransportLayerAddresses = -1; /* TransportLayerAddress */ 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 */ @@ -1168,6 +1310,7 @@ static int hf_x2ap_forbiddenLAs = -1; /* ForbiddenLAs */ static int hf_x2ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */ static int hf_x2ap_dLHWLoadIndicator = -1; /* LoadIndicator */ static int hf_x2ap_uLHWLoadIndicator = -1; /* LoadIndicator */ +static int hf_x2ap_ie_Extensions = -1; /* ProtocolExtensionContainer */ static int hf_x2ap_e_UTRAN_Cell = -1; /* LastVisitedEUTRANCellInformation */ static int hf_x2ap_uTRAN_Cell = -1; /* LastVisitedUTRANCellInformation */ static int hf_x2ap_gERAN_Cell = -1; /* LastVisitedGERANCellInformation */ @@ -1213,13 +1356,24 @@ static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */ 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_maximumCellListSize = -1; /* MaximumCellListSize */ static int hf_x2ap_freqBandIndicator = -1; /* FreqBandIndicator */ -static int hf_x2ap_rrcContainer = -1; /* T_rrcContainer */ +static int hf_x2ap_rrcContainer_01 = -1; /* T_rrcContainer */ static int hf_x2ap_srbType = -1; /* SRBType */ static int hf_x2ap_deliveryStatus = -1; /* DeliveryStatus */ 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_capacityValue_01 = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaCapacityValue_List = -1; /* SSBAreaCapacityValue_List */ +static int hf_x2ap_NRCarrierList_item = -1; /* NRCarrierItem */ +static int hf_x2ap_carrierSCS = -1; /* NRSCS */ +static int hf_x2ap_offsetToCarrier = -1; /* INTEGER_0_2199_ */ +static int hf_x2ap_carrierBandwidth = -1; /* INTEGER_0_maxnoofPhysicalResourceBlocks_ */ +static int hf_x2ap_compositeAvailableCapacityDL = -1; /* NRCompositeAvailableCapacity */ +static int hf_x2ap_compositeAvailableCapacityUL = -1; /* NRCompositeAvailableCapacity */ +static int hf_x2ap_cellCapacityClassValue_01 = -1; /* NRCellCapacityClassValue */ +static int hf_x2ap_capacityValue_02 = -1; /* NRCapacityValue */ static int hf_x2ap_nRARFCN = -1; /* INTEGER_0_3279165 */ static int hf_x2ap_freqBandListNr = -1; /* SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem */ static int hf_x2ap_freqBandListNr_item = -1; /* FreqBandNrItem */ @@ -1228,17 +1382,44 @@ static int hf_x2ap_nRcellIdentifier = -1; /* NRCellIdentifier */ static int hf_x2ap_NRNeighbour_Information_item = -1; /* NRNeighbour_Information_item */ static int hf_x2ap_nrpCI = -1; /* NRPCI */ static int hf_x2ap_nrCellID = -1; /* NRCGI */ -static int hf_x2ap_fiveGS_TAC = -1; /* FiveGS_TAC */ static int hf_x2ap_configured_TAC = -1; /* TAC */ static int hf_x2ap_measurementTimingConfiguration = -1; /* T_measurementTimingConfiguration */ static int hf_x2ap_nRNeighbourModeInfo = -1; /* T_nRNeighbourModeInfo */ static int hf_x2ap_fdd_01 = -1; /* FDD_InfoNeighbourServedNRCell_Information */ static int hf_x2ap_tdd_01 = -1; /* TDD_InfoNeighbourServedNRCell_Information */ +static int hf_x2ap_fdd_or_tdd = -1; /* T_fdd_or_tdd */ +static int hf_x2ap_fdd_02 = -1; /* NPRACHConfiguration_FDD */ +static int hf_x2ap_tdd_02 = -1; /* NPRACHConfiguration_TDD */ +static int hf_x2ap_nprach_CP_length = -1; /* NPRACH_CP_Length */ +static int hf_x2ap_anchorCarrier_NPRACHConfig = -1; /* T_anchorCarrier_NPRACHConfig */ +static int hf_x2ap_anchorCarrier_EDT_NPRACHConfig = -1; /* T_anchorCarrier_EDT_NPRACHConfig */ +static int hf_x2ap_anchorCarrier_Format2_NPRACHConfig = -1; /* T_anchorCarrier_Format2_NPRACHConfig */ +static int hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig = -1; /* T_anchorCarrier_Format2_EDT_NPRACHConfig */ +static int hf_x2ap_non_anchorCarrier_NPRACHConfig = -1; /* T_non_anchorCarrier_NPRACHConfig */ +static int hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig = -1; /* T_non_anchorCarrier_Format2_NPRACHConfig */ +static int hf_x2ap_nprach_preambleFormat = -1; /* NPRACH_preambleFormat */ +static int hf_x2ap_anchorCarrier_NPRACHConfigTDD = -1; /* T_anchorCarrier_NPRACHConfigTDD */ +static int hf_x2ap_non_anchorCarrierFequencyConfiglist = -1; /* Non_AnchorCarrierFrequencylist */ +static int hf_x2ap_non_anchorCarrier_NPRACHConfigTDD = -1; /* T_non_anchorCarrier_NPRACHConfigTDD */ +static int hf_x2ap_Non_AnchorCarrierFrequencylist_item = -1; /* Non_AnchorCarrierFrequencylist_item */ +static int hf_x2ap_non_anchorCarrioerFrquency = -1; /* Non_anchorCarrierFrequency */ +static int hf_x2ap_ssbAreaRadioResourceStatus_List = -1; /* SSBAreaRadioResourceStatus_List */ static int hf_x2ap_nRSCS = -1; /* NRSCS */ static int hf_x2ap_nRNRB = -1; /* NRNRB */ static int hf_x2ap_uENRMeasurements = -1; /* T_uENRMeasurements */ +static int hf_x2ap_uESidelinkAggregateMaximumBitRate = -1; /* BitRate */ static int hf_x2ap_nRencryptionAlgorithms = -1; /* NRencryptionAlgorithms */ static int hf_x2ap_nRintegrityProtectionAlgorithms = -1; /* NRintegrityProtectionAlgorithms */ +static int hf_x2ap_vehicleUE = -1; /* VehicleUE */ +static int hf_x2ap_pedestrianUE = -1; /* PedestrianUE */ +static int hf_x2ap_pc5QoSFlowList = -1; /* PC5QoSFlowList */ +static int hf_x2ap_pc5LinkAggregatedBitRates = -1; /* BitRate */ +static int hf_x2ap_PC5QoSFlowList_item = -1; /* PC5QoSFlowItem */ +static int hf_x2ap_pQI = -1; /* FiveQI */ +static int hf_x2ap_pc5FlowBitRates = -1; /* PC5FlowBitRates */ +static int hf_x2ap_range = -1; /* Range */ +static int hf_x2ap_guaranteedFlowBitRate = -1; /* BitRate */ +static int hf_x2ap_maximumFlowBitRate = -1; /* BitRate */ 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 */ @@ -1258,6 +1439,8 @@ static int hf_x2ap_resourceType = -1; /* ResourceType */ static int hf_x2ap_intraPRBProtectedResourceFootprint = -1; /* BIT_STRING_SIZE_84_ */ static int hf_x2ap_protectedFootprintFrequencyPattern = -1; /* BIT_STRING_SIZE_6_110_ */ static int hf_x2ap_protectedFootprintTimePattern = -1; /* ProtectedFootprintTimePattern */ +static int hf_x2ap_dscp = -1; /* BIT_STRING_SIZE_6 */ +static int hf_x2ap_flow_label = -1; /* BIT_STRING_SIZE_20 */ static int hf_x2ap_dL_GBR_PRB_usage = -1; /* DL_GBR_PRB_usage */ static int hf_x2ap_uL_GBR_PRB_usage = -1; /* UL_GBR_PRB_usage */ static int hf_x2ap_dL_non_GBR_PRB_usage = -1; /* DL_non_GBR_PRB_usage */ @@ -1307,6 +1490,22 @@ static int hf_x2ap_batteryIndication = -1; /* T_batteryIndication */ static int hf_x2ap_dayofWeek = -1; /* BIT_STRING_SIZE_7 */ static int hf_x2ap_timeofDayStart = -1; /* INTEGER_0_86399_ */ static int hf_x2ap_timeofDayEnd = -1; /* INTEGER_0_86399_ */ +static int hf_x2ap_SSBAreaCapacityValue_List_item = -1; /* SSBAreaCapacityValue_Item */ +static int hf_x2ap_ssbIndex = -1; /* SSBIndex */ +static int hf_x2ap_ssbAreaCapacityValue = -1; /* INTEGER_0_100 */ +static int hf_x2ap_SSBAreaRadioResourceStatus_List_item = -1; /* SSBAreaRadioResourceStatus_Item */ +static int hf_x2ap_ssbAreaDLGBRPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaULGBRPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaDLNonGBRPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaULNonGBRPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaDLTotalPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaULTotalPRBUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage = -1; /* INTEGER_0_100 */ +static int hf_x2ap_shortBitmap = -1; /* BIT_STRING_SIZE_4 */ +static int hf_x2ap_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */ +static int hf_x2ap_longBitmap = -1; /* BIT_STRING_SIZE_64 */ +static int hf_x2ap_choice_extension = -1; /* ProtocolIE_Single_Container */ static int hf_x2ap_four_bitCQI = -1; /* INTEGER_0_15_ */ static int hf_x2ap_two_bitSubbandDifferentialCQI = -1; /* INTEGER_0_3_ */ static int hf_x2ap_two_bitDifferentialCQI = -1; /* INTEGER_0_3_ */ @@ -1330,10 +1529,29 @@ 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 */ static int hf_x2ap_nRFreqInfo = -1; /* NRFreqInfo */ +static int hf_x2ap_TNLA_To_Add_List_item = -1; /* TNLA_To_Add_Item */ +static int hf_x2ap_tNLAssociationTransportLayerAddress = -1; /* CPTransportLayerInformation */ +static int hf_x2ap_tNLAssociationUsage = -1; /* TNLAssociationUsage */ +static int hf_x2ap_TNLA_To_Update_List_item = -1; /* TNLA_To_Update_Item */ +static int hf_x2ap_TNLA_To_Remove_List_item = -1; /* TNLA_To_Remove_Item */ +static int hf_x2ap_TNLA_Setup_List_item = -1; /* TNLA_Setup_Item */ +static int hf_x2ap_TNLA_Failed_To_Setup_List_item = -1; /* TNLA_Failed_To_Setup_Item */ +static int hf_x2ap_dlTNLMaximumOfferedCapacity = -1; /* INTEGER_1_16777216_ */ +static int hf_x2ap_dlTNLAvailableCapacity = -1; /* INTEGER_0_100_ */ +static int hf_x2ap_ulTNLMaximumOfferedCapacity = -1; /* INTEGER_1_16777216_ */ +static int hf_x2ap_ulTNLAvailableCapacity = -1; /* INTEGER_0_100_ */ +static int hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item = -1; /* Transport_UP_Layer_Addresses_Info_To_Add_Item */ +static int hf_x2ap_iP_SecTransportLayerAddress = -1; /* TransportLayerAddress */ +static int hf_x2ap_gTPTransportLayerAddressesToAdd = -1; /* GTPTLAs */ +static int hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item = -1; /* Transport_UP_Layer_Addresses_Info_To_Remove_Item */ +static int hf_x2ap_gTPTransportLayerAddressesToRemove = -1; /* GTPTLAs */ +static int hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List = -1; /* Transport_UP_Layer_Addresses_Info_To_Add_List */ +static int hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List = -1; /* Transport_UP_Layer_Addresses_Info_To_Remove_List */ static int hf_x2ap_eUTRANTraceID = -1; /* EUTRANTraceID */ static int hf_x2ap_interfacesToTrace = -1; /* InterfacesToTrace */ static int hf_x2ap_traceDepth = -1; /* TraceDepth */ static int hf_x2ap_traceCollectionEntityIPAddress = -1; /* TraceCollectionEntityIPAddress */ +static int hf_x2ap_portnumber = -1; /* Port_Number */ static int hf_x2ap_uDP_Port_Number = -1; /* Port_Number */ static int hf_x2ap_uEaggregateMaximumBitRateDownlink = -1; /* BitRate */ static int hf_x2ap_uEaggregateMaximumBitRateUplink = -1; /* BitRate */ @@ -1342,7 +1560,6 @@ 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_UEsToBeResetList_item = -1; /* UEsToBeResetList_Item */ static int hf_x2ap_meNB_ID = -1; /* UE_X2AP_ID */ static int hf_x2ap_meNB_ID_ext = -1; /* UE_X2AP_ID_Extension */ @@ -1356,12 +1573,10 @@ static int hf_x2ap_ul_interferenceindication = -1; /* UL_HighInterferenceIndica static int hf_x2ap_UL_InterferenceOverloadIndication_item = -1; /* UL_InterferenceOverloadIndication_Item */ static int hf_x2ap_uLResourceBitmapULOnlySharing = -1; /* DataTrafficResources */ static int hf_x2ap_changed_01 = -1; /* ULResourceBitmapULandDLSharing */ -static int hf_x2ap_fdd_02 = -1; /* UsableABSInformationFDD */ -static int hf_x2ap_tdd_02 = -1; /* UsableABSInformationTDD */ +static int hf_x2ap_fdd_03 = -1; /* UsableABSInformationFDD */ +static int hf_x2ap_tdd_03 = -1; /* UsableABSInformationTDD */ static int hf_x2ap_usable_abs_pattern_info = -1; /* BIT_STRING_SIZE_40 */ static int hf_x2ap_usaable_abs_pattern_info = -1; /* BIT_STRING_SIZE_1_70_ */ -static int hf_x2ap_vehicleUE = -1; /* VehicleUE */ -static int hf_x2ap_pedestrianUE = -1; /* PedestrianUE */ static int hf_x2ap_widebandCQICodeword0 = -1; /* INTEGER_0_15_ */ static int hf_x2ap_widebandCQICodeword1 = -1; /* WidebandCQICodeword1 */ static int hf_x2ap_wlanMeasConfig = -1; /* WLANMeasConfig */ @@ -1396,6 +1611,10 @@ 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 */ +static int hf_x2ap_first_dl_count = -1; /* FirstDLCount */ +static int hf_x2ap_dl_discarding = -1; /* DLDiscarding */ +static int hf_x2ap_e_RABsSubjectToEarlyStatusTransfer = -1; /* E_RABsSubjectToEarlyStatusTransfer_List */ +static int hf_x2ap_e_RABsSubjectToDLDiscarding_List = -1; /* E_RABsSubjectToDLDiscarding_List */ static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item = -1; /* ProtocolIE_Single_Container */ static int hf_x2ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */ static int hf_x2ap_uL_COUNTvalue = -1; /* COUNTvalue */ @@ -1571,12 +1790,13 @@ static int hf_x2ap_ServedNRcellsENDCX2ManagementList_item = -1; /* ServedNRcell static int hf_x2ap_servedNRCellInfo = -1; /* ServedNRCell_Information */ static int hf_x2ap_nRNeighbourInfo = -1; /* NRNeighbour_Information */ static int hf_x2ap_nrModeInfo = -1; /* T_nrModeInfo */ -static int hf_x2ap_fdd_03 = -1; /* FDD_InfoServedNRCell_Information */ -static int hf_x2ap_tdd_03 = -1; /* TDD_InfoServedNRCell_Information */ +static int hf_x2ap_fdd_04 = -1; /* FDD_InfoServedNRCell_Information */ +static int hf_x2ap_tdd_04 = -1; /* TDD_InfoServedNRCell_Information */ static int hf_x2ap_measurementTimingConfiguration_01 = -1; /* T_measurementTimingConfiguration_01 */ 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_TxBW = -1; /* NR_TxBW */ +static int hf_x2ap_cellAssistanceInformation = -1; /* CellAssistanceInformation */ static int hf_x2ap_limited_list = -1; /* Limited_list */ static int hf_x2ap_full_list = -1; /* T_full_list */ static int hf_x2ap_Limited_list_item = -1; /* Limited_list_item */ @@ -1593,6 +1813,15 @@ 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_CellToReport_ENDC_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_cell_ID_01 = -1; /* NRCGI */ +static int hf_x2ap_ssbToReport_List = -1; /* SSBToReport_List */ +static int hf_x2ap_SSBToReport_List_item = -1; /* SSBToReport_Item */ +static int hf_x2ap_CellMeasurementResult_ENDC_List_item = -1; /* ProtocolIE_Single_Container */ +static int hf_x2ap_radioResourceStatus_01 = -1; /* NRRadioResourceStatus */ +static int hf_x2ap_tnlCapacityIndicator = -1; /* TNLCapacityIndicator */ +static int hf_x2ap_compositeAvailableCapacityGroup = -1; /* NRCompositeAvailableCapacityGroup */ +static int hf_x2ap_numberofActiveUEs = -1; /* INTEGER_0_16777215_ */ static int hf_x2ap_initiate_eNB = -1; /* ProtocolIE_Container */ static int hf_x2ap_initiate_en_gNB = -1; /* ProtocolIE_Container */ static int hf_x2ap_ListofEUTRACellsinEUTRACoordinationReq_item = -1; /* ECGI */ @@ -1610,7 +1839,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 119 "./asn1/x2ap/packet-x2ap-template.c" +#line 127 "./asn1/x2ap/packet-x2ap-template.c" /* Initialize the subtree pointers */ static int ett_x2ap = -1; @@ -1644,6 +1873,19 @@ static int ett_x2ap_LastVisitedNGRANCellInformation = -1; static int ett_x2ap_LastVisitedUTRANCellInformation = -1; static int ett_x2ap_EndcSONConfigurationTransfer = -1; static int ett_x2ap_EPCHandoverRestrictionListContainer = -1; +static int ett_x2ap_NBIoT_RLF_Report_Container = -1; +static int ett_x2ap_anchorCarrier_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_EDT_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_Format2_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig = -1; +static int ett_x2ap_non_anchorCarrier_NPRACHConfig = -1; +static int ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig = -1; +static int ett_x2ap_anchorCarrier_NPRACHConfigTDD = -1; +static int ett_x2ap_non_anchorCarrier_NPRACHConfigTDD = -1; +static int ett_x2ap_Non_anchorCarrierFrequency = -1; +static int ett_x2ap_ReportCharacteristics_ENDC = -1; +static int ett_x2ap_TargetCellInNGRAN = -1; +static int ett_x2ap_TDDULDLConfigurationCommonNR = -1; /*--- Included file: packet-x2ap-ett.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ett.c" @@ -1696,6 +1938,7 @@ static gint ett_x2ap_COUNTValueExtended = -1; static gint ett_x2ap_COUNTvaluePDCP_SNlength18 = -1; static gint ett_x2ap_CoverageModificationList = -1; static gint ett_x2ap_CoverageModification_Item = -1; +static gint ett_x2ap_CPTransportLayerInformation = -1; static gint ett_x2ap_CriticalityDiagnostics = -1; static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1; static gint ett_x2ap_CriticalityDiagnostics_IE_List_item = -1; @@ -1705,7 +1948,12 @@ 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_CHOinformation_REQ = -1; +static gint ett_x2ap_CHOinformation_ACK = -1; +static gint ett_x2ap_CandidateCellsToBeCancelledList = -1; static gint ett_x2ap_DataTrafficResourceIndication = -1; +static gint ett_x2ap_DAPSRequestInfo = -1; +static gint ett_x2ap_DAPSResponseInfo = -1; static gint ett_x2ap_DeliveryStatus = -1; static gint ett_x2ap_DLResourcesULandDLSharing = -1; static gint ett_x2ap_DynamicDLTransmissionInformation = -1; @@ -1722,12 +1970,17 @@ static gint ett_x2ap_ERABActivityNotifyItem = -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_RABsSubjectToEarlyStatusTransfer_List = -1; +static gint ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item = -1; +static gint ett_x2ap_E_RABsSubjectToDLDiscarding_List = -1; +static gint ett_x2ap_E_RABsSubjectToDLDiscarding_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; static gint ett_x2ap_ExtendedULInterferenceOverloadInfo = -1; +static gint ett_x2ap_FastMCGRecovery = -1; static gint ett_x2ap_FDD_Info = -1; static gint ett_x2ap_FDD_InfoNeighbourServedNRCell_Information = -1; static gint ett_x2ap_ForbiddenTAs = -1; @@ -1741,6 +1994,8 @@ static gint ett_x2ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandI 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_GTPTLAs = -1; +static gint ett_x2ap_GTPTLA_Item = -1; static gint ett_x2ap_GTPtunnelEndpoint = -1; static gint ett_x2ap_GUGroupIDList = -1; static gint ett_x2ap_GU_Group_ID = -1; @@ -1748,6 +2003,7 @@ 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_IABInformation = -1; static gint ett_x2ap_LastVisitedCell_Item = -1; static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1; static gint ett_x2ap_LastVisitedGERANCellInformation = -1; @@ -1770,19 +2026,38 @@ static gint ett_x2ap_MBSFN_Subframe_Info = -1; static gint ett_x2ap_MobilityParametersModificationRange = -1; static gint ett_x2ap_MobilityParametersInformation = -1; static gint ett_x2ap_MultibandInfoList = -1; +static gint ett_x2ap_MessageOversizeNotification = -1; static gint ett_x2ap_BandInfo = -1; static gint ett_x2ap_SplitSRB = -1; static gint ett_x2ap_Neighbour_Information = -1; static gint ett_x2ap_Neighbour_Information_item = -1; +static gint ett_x2ap_NRCapacityValue = -1; +static gint ett_x2ap_NRCarrierList = -1; +static gint ett_x2ap_NRCarrierItem = -1; +static gint ett_x2ap_NRCompositeAvailableCapacityGroup = -1; +static gint ett_x2ap_NRCompositeAvailableCapacity = -1; static gint ett_x2ap_NRFreqInfo = -1; static gint ett_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem = -1; static gint ett_x2ap_NRCGI = -1; static gint ett_x2ap_NRNeighbour_Information = -1; static gint ett_x2ap_NRNeighbour_Information_item = -1; static gint ett_x2ap_T_nRNeighbourModeInfo = -1; +static gint ett_x2ap_NPRACHConfiguration = -1; +static gint ett_x2ap_T_fdd_or_tdd = -1; +static gint ett_x2ap_NPRACHConfiguration_FDD = -1; +static gint ett_x2ap_NPRACHConfiguration_TDD = -1; +static gint ett_x2ap_Non_AnchorCarrierFrequencylist = -1; +static gint ett_x2ap_Non_AnchorCarrierFrequencylist_item = -1; +static gint ett_x2ap_NRRadioResourceStatus = -1; static gint ett_x2ap_NR_TxBW = -1; static gint ett_x2ap_NRUeReport = -1; +static gint ett_x2ap_NRUESidelinkAggregateMaximumBitRate = -1; static gint ett_x2ap_NRUESecurityCapabilities = -1; +static gint ett_x2ap_NRV2XServicesAuthorized = -1; +static gint ett_x2ap_PC5QoSParameters = -1; +static gint ett_x2ap_PC5QoSFlowList = -1; +static gint ett_x2ap_PC5QoSFlowItem = -1; +static gint ett_x2ap_PC5FlowBitRates = -1; static gint ett_x2ap_PRACH_Configuration = -1; static gint ett_x2ap_PLMNAreaBasedQMC = -1; static gint ett_x2ap_PLMNListforQMC = -1; @@ -1791,6 +2066,7 @@ static gint ett_x2ap_ProtectedEUTRAResourceIndication = -1; static gint ett_x2ap_ProtectedFootprintTimePattern = -1; static gint ett_x2ap_ProtectedResourceList = -1; static gint ett_x2ap_ProtectedResourceList_Item = -1; +static gint ett_x2ap_QoS_Mapping_Information = -1; static gint ett_x2ap_RadioResourceStatus = -1; static gint ett_x2ap_RelativeNarrowbandTxPower = -1; static gint ett_x2ap_ReplacingCellsList = -1; @@ -1814,6 +2090,11 @@ static gint ett_x2ap_SpecialSubframe_Info = -1; static gint ett_x2ap_SubbandCQI = -1; static gint ett_x2ap_Subscription_Based_UE_DifferentiationInfo = -1; static gint ett_x2ap_ScheduledCommunicationTime = -1; +static gint ett_x2ap_SSBAreaCapacityValue_List = -1; +static gint ett_x2ap_SSBAreaCapacityValue_Item = -1; +static gint ett_x2ap_SSBAreaRadioResourceStatus_List = -1; +static gint ett_x2ap_SSBAreaRadioResourceStatus_Item = -1; +static gint ett_x2ap_SSB_PositionsInBurst = -1; static gint ett_x2ap_SubbandCQICodeword0 = -1; static gint ett_x2ap_SubbandCQICodeword1 = -1; static gint ett_x2ap_SubbandCQIList = -1; @@ -1832,7 +2113,24 @@ static gint ett_x2ap_TAIBasedQMC = -1; static gint ett_x2ap_TAIListforQMC = -1; static gint ett_x2ap_TDD_Info = -1; static gint ett_x2ap_TDD_InfoNeighbourServedNRCell_Information = -1; +static gint ett_x2ap_TNLA_To_Add_List = -1; +static gint ett_x2ap_TNLA_To_Add_Item = -1; +static gint ett_x2ap_TNLA_To_Update_List = -1; +static gint ett_x2ap_TNLA_To_Update_Item = -1; +static gint ett_x2ap_TNLA_To_Remove_List = -1; +static gint ett_x2ap_TNLA_To_Remove_Item = -1; +static gint ett_x2ap_TNLA_Setup_List = -1; +static gint ett_x2ap_TNLA_Setup_Item = -1; +static gint ett_x2ap_TNLA_Failed_To_Setup_List = -1; +static gint ett_x2ap_TNLA_Failed_To_Setup_Item = -1; +static gint ett_x2ap_TNLCapacityIndicator = -1; +static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List = -1; +static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item = -1; +static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List = -1; +static gint ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item = -1; +static gint ett_x2ap_TNLConfigurationInfo = -1; static gint ett_x2ap_TraceActivation = -1; +static gint ett_x2ap_TransportLayerAddressAndPort = -1; static gint ett_x2ap_TunnelInformation = -1; static gint ett_x2ap_UEAggregateMaximumBitRate = -1; static gint ett_x2ap_UEAppLayerMeasConfig = -1; @@ -1870,11 +2168,17 @@ static gint ett_x2ap_E_RABs_Admitted_List = -1; static gint ett_x2ap_E_RABs_Admitted_Item = -1; static gint ett_x2ap_HandoverPreparationFailure = -1; static gint ett_x2ap_HandoverReport = -1; +static gint ett_x2ap_EarlyStatusTransfer = -1; +static gint ett_x2ap_ProcedureStageChoice = -1; +static gint ett_x2ap_FirstDLCount = -1; +static gint ett_x2ap_DLDiscarding = -1; static gint ett_x2ap_SNStatusTransfer = -1; static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List = -1; static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item = -1; static gint ett_x2ap_UEContextRelease = -1; static gint ett_x2ap_HandoverCancel = -1; +static gint ett_x2ap_HandoverSuccess = -1; +static gint ett_x2ap_ConditionalHandoverCancel = -1; static gint ett_x2ap_ErrorIndication = -1; static gint ett_x2ap_ResetRequest = -1; static gint ett_x2ap_ResetResponse = -1; @@ -2097,6 +2401,7 @@ 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_CellandCapacityAssistInfo = -1; static gint ett_x2ap_CellAssistanceInformation = -1; static gint ett_x2ap_Limited_list = -1; static gint ett_x2ap_Limited_list_item = -1; @@ -2121,6 +2426,16 @@ 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_ENDCResourceStatusRequest = -1; +static gint ett_x2ap_CellToReport_ENDC_List = -1; +static gint ett_x2ap_CellToReport_ENDC_Item = -1; +static gint ett_x2ap_SSBToReport_List = -1; +static gint ett_x2ap_SSBToReport_Item = -1; +static gint ett_x2ap_ENDCResourceStatusResponse = -1; +static gint ett_x2ap_ENDCResourceStatusFailure = -1; +static gint ett_x2ap_ENDCResourceStatusUpdate = -1; +static gint ett_x2ap_CellMeasurementResult_ENDC_List = -1; +static gint ett_x2ap_CellMeasurementResult_ENDC_Item = -1; static gint ett_x2ap_SecondaryRATDataUsageReport = -1; static gint ett_x2ap_SgNBActivityNotification = -1; static gint ett_x2ap_ENDCPartialResetRequired = -1; @@ -2146,18 +2461,28 @@ static gint ett_x2ap_GNBStatusIndication = -1; static gint ett_x2ap_ENDCConfigurationTransfer = -1; static gint ett_x2ap_TraceStart = -1; static gint ett_x2ap_DeactivateTrace = -1; +static gint ett_x2ap_CellTrafficTrace = -1; +static gint ett_x2ap_F1CTrafficTransfer = -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 153 "./asn1/x2ap/packet-x2ap-template.c" +#line 174 "./asn1/x2ap/packet-x2ap-template.c" + +/* Forward declarations */ +static int dissect_x2ap_Registration_Request_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +static int dissect_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +static int dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); typedef enum { RRC_CONTAINER_TYPE_UNKNOWN, RRC_CONTAINER_TYPE_PDCP_C_PDU, - RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT + RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT, + RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB, + RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB, + RRC_CONTAINER_TYPE_IAB_INFO } rrc_container_type_e; enum{ @@ -2373,6 +2698,13 @@ static const value_string x2ap_ProcedureCode_vals[] = { { id_deactivateTrace, "id-deactivateTrace" }, { id_traceStart, "id-traceStart" }, { id_endcConfigurationTransfer, "id-endcConfigurationTransfer" }, + { id_handoverSuccess, "id-handoverSuccess" }, + { id_conditionalHandoverCancel, "id-conditionalHandoverCancel" }, + { id_earlyStatusTransfer, "id-earlyStatusTransfer" }, + { id_cellTrafficTrace, "id-cellTrafficTrace" }, + { id_endcresourceStatusReporting, "id-endcresourceStatusReporting" }, + { id_endcresourceStatusReportingInitiation, "id-endcresourceStatusReportingInitiation" }, + { id_f1CTrafficTransfer, "id-f1CTrafficTransfer" }, { 0, NULL } }; @@ -2734,27 +3066,65 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = { { id_BPLMN_ID_Info_NR, "id-BPLMN-ID-Info-NR" }, { id_NBIoT_UL_DL_AlignmentOffset, "id-NBIoT-UL-DL-AlignmentOffset" }, { id_ERABs_transferred_to_MeNB, "id-ERABs-transferred-to-MeNB" }, - { id_Unknown_340, "id-Unknown-340" }, - { id_Unknown_341, "id-Unknown-341" }, - { id_Unknown_342, "id-Unknown-342" }, - { id_Unknown_343, "id-Unknown-343" }, - { id_Unknown_344, "id-Unknown-344" }, - { id_Unknown_345, "id-Unknown-345" }, - { id_Unknown_346, "id-Unknown-346" }, - { id_Unknown_347, "id-Unknown-347" }, - { id_Unknown_348, "id-Unknown-348" }, - { id_Unknown_349, "id-Unknown-349" }, - { id_Unknown_350, "id-Unknown-350" }, - { id_Unknown_351, "id-Unknown-351" }, - { id_Unknown_352, "id-Unknown-352" }, - { id_Unknown_353, "id-Unknown-353" }, - { id_Unknown_354, "id-Unknown-354" }, - { id_Unknown_355, "id-Unknown-355" }, - { id_Unknown_356, "id-Unknown-356" }, - { id_Unknown_357, "id-Unknown-357" }, - { id_Unknown_358, "id-Unknown-358" }, - { id_Unknown_359, "id-Unknown-359" }, + { id_AdditionalRRMPriorityIndex, "id-AdditionalRRMPriorityIndex" }, + { id_LowerLayerPresenceStatusChange, "id-LowerLayerPresenceStatusChange" }, + { id_FastMCGRecovery_SN_to_MN, "id-FastMCGRecovery-SN-to-MN" }, + { id_RequestedFastMCGRecoveryViaSRB3, "id-RequestedFastMCGRecoveryViaSRB3" }, + { id_AvailableFastMCGRecoveryViaSRB3, "id-AvailableFastMCGRecoveryViaSRB3" }, + { id_RequestedFastMCGRecoveryViaSRB3Release, "id-RequestedFastMCGRecoveryViaSRB3Release" }, + { id_ReleaseFastMCGRecoveryViaSRB3, "id-ReleaseFastMCGRecoveryViaSRB3" }, + { id_FastMCGRecovery_MN_to_SN, "id-FastMCGRecovery-MN-to-SN" }, + { id_PartialListIndicator, "id-PartialListIndicator" }, + { id_MaximumCellListSize, "id-MaximumCellListSize" }, + { id_MessageOversizeNotification, "id-MessageOversizeNotification" }, + { id_CellandCapacityAssistInfo, "id-CellandCapacityAssistInfo" }, + { id_TNLConfigurationInfo, "id-TNLConfigurationInfo" }, + { id_TNLA_To_Add_List, "id-TNLA-To-Add-List" }, + { id_TNLA_To_Update_List, "id-TNLA-To-Update-List" }, + { id_TNLA_To_Remove_List, "id-TNLA-To-Remove-List" }, + { id_TNLA_Setup_List, "id-TNLA-Setup-List" }, + { id_TNLA_Failed_To_Setup_List, "id-TNLA-Failed-To-Setup-List" }, + { id_UnlicensedSpectrumRestriction, "id-UnlicensedSpectrumRestriction" }, + { id_UEContextReferenceatSourceNGRAN, "id-UEContextReferenceatSourceNGRAN" }, { id_EPCHandoverRestrictionListContainer, "id-EPCHandoverRestrictionListContainer" }, + { id_CHOinformation_REQ, "id-CHOinformation-REQ" }, + { id_CHOinformation_ACK, "id-CHOinformation-ACK" }, + { id_DAPSRequestInfo, "id-DAPSRequestInfo" }, + { id_RequestedTargetCellID, "id-RequestedTargetCellID" }, + { id_CandidateCellsToBeCancelledList, "id-CandidateCellsToBeCancelledList" }, + { id_DAPSResponseInfo, "id-DAPSResponseInfo" }, + { id_ProcedureStage, "id-ProcedureStage" }, + { id_CHO_DC_Indicator, "id-CHO-DC-Indicator" }, + { id_Ethernet_Type, "id-Ethernet-Type" }, + { id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" }, + { id_NRUESidelinkAggregateMaximumBitRate, "id-NRUESidelinkAggregateMaximumBitRate" }, + { id_PC5QoSParameters, "id-PC5QoSParameters" }, + { id_NPRACHConfiguration, "id-NPRACHConfiguration" }, + { id_NBIoT_RLF_Report_Container, "id-NBIoT-RLF-Report-Container" }, + { id_MDTConfigurationNR, "id-MDTConfigurationNR" }, + { id_PrivacyIndicator, "id-PrivacyIndicator" }, + { id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" }, + { id_UERadioCapabilityID, "id-UERadioCapabilityID" }, + { id_SNtriggered, "id-SNtriggered" }, + { id_CSI_RSTransmissionIndication, "id-CSI-RSTransmissionIndication" }, + { id_DLCarrierList, "id-DLCarrierList" }, + { id_TargetCellInNGRAN, "id-TargetCellInNGRAN" }, + { id_eNB_Measurement_ID_ENDC, "id-eNB-Measurement-ID-ENDC" }, + { id_engNB_Measurement_ID_ENDC, "id-engNB-Measurement-ID-ENDC" }, + { id_TDDULDLConfigurationCommonNR, "id-TDDULDLConfigurationCommonNR" }, + { id_CarrierList, "id-CarrierList" }, + { id_ULCarrierList, "id-ULCarrierList" }, + { id_FrequencyShift7p5khz, "id-FrequencyShift7p5khz" }, + { id_SSB_PositionsInBurst, "id-SSB-PositionsInBurst" }, + { id_NRCellPRACHConfig, "id-NRCellPRACHConfig" }, + { id_CellToReport_ENDC, "id-CellToReport-ENDC" }, + { id_CellToReport_ENDC_Item, "id-CellToReport-ENDC-Item" }, + { id_CellMeasurementResult_ENDC, "id-CellMeasurementResult-ENDC" }, + { id_CellMeasurementResult_ENDC_Item, "id-CellMeasurementResult-ENDC-Item" }, + { id_IABNodeIndication, "id-IABNodeIndication" }, + { id_QoS_Mapping_Information, "id-QoS-Mapping-Information" }, + { id_F1CTrafficContainer, "id-F1CTrafficContainer" }, + { id_IABInformation, "id-IABInformation" }, { 0, NULL } }; @@ -3090,8 +3460,8 @@ static const value_string x2ap_UsableABSInformation_vals[] = { }; static const per_choice_t UsableABSInformation_choice[] = { - { 0, &hf_x2ap_fdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD }, - { 1, &hf_x2ap_tdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD }, + { 0, &hf_x2ap_fdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationFDD }, + { 1, &hf_x2ap_tdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_UsableABSInformationTDD }, { 0, NULL, 0, NULL } }; @@ -3131,6 +3501,16 @@ dissect_x2ap_ActivationID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_x2ap_AdditionalRRMPriorityIndex(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, + 32, 32, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + static const value_string x2ap_AdditionalSpecialSubframePatterns_vals[] = { { 0, "ssp0" }, { 1, "ssp1" }, @@ -3236,6 +3616,21 @@ dissect_x2ap_AdditionalSpecialSubframeExtension_Info(tvbuff_t *tvb _U_, int offs } +static const value_string x2ap_AvailableFastMCGRecoveryViaSRB3_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_AvailableFastMCGRecoveryViaSRB3(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_AerialUEsubscriptionInformation_vals[] = { { 0, "allowed" }, { 1, "not-allowed" }, @@ -3322,7 +3717,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 372 "./asn1/x2ap/x2ap.cnf" +#line 408 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; @@ -3403,7 +3798,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 347 "./asn1/x2ap/x2ap.cnf" +#line 383 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -3792,7 +4187,7 @@ dissect_x2ap_BluetoothMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_x2ap_BluetoothName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 622 "./asn1/x2ap/x2ap.cnf" +#line 658 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 248, FALSE, ¶meter_tvb); @@ -3875,7 +4270,7 @@ static int dissect_x2ap_BPLMN_ID_Info_EUTRA(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_BPLMN_ID_Info_EUTRA, BPLMN_ID_Info_EUTRA_sequence_of, - 1, maxnoofBPLMNsminus1, FALSE); + 1, maxnoofBPLMNs, FALSE); return offset; } @@ -3898,7 +4293,7 @@ dissect_x2ap_BroadcastextPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_x2ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 365 "./asn1/x2ap/x2ap.cnf" +#line 401 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 3, 3, FALSE, ¶meter_tvb); @@ -3925,7 +4320,7 @@ dissect_x2ap_NRCellIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static const per_sequence_t BPLMN_ID_Info_NR_Item_sequence[] = { { &hf_x2ap_broadcastPLMNs_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BroadcastextPLMNs }, - { &hf_x2ap_fiveGStac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_FiveGS_TAC }, + { &hf_x2ap_fiveGS_TAC , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_FiveGS_TAC }, { &hf_x2ap_nr_CI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCellIdentifier }, { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } @@ -3948,7 +4343,7 @@ static int dissect_x2ap_BPLMN_ID_Info_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_x2ap_BPLMN_ID_Info_NR, BPLMN_ID_Info_NR_sequence_of, - 1, maxnoofextBPLMNsminus1, FALSE); + 1, maxnoofextBPLMNs, FALSE); return offset; } @@ -4016,6 +4411,7 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = { { 48, "count-reaches-max-value" }, { 49, "unknown-old-en-gNB-UE-X2AP-ID" }, { 50, "pDCP-Overload" }, + { 51, "cho-cpc-resources-tobechanged" }, { 0, NULL } }; @@ -4025,7 +4421,7 @@ static value_string_ext x2ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT( static int dissect_x2ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 22, NULL, TRUE, 29, NULL); + 22, NULL, TRUE, 30, NULL); return offset; } @@ -4229,6 +4625,21 @@ dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } +static const value_string x2ap_CHO_DC_Indicator_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_CHO_DC_Indicator(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_T_cn_type_vals[] = { { 0, "fiveGC-forbidden" }, { 1, "epc-forbidden" }, @@ -4602,6 +5013,95 @@ dissect_x2ap_CoverageModificationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } + +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 109 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + int len; + + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 1, 160, TRUE, NULL, 0, ¶meter_tvb, &len); + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress); + if (len == 32) { + /* IPv4 */ + proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); + } else if (len == 128) { + /* IPv6 */ + proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA); + } else if (len == 160) { + /* IPv4 */ + proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); + /* IPv6 */ + proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA); + } + + + + 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 134 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 2, 2, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + +static const per_sequence_t TransportLayerAddressAndPort_sequence[] = { + { &hf_x2ap_endpointIPAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, + { &hf_x2ap_portnumber , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Port_Number }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TransportLayerAddressAndPort(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_TransportLayerAddressAndPort, TransportLayerAddressAndPort_sequence); + + return offset; +} + + +static const value_string x2ap_CPTransportLayerInformation_vals[] = { + { 0, "endpointIPAddress" }, + { 1, "endpointIPAddressAndPort" }, + { 0, NULL } +}; + +static const per_choice_t CPTransportLayerInformation_choice[] = { + { 0, &hf_x2ap_endpointIPAddress, ASN1_EXTENSION_ROOT , dissect_x2ap_TransportLayerAddress }, + { 1, &hf_x2ap_endpointIPAddressAndPort, ASN1_EXTENSION_ROOT , dissect_x2ap_TransportLayerAddressAndPort }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_CPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_x2ap_CPTransportLayerInformation, CPTransportLayerInformation_choice, + NULL); + + return offset; +} + + static const value_string x2ap_TypeOfError_vals[] = { { 0, "not-understood" }, { 1, "missing" }, @@ -5008,6 +5508,126 @@ dissect_x2ap_CSIReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } +static const value_string x2ap_CHOtrigger_vals[] = { + { 0, "cho-initiation" }, + { 1, "cho-replace" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_CHOtrigger(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_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, 4095U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_UE_X2AP_ID_Extension(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, TRUE); + + return offset; +} + + + +static int +dissect_x2ap_CHO_Probability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 100U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CHOinformation_REQ_sequence[] = { + { &hf_x2ap_cho_trigger , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CHOtrigger }, + { &hf_x2ap_new_eNB_UE_X2AP_ID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID }, + { &hf_x2ap_new_eNB_UE_X2AP_ID_Extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_UE_X2AP_ID_Extension }, + { &hf_x2ap_cHO_EstimatedArrivalProbability, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CHO_Probability }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CHOinformation_REQ(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_CHOinformation_REQ, CHOinformation_REQ_sequence); + + return offset; +} + + + +static int +dissect_x2ap_MaxCHOpreparations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t CHOinformation_ACK_sequence[] = { + { &hf_x2ap_requestedTargetCellID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, + { &hf_x2ap_maxCHOpreparations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MaxCHOpreparations }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CHOinformation_ACK(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_CHOinformation_ACK, CHOinformation_ACK_sequence); + + return offset; +} + + +static const per_sequence_t CandidateCellsToBeCancelledList_sequence_of[1] = { + { &hf_x2ap_CandidateCellsToBeCancelledList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ECGI }, +}; + +static int +dissect_x2ap_CandidateCellsToBeCancelledList(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_CandidateCellsToBeCancelledList, CandidateCellsToBeCancelledList_sequence_of, + 1, maxnoofCellsinCHO, FALSE); + + return offset; +} + + +static const value_string x2ap_CSI_RSTransmissionIndication_vals[] = { + { 0, "activated" }, + { 1, "deactivated" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_CSI_RSTransmissionIndication(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_DataTrafficResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5175,7 +5795,7 @@ dissect_x2ap_T_mBSFNControlRegionLength_01(tvbuff_t *tvb _U_, int offset _U_, as offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); -#line 617 "./asn1/x2ap/x2ap.cnf" +#line 653 "./asn1/x2ap/x2ap.cnf" proto_item_append_text(actx->created_item, " REs"); @@ -5217,6 +5837,67 @@ dissect_x2ap_DataTrafficResourceIndication(tvbuff_t *tvb _U_, int offset _U_, as } +static const value_string x2ap_T_dAPSIndicator_vals[] = { + { 0, "daps-HO-required" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_dAPSIndicator(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 DAPSRequestInfo_sequence[] = { + { &hf_x2ap_dAPSIndicator , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_dAPSIndicator }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_DAPSRequestInfo(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_DAPSRequestInfo, DAPSRequestInfo_sequence); + + return offset; +} + + +static const value_string x2ap_T_dAPSResponseIndicator_vals[] = { + { 0, "daps-HO-accepted" }, + { 1, "daps-HO-not-accepted" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_T_dAPSResponseIndicator(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 DAPSResponseInfo_sequence[] = { + { &hf_x2ap_dAPSResponseIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_dAPSResponseIndicator }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_DAPSResponseInfo(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_DAPSResponseInfo, DAPSResponseInfo_sequence); + + return offset; +} + + static const value_string x2ap_DeactivationIndication_vals[] = { { 0, "deactivated" }, { 0, NULL } @@ -5358,7 +6039,7 @@ dissect_x2ap_DuplicationActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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 501 "./asn1/x2ap/x2ap.cnf" +#line 537 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -5493,7 +6174,7 @@ dissect_x2ap_EARFCNExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_x2ap_EndcSONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 663 "./asn1/x2ap/x2ap.cnf" +#line 699 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5652,7 +6333,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 408 "./asn1/x2ap/x2ap.cnf" +#line 444 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -5743,7 +6424,7 @@ dissect_x2ap_EN_DC_ResourceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1 static int dissect_x2ap_EPCHandoverRestrictionListContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 672 "./asn1/x2ap/x2ap.cnf" +#line 708 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -5905,6 +6586,70 @@ dissect_x2ap_E_RAB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const per_sequence_t E_RABsSubjectToEarlyStatusTransfer_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_fIRST_DL_COUNTValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, + { &hf_x2ap_fIRST_DL_COUNTValueExtended, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTValueExtended }, + { &hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTvaluePDCP_SNlength18 }, + { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_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_RABsSubjectToEarlyStatusTransfer_Item, E_RABsSubjectToEarlyStatusTransfer_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABsSubjectToEarlyStatusTransfer_List_sequence_of[1] = { + { &hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item }, +}; + +static int +dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_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_RABsSubjectToEarlyStatusTransfer_List, E_RABsSubjectToEarlyStatusTransfer_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + +static const per_sequence_t E_RABsSubjectToDLDiscarding_Item_sequence[] = { + { &hf_x2ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RAB_ID }, + { &hf_x2ap_dISCARD_DL_COUNTValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_COUNTvalue }, + { &hf_x2ap_dISCARD_DL_COUNTValueExtended, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTValueExtended }, + { &hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_COUNTvaluePDCP_SNlength18 }, + { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_E_RABsSubjectToDLDiscarding_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_RABsSubjectToDLDiscarding_Item, E_RABsSubjectToDLDiscarding_Item_sequence); + + return offset; +} + + +static const per_sequence_t E_RABsSubjectToDLDiscarding_List_sequence_of[1] = { + { &hf_x2ap_E_RABsSubjectToDLDiscarding_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToDLDiscarding_Item }, +}; + +static int +dissect_x2ap_E_RABsSubjectToDLDiscarding_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_RABsSubjectToDLDiscarding_List, E_RABsSubjectToDLDiscarding_List_sequence_of, + 1, maxnoofBearers, FALSE); + + return offset; +} + + 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 }, }; @@ -5922,7 +6667,7 @@ dissect_x2ap_E_RABUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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 568 "./asn1/x2ap/x2ap.cnf" +#line 604 "./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); @@ -5930,7 +6675,7 @@ dissect_x2ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act -#line 572 "./asn1/x2ap/x2ap.cnf" +#line 608 "./asn1/x2ap/x2ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -5943,7 +6688,7 @@ dissect_x2ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act 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 577 "./asn1/x2ap/x2ap.cnf" +#line 613 "./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); @@ -5951,7 +6696,7 @@ dissect_x2ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx -#line 581 "./asn1/x2ap/x2ap.cnf" +#line 617 "./asn1/x2ap/x2ap.cnf" if (timestamp_tvb) { proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0)); } @@ -5989,6 +6734,21 @@ dissect_x2ap_E_RABUsageReport_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string x2ap_Ethernet_Type_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_Ethernet_Type(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_Transmission_Bandwidth_vals[] = { { 0, "bw6" }, { 1, "bw15" }, @@ -6132,7 +6892,7 @@ 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 294 "./asn1/x2ap/x2ap.cnf" +#line 330 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -6325,6 +7085,77 @@ dissect_x2ap_ExtendedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int +dissect_x2ap_F1CTrafficContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + + +static int +dissect_x2ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 304 "./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; + switch (x2ap_data->rrc_container_type) { + case RRC_CONTAINER_TYPE_NR_UE_MEAS_REPORT: + case RRC_CONTAINER_TYPE_IAB_INFO: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_nr_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_lte_rrc_UL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + case RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB: + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRCContainer); + dissect_lte_rrc_DL_DCCH_Message_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_UNKNOWN; + + + + return offset; +} + + +static const per_sequence_t FastMCGRecovery_sequence[] = { + { &hf_x2ap_rrcContainer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RRCContainer }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_FastMCGRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 291 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_SN_to_MN) + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_SgNB_TO_MeNB; + else if (x2ap_data->protocol_ie_id == id_FastMCGRecovery_MN_to_SN) + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_FAST_MCG_RECOVERY_MeNB_TO_SgNB; + + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_FastMCGRecovery, FastMCGRecovery_sequence); + + return offset; +} + + + +static int dissect_x2ap_INTEGER_0_3279165(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, 3279165U, NULL, FALSE); @@ -6530,6 +7361,16 @@ dissect_x2ap_FDD_InfoNeighbourServedNRCell_Information(tvbuff_t *tvb _U_, int of } + +static int +dissect_x2ap_FiveQI(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, TRUE); + + return offset; +} + + static const value_string x2ap_ForbiddenInterRATs_vals[] = { { 0, "all" }, { 1, "geran" }, @@ -6597,7 +7438,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 356 "./asn1/x2ap/x2ap.cnf" +#line 392 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -6692,6 +7533,22 @@ dissect_x2ap_FreqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string x2ap_FrequencyShift7p5khz_vals[] = { + { 0, "false" }, + { 1, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_FrequencyShift7p5khz(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 GlobalENB_ID_sequence[] = { { &hf_x2ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity }, { &hf_x2ap_eNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ENB_ID }, @@ -6770,35 +7627,30 @@ dissect_x2ap_GNBOverloadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t GTPTLA_Item_sequence[] = { + { &hf_x2ap_gTPTransportLayerAddresses, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; 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 109 "./asn1/x2ap/x2ap.cnf" - tvbuff_t *parameter_tvb = NULL; - proto_tree *subtree; - int len; +dissect_x2ap_GTPTLA_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_GTPTLA_Item, GTPTLA_Item_sequence); - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 1, 160, TRUE, NULL, 0, ¶meter_tvb, &len); + return offset; +} - if (!parameter_tvb) - return offset; - - subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TransportLayerAddress); - if (len == 32) { - /* IPv4 */ - proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); - } else if (len == 128) { - /* IPv6 */ - proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 0, 16, ENC_NA); - } else if (len == 160) { - /* IPv4 */ - proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv4, parameter_tvb, 0, 4, ENC_BIG_ENDIAN); - /* IPv6 */ - proto_tree_add_item(subtree, hf_x2ap_transportLayerAddressIPv6, parameter_tvb, 4, 16, ENC_NA); - } +static const per_sequence_t GTPTLAs_sequence_of[1] = { + { &hf_x2ap_GTPTLAs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_GTPTLA_Item }, +}; +static int +dissect_x2ap_GTPTLAs(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_GTPTLAs, GTPTLAs_sequence_of, + 1, maxnoofGTPTLAs, FALSE); return offset; } @@ -6833,7 +7685,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 401 "./asn1/x2ap/x2ap.cnf" +#line 437 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, ¶meter_tvb); @@ -6881,7 +7733,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 392 "./asn1/x2ap/x2ap.cnf" +#line 428 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 1, FALSE, ¶meter_tvb); @@ -6916,6 +7768,7 @@ static const value_string x2ap_HandoverReportType_vals[] = { { 0, "hoTooEarly" }, { 1, "hoToWrongCell" }, { 2, "interRATpingpong" }, + { 3, "interSystemPingpong" }, { 0, NULL } }; @@ -6923,7 +7776,7 @@ static const value_string x2ap_HandoverReportType_vals[] = { static int dissect_x2ap_HandoverReportType(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, 1, NULL); + 2, NULL, TRUE, 2, NULL); return offset; } @@ -6982,10 +7835,46 @@ dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t IABInformation_sequence[] = { + { &hf_x2ap_rrcContainer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_RRCContainer }, + { &hf_x2ap_ie_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_IABInformation(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" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + + x2ap_data->rrc_container_type = RRC_CONTAINER_TYPE_IAB_INFO; + + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_IABInformation, IABInformation_sequence); + + return offset; +} + + +static const value_string x2ap_IABNodeIndication_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_IABNodeIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static int dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 423 "./asn1/x2ap/x2ap.cnf" +#line 459 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -7021,7 +7910,7 @@ dissect_x2ap_InterfaceInstanceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1 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 305 "./asn1/x2ap/x2ap.cnf" +#line 341 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -7093,7 +7982,7 @@ dissect_x2ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_x2ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 654 "./asn1/x2ap/x2ap.cnf" +#line 690 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -7133,7 +8022,7 @@ dissect_x2ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_x2ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 645 "./asn1/x2ap/x2ap.cnf" +#line 681 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -7189,7 +8078,7 @@ dissect_x2ap_LCID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto 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 522 "./asn1/x2ap/x2ap.cnf" +#line 558 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 32, 256, FALSE, ¶meter_tvb); @@ -7296,6 +8185,24 @@ dissect_x2ap_LocationReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn } +static const value_string x2ap_LowerLayerPresenceStatusChange_vals[] = { + { 0, "release-lower-layers" }, + { 1, "re-establish-lower-layers" }, + { 2, "suspend-lower-layers" }, + { 3, "resume-lower-layers" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_LowerLayerPresenceStatusChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string x2ap_ReportIntervalMDT_vals[] = { { 0, "ms120" }, { 1, "ms240" }, @@ -7683,7 +8590,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 453 "./asn1/x2ap/x2ap.cnf" +#line 489 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -7747,7 +8654,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 478 "./asn1/x2ap/x2ap.cnf" +#line 514 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, ¶meter_tvb, NULL); @@ -7779,6 +8686,16 @@ dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } + +static int +dissect_x2ap_Measurement_ID_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 4095U, NULL, TRUE); + + return offset; +} + + static const value_string x2ap_MeNBCoordinationAssistanceInformation_vals[] = { { 0, "coordination-not-required" }, { 0, NULL } @@ -7814,7 +8731,7 @@ dissect_x2ap_MeNBResourceCoordinationInformation(tvbuff_t *tvb _U_, int 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 228 "./asn1/x2ap/x2ap.cnf" +#line 237 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -7950,6 +8867,16 @@ dissect_x2ap_MBSFN_Subframe_Infolist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int +dissect_x2ap_MDT_ConfigurationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + + +static int dissect_x2ap_INTEGER_M20_20(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, -20, 20U, NULL, FALSE); @@ -8018,8 +8945,33 @@ dissect_x2ap_MultibandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int +dissect_x2ap_MaximumCellListSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16384U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t MessageOversizeNotification_sequence[] = { + { &hf_x2ap_maximumCellListSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_MaximumCellListSize }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_MessageOversizeNotification(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_MessageOversizeNotification, MessageOversizeNotification_sequence); + + return offset; +} + + + +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 246 "./asn1/x2ap/x2ap.cnf" +#line 255 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); @@ -8063,31 +9015,8 @@ dissect_x2ap_SplitSRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, 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 282 "./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_RRCContainer); - 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 272 "./asn1/x2ap/x2ap.cnf" +#line 281 "./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; @@ -8116,7 +9045,7 @@ dissect_x2ap_SRBType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static const per_sequence_t SplitSRB_sequence[] = { - { &hf_x2ap_rrcContainer , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_rrcContainer }, + { &hf_x2ap_rrcContainer_01, 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 }, @@ -8151,6 +9080,26 @@ dissect_x2ap_NBIoT_UL_DL_AlignmentOffset(tvbuff_t *tvb _U_, int offset _U_, asn1 static int +dissect_x2ap_NBIoT_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 228 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb; + proto_tree *subtree; + 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_NBIoT_RLF_Report_Container); + dissect_lte_rrc_RLF_Report_NB_r16_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + + + + 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, 0U, 503U, NULL, TRUE); @@ -8224,6 +9173,175 @@ dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int +dissect_x2ap_INTEGER_0_100(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_SSBIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SSBAreaCapacityValue_Item_sequence[] = { + { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, + { &hf_x2ap_ssbAreaCapacityValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SSBAreaCapacityValue_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_SSBAreaCapacityValue_Item, SSBAreaCapacityValue_Item_sequence); + + return offset; +} + + +static const per_sequence_t SSBAreaCapacityValue_List_sequence_of[1] = { + { &hf_x2ap_SSBAreaCapacityValue_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaCapacityValue_Item }, +}; + +static int +dissect_x2ap_SSBAreaCapacityValue_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_SSBAreaCapacityValue_List, SSBAreaCapacityValue_List_sequence_of, + 1, maxnoofSSBAreas, FALSE); + + return offset; +} + + +static const per_sequence_t NRCapacityValue_sequence[] = { + { &hf_x2ap_capacityValue_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaCapacityValue_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SSBAreaCapacityValue_List }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRCapacityValue(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_NRCapacityValue, NRCapacityValue_sequence); + + return offset; +} + + + +static int +dissect_x2ap_INTEGER_0_2199_(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, 2199U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_x2ap_INTEGER_0_maxnoofPhysicalResourceBlocks_(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, maxnoofPhysicalResourceBlocks, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t NRCarrierItem_sequence[] = { + { &hf_x2ap_carrierSCS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRSCS }, + { &hf_x2ap_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_2199_ }, + { &hf_x2ap_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_maxnoofPhysicalResourceBlocks_ }, + { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRCarrierItem(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_NRCarrierItem, NRCarrierItem_sequence); + + return offset; +} + + +static const per_sequence_t NRCarrierList_sequence_of[1] = { + { &hf_x2ap_NRCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCarrierItem }, +}; + +static int +dissect_x2ap_NRCarrierList(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_NRCarrierList, NRCarrierList_sequence_of, + 1, maxnoofNRSCSs, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_NRCellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 100U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_x2ap_NRCellPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t NRCompositeAvailableCapacity_sequence[] = { + { &hf_x2ap_cellCapacityClassValue_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRCellCapacityClassValue }, + { &hf_x2ap_capacityValue_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCapacityValue }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRCompositeAvailableCapacity(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_NRCompositeAvailableCapacity, NRCompositeAvailableCapacity_sequence); + + return offset; +} + + +static const per_sequence_t NRCompositeAvailableCapacityGroup_sequence[] = { + { &hf_x2ap_compositeAvailableCapacityDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCompositeAvailableCapacity }, + { &hf_x2ap_compositeAvailableCapacityUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCompositeAvailableCapacity }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRCompositeAvailableCapacityGroup(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_NRCompositeAvailableCapacityGroup, NRCompositeAvailableCapacityGroup_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, FALSE); @@ -8235,7 +9353,7 @@ dissect_x2ap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot static int dissect_x2ap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 600 "./asn1/x2ap/x2ap.cnf" +#line 636 "./asn1/x2ap/x2ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); @@ -8322,6 +9440,326 @@ dissect_x2ap_NRNeighbour_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string x2ap_NPRACH_CP_Length_vals[] = { + { 0, "us66dot7" }, + { 1, "us266dot7" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_NPRACH_CP_Length(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_T_anchorCarrier_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 717 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersList_NB_r13_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_anchorCarrier_EDT_NPRACHConfig(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" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_EDT_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_anchorCarrier_Format2_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 735 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_anchorCarrier_Format2_EDT_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 744 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig); + dissect_lte_rrc_NPRACH_ParametersListFmt2_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_non_anchorCarrier_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 753 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfig); + dissect_lte_rrc_UL_ConfigCommonList_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_T_non_anchorCarrier_Format2_NPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 762 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig); + dissect_lte_rrc_UL_ConfigCommonList_NB_v1530_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const per_sequence_t NPRACHConfiguration_FDD_sequence[] = { + { &hf_x2ap_nprach_CP_length, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NPRACH_CP_Length }, + { &hf_x2ap_anchorCarrier_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_anchorCarrier_NPRACHConfig }, + { &hf_x2ap_anchorCarrier_EDT_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_EDT_NPRACHConfig }, + { &hf_x2ap_anchorCarrier_Format2_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_Format2_NPRACHConfig }, + { &hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_anchorCarrier_Format2_EDT_NPRACHConfig }, + { &hf_x2ap_non_anchorCarrier_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_NPRACHConfig }, + { &hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_Format2_NPRACHConfig }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NPRACHConfiguration_FDD(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_NPRACHConfiguration_FDD, NPRACHConfiguration_FDD_sequence); + + return offset; +} + + +static const value_string x2ap_NPRACH_preambleFormat_vals[] = { + { 0, "fmt0" }, + { 1, "fmt1" }, + { 2, "fmt2" }, + { 3, "fmt0a" }, + { 4, "fmt1a" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_NPRACH_preambleFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_x2ap_T_anchorCarrier_NPRACHConfigTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 771 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_anchorCarrier_NPRACHConfigTDD); + dissect_lte_rrc_NPRACH_ParametersListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + + +static int +dissect_x2ap_Non_anchorCarrierFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 789 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_Non_anchorCarrierFrequency); + dissect_lte_rrc_DL_CarrierConfigCommon_NB_r14_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const per_sequence_t Non_AnchorCarrierFrequencylist_item_sequence[] = { + { &hf_x2ap_non_anchorCarrioerFrquency, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_Non_anchorCarrierFrequency }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_Non_AnchorCarrierFrequencylist_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_Non_AnchorCarrierFrequencylist_item, Non_AnchorCarrierFrequencylist_item_sequence); + + return offset; +} + + +static const per_sequence_t Non_AnchorCarrierFrequencylist_sequence_of[1] = { + { &hf_x2ap_Non_AnchorCarrierFrequencylist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Non_AnchorCarrierFrequencylist_item }, +}; + +static int +dissect_x2ap_Non_AnchorCarrierFrequencylist(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_Non_AnchorCarrierFrequencylist, Non_AnchorCarrierFrequencylist_sequence_of, + 1, 15, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_T_non_anchorCarrier_NPRACHConfigTDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 780 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_non_anchorCarrier_NPRACHConfigTDD); + dissect_lte_rrc_UL_ConfigCommonListTDD_NB_r15_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + +static const per_sequence_t NPRACHConfiguration_TDD_sequence[] = { + { &hf_x2ap_nprach_preambleFormat, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NPRACH_preambleFormat }, + { &hf_x2ap_anchorCarrier_NPRACHConfigTDD, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_anchorCarrier_NPRACHConfigTDD }, + { &hf_x2ap_non_anchorCarrierFequencyConfiglist, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Non_AnchorCarrierFrequencylist }, + { &hf_x2ap_non_anchorCarrier_NPRACHConfigTDD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_T_non_anchorCarrier_NPRACHConfigTDD }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NPRACHConfiguration_TDD(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_NPRACHConfiguration_TDD, NPRACHConfiguration_TDD_sequence); + + return offset; +} + + +static const value_string x2ap_T_fdd_or_tdd_vals[] = { + { 0, "fdd" }, + { 1, "tdd" }, + { 0, NULL } +}; + +static const per_choice_t T_fdd_or_tdd_choice[] = { + { 0, &hf_x2ap_fdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_NPRACHConfiguration_FDD }, + { 1, &hf_x2ap_tdd_02 , ASN1_EXTENSION_ROOT , dissect_x2ap_NPRACHConfiguration_TDD }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_T_fdd_or_tdd(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_fdd_or_tdd, T_fdd_or_tdd_choice, + NULL); + + return offset; +} + + +static const per_sequence_t NPRACHConfiguration_sequence[] = { + { &hf_x2ap_fdd_or_tdd , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_T_fdd_or_tdd }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NPRACHConfiguration(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_NPRACHConfiguration, NPRACHConfiguration_sequence); + + return offset; +} + + static const value_string x2ap_NRrestrictioninEPSasSecondaryRAT_vals[] = { { 0, "nRrestrictedinEPSasSecondaryRAT" }, { 0, NULL } @@ -8337,6 +9775,58 @@ dissect_x2ap_NRrestrictioninEPSasSecondaryRAT(tvbuff_t *tvb _U_, int offset _U_, } +static const per_sequence_t SSBAreaRadioResourceStatus_Item_sequence[] = { + { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, + { &hf_x2ap_ssbAreaDLGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaULGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaDLNonGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaULNonGBRPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaDLTotalPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaULTotalPRBUsage, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_100 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SSBAreaRadioResourceStatus_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_SSBAreaRadioResourceStatus_Item, SSBAreaRadioResourceStatus_Item_sequence); + + return offset; +} + + +static const per_sequence_t SSBAreaRadioResourceStatus_List_sequence_of[1] = { + { &hf_x2ap_SSBAreaRadioResourceStatus_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaRadioResourceStatus_Item }, +}; + +static int +dissect_x2ap_SSBAreaRadioResourceStatus_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_SSBAreaRadioResourceStatus_List, SSBAreaRadioResourceStatus_List_sequence_of, + 1, maxnoofSSBAreas, FALSE); + + return offset; +} + + +static const per_sequence_t NRRadioResourceStatus_sequence[] = { + { &hf_x2ap_ssbAreaRadioResourceStatus_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBAreaRadioResourceStatus_List }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRRadioResourceStatus(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_NRRadioResourceStatus, NRRadioResourceStatus_sequence); + + return offset; +} + + static const value_string x2ap_NRrestrictionin5GS_vals[] = { { 0, "nRrestrictedin5GS" }, { 0, NULL } @@ -8355,7 +9845,7 @@ dissect_x2ap_NRrestrictionin5GS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a 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 538 "./asn1/x2ap/x2ap.cnf" +#line 574 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -8381,7 +9871,7 @@ dissect_x2ap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ 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 553 "./asn1/x2ap/x2ap.cnf" +#line 589 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, TRUE, NULL, 0, ¶meter_tvb, NULL); @@ -8424,7 +9914,7 @@ dissect_x2ap_NRS_NSSS_PowerOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t 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 277 "./asn1/x2ap/x2ap.cnf" +#line 286 "./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; @@ -8451,6 +9941,21 @@ dissect_x2ap_NRUeReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const per_sequence_t NRUESidelinkAggregateMaximumBitRate_sequence[] = { + { &hf_x2ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRUESidelinkAggregateMaximumBitRate(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_NRUESidelinkAggregateMaximumBitRate, NRUESidelinkAggregateMaximumBitRate_sequence); + + 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 }, @@ -8484,6 +9989,54 @@ dissect_x2ap_NSSS_NumOccasionDifferentPrecoder(tvbuff_t *tvb _U_, int offset _U_ } +static const value_string x2ap_VehicleUE_vals[] = { + { 0, "authorized" }, + { 1, "not-authorized" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string x2ap_PedestrianUE_vals[] = { + { 0, "authorized" }, + { 1, "not-authorized" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t NRV2XServicesAuthorized_sequence[] = { + { &hf_x2ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_VehicleUE }, + { &hf_x2ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PedestrianUE }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_NRV2XServicesAuthorized(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_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence); + + return offset; +} + + static const value_string x2ap_OffsetOfNbiotChannelNumberToEARFCN_vals[] = { { 0, "minusTen" }, { 1, "minusNine" }, @@ -8535,6 +10088,92 @@ dissect_x2ap_Packet_LossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t PC5FlowBitRates_sequence[] = { + { &hf_x2ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, + { &hf_x2ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BitRate }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_PC5FlowBitRates(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_PC5FlowBitRates, PC5FlowBitRates_sequence); + + return offset; +} + + +static const value_string x2ap_Range_vals[] = { + { 0, "m50" }, + { 1, "m80" }, + { 2, "m180" }, + { 3, "m200" }, + { 4, "m350" }, + { 5, "m400" }, + { 6, "m500" }, + { 7, "m700" }, + { 8, "m1000" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_Range(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, + 9, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PC5QoSFlowItem_sequence[] = { + { &hf_x2ap_pQI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_FiveQI }, + { &hf_x2ap_pc5FlowBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_PC5FlowBitRates }, + { &hf_x2ap_range , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Range }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_PC5QoSFlowItem(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_PC5QoSFlowItem, PC5QoSFlowItem_sequence); + + return offset; +} + + +static const per_sequence_t PC5QoSFlowList_sequence_of[1] = { + { &hf_x2ap_PC5QoSFlowList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_PC5QoSFlowItem }, +}; + +static int +dissect_x2ap_PC5QoSFlowList(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_PC5QoSFlowList, PC5QoSFlowList_sequence_of, + 1, maxnoofPC5QoSFlows, FALSE); + + return offset; +} + + +static const per_sequence_t PC5QoSParameters_sequence[] = { + { &hf_x2ap_pc5QoSFlowList , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PC5QoSFlowList }, + { &hf_x2ap_pc5LinkAggregatedBitRates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BitRate }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_PC5QoSParameters(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_PC5QoSParameters, PC5QoSParameters_sequence); + + return offset; +} + + static const value_string x2ap_PDCPChangeIndication_vals[] = { { 0, "s-KgNB-update-required" }, { 1, "pDCP-data-recovery-required" }, @@ -8569,24 +10208,6 @@ dissect_x2ap_PDCPSnLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U 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 134 "./asn1/x2ap/x2ap.cnf" - tvbuff_t *parameter_tvb = NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, - 2, 2, FALSE, ¶meter_tvb); - - if (parameter_tvb) { - actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); - } - - - - return offset; -} - - - -static int dissect_x2ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 837U, NULL, FALSE); @@ -8828,7 +10449,7 @@ dissect_x2ap_T_mBSFNControlRegionLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); -#line 611 "./asn1/x2ap/x2ap.cnf" +#line 647 "./asn1/x2ap/x2ap.cnf" proto_item_append_text(actx->created_item, " REs"); @@ -8842,7 +10463,7 @@ dissect_x2ap_T_pDCCHRegionLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 3U, NULL, FALSE); -#line 614 "./asn1/x2ap/x2ap.cnf" +#line 650 "./asn1/x2ap/x2ap.cnf" proto_item_append_text(actx->created_item, " REs"); @@ -8868,6 +10489,63 @@ dissect_x2ap_ProtectedEUTRAResourceIndication(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string x2ap_PartialListIndicator_vals[] = { + { 0, "partial" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_PartialListIndicator(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_PrivacyIndicator_vals[] = { + { 0, "immediate-MDT" }, + { 1, "logged-MDT" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_PrivacyIndicator(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_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 6, 6, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const per_sequence_t QoS_Mapping_Information_sequence[] = { + { &hf_x2ap_dscp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_6 }, + { &hf_x2ap_flow_label , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_BIT_STRING_SIZE_20 }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_QoS_Mapping_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_QoS_Mapping_Information, QoS_Mapping_Information_sequence); + + return offset; +} + + static int dissect_x2ap_UL_GBR_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -8920,6 +10598,16 @@ dissect_x2ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int +dissect_x2ap_RAN_UE_NGAP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4294967295U, NULL, FALSE); + + return offset; +} + + + +static int dissect_x2ap_ReceiveStatusofULPDCPSDUs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 4096, 4096, FALSE, NULL, 0, NULL, NULL); @@ -8948,6 +10636,21 @@ dissect_x2ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(tvbuff_t *tvb _U_, int off } +static const value_string x2ap_ReleaseFastMCGRecoveryViaSRB3_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_ReleaseFastMCGRecoveryViaSRB3(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_Reestablishment_Indication_vals[] = { { 0, "reestablished" }, { 0, NULL } @@ -8974,6 +10677,12 @@ static const value_string x2ap_Registration_Request_vals[] = { static int dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 832 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_Registration_Request_ENDC(tvb, offset, actx, tree, hf_x2ap_Registration_Request_ENDC_PDU); + + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, TRUE, 2, NULL); @@ -8981,6 +10690,23 @@ dissect_x2ap_Registration_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string x2ap_Registration_Request_ENDC_vals[] = { + { 0, "start" }, + { 1, "stop" }, + { 2, "add" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_Registration_Request_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string x2ap_T_numberOfCellSpecificAntennaPorts_02_vals[] = { { 0, "one" }, { 1, "two" }, @@ -9030,6 +10756,12 @@ 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 842 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_ReportCharacteristics_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportCharacteristics_ENDC_PDU); + + #line 169 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -9076,6 +10808,33 @@ dissect_x2ap_ReportingPeriodicityCSIR(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } + +static int +dissect_x2ap_ReportCharacteristics_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 798 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 32, 32, FALSE, NULL, 0, ¶meter_tvb, NULL); + + if(parameter_tvb){ + static int * const fields[] = { + &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, + &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, + &hf_x2ap_ReportCharacteristics_ENDC_Reserved, + NULL + }; + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_ReportCharacteristics_ENDC); + proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN); + } + + + + return offset; +} + + static const value_string x2ap_ReportingPeriodicityRSRPMR_vals[] = { { 0, "one-hundred-20-ms" }, { 1, "two-hundred-40-ms" }, @@ -9094,6 +10853,36 @@ dissect_x2ap_ReportingPeriodicityRSRPMR(tvbuff_t *tvb _U_, int offset _U_, asn1_ } +static const value_string x2ap_RequestedFastMCGRecoveryViaSRB3_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_RequestedFastMCGRecoveryViaSRB3(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_RequestedFastMCGRecoveryViaSRB3Release_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_RequestedFastMCGRecoveryViaSRB3Release(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_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -9351,6 +11140,7 @@ dissect_x2ap_SecondaryRATUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1 static const value_string x2ap_T_secondaryRATType_vals[] = { { 0, "nr" }, + { 1, "nR-unlicensed" }, { 0, NULL } }; @@ -9358,7 +11148,7 @@ static const value_string x2ap_T_secondaryRATType_vals[] = { 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); + 1, NULL, TRUE, 1, NULL); return offset; } @@ -9394,7 +11184,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 237 "./asn1/x2ap/x2ap.cnf" +#line 246 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -9560,6 +11350,21 @@ dissect_x2ap_SGNB_Addition_Trigger_Ind(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string x2ap_SNtriggered_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_SNtriggered(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_SpectrumSharingGroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -9720,6 +11525,62 @@ dissect_x2ap_SRVCCOperationPossible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int +dissect_x2ap_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 4, 4, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + + +static int +dissect_x2ap_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + + +static int +dissect_x2ap_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 64, 64, FALSE, NULL, 0, NULL, NULL); + + return offset; +} + + +static const value_string x2ap_SSB_PositionsInBurst_vals[] = { + { 0, "shortBitmap" }, + { 1, "mediumBitmap" }, + { 2, "longBitmap" }, + { 3, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t SSB_PositionsInBurst_choice[] = { + { 0, &hf_x2ap_shortBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_4 }, + { 1, &hf_x2ap_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_8 }, + { 2, &hf_x2ap_longBitmap , ASN1_NO_EXTENSIONS , dissect_x2ap_BIT_STRING_SIZE_64 }, + { 3, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_SSB_PositionsInBurst(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_SSB_PositionsInBurst, SSB_PositionsInBurst_choice, + NULL); + + return offset; +} + + + +static int dissect_x2ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 256U, NULL, FALSE); @@ -9741,7 +11602,7 @@ dissect_x2ap_SgNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx 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 263 "./asn1/x2ap/x2ap.cnf" +#line 272 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb; proto_tree *subtree = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -9775,6 +11636,26 @@ dissect_x2ap_SCGConfigurationQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int +dissect_x2ap_TargetCellInNGRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 814 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TargetCellInNGRAN); + dissect_ngap_NGRAN_CGI_PDU(parameter_tvb, actx->pinfo, subtree, 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, NO_BOUND, NO_BOUND, FALSE, NULL); @@ -9805,6 +11686,26 @@ dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int of } + +static int +dissect_x2ap_TDDULDLConfigurationCommonNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 823 "./asn1/x2ap/x2ap.cnf" + tvbuff_t *parameter_tvb = NULL; + proto_tree *subtree; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); + + if (parameter_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_TDDULDLConfigurationCommonNR); + dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(parameter_tvb, actx->pinfo, subtree, NULL); + } + + + + return offset; +} + + static const value_string x2ap_TimeToWait_vals[] = { { 0, "v1s" }, { 1, "v2s" }, @@ -9835,6 +11736,285 @@ dissect_x2ap_Time_UE_StayedInCell_EnhancedGranularity(tvbuff_t *tvb _U_, int off } +static const value_string x2ap_TNLAssociationUsage_vals[] = { + { 0, "ue" }, + { 1, "non-ue" }, + { 2, "both" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_TNLAssociationUsage(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 TNLA_To_Add_Item_sequence[] = { + { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, + { &hf_x2ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLAssociationUsage }, + { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLA_To_Add_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_TNLA_To_Add_Item, TNLA_To_Add_Item_sequence); + + return offset; +} + + +static const per_sequence_t TNLA_To_Add_List_sequence_of[1] = { + { &hf_x2ap_TNLA_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Add_Item }, +}; + +static int +dissect_x2ap_TNLA_To_Add_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_TNLA_To_Add_List, TNLA_To_Add_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t TNLA_To_Update_Item_sequence[] = { + { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, + { &hf_x2ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_TNLAssociationUsage }, + { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLA_To_Update_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_TNLA_To_Update_Item, TNLA_To_Update_Item_sequence); + + return offset; +} + + +static const per_sequence_t TNLA_To_Update_List_sequence_of[1] = { + { &hf_x2ap_TNLA_To_Update_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Update_Item }, +}; + +static int +dissect_x2ap_TNLA_To_Update_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_TNLA_To_Update_List, TNLA_To_Update_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t TNLA_To_Remove_Item_sequence[] = { + { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, + { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLA_To_Remove_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_TNLA_To_Remove_Item, TNLA_To_Remove_Item_sequence); + + return offset; +} + + +static const per_sequence_t TNLA_To_Remove_List_sequence_of[1] = { + { &hf_x2ap_TNLA_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_To_Remove_Item }, +}; + +static int +dissect_x2ap_TNLA_To_Remove_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_TNLA_To_Remove_List, TNLA_To_Remove_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t TNLA_Setup_Item_sequence[] = { + { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLA_Setup_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_TNLA_Setup_Item, TNLA_Setup_Item_sequence); + + return offset; +} + + +static const per_sequence_t TNLA_Setup_List_sequence_of[1] = { + { &hf_x2ap_TNLA_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_Setup_Item }, +}; + +static int +dissect_x2ap_TNLA_Setup_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_TNLA_Setup_List, TNLA_Setup_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + +static const per_sequence_t TNLA_Failed_To_Setup_Item_sequence[] = { + { &hf_x2ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_CPTransportLayerInformation }, + { &hf_x2ap_cause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Cause }, + { &hf_x2ap_iE_Extensions , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLA_Failed_To_Setup_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_TNLA_Failed_To_Setup_Item, TNLA_Failed_To_Setup_Item_sequence); + + return offset; +} + + +static const per_sequence_t TNLA_Failed_To_Setup_List_sequence_of[1] = { + { &hf_x2ap_TNLA_Failed_To_Setup_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_TNLA_Failed_To_Setup_Item }, +}; + +static int +dissect_x2ap_TNLA_Failed_To_Setup_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_TNLA_Failed_To_Setup_List, TNLA_Failed_To_Setup_List_sequence_of, + 1, maxnoofTNLAssociations, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_INTEGER_1_16777216_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16777216U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_x2ap_INTEGER_0_100_(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, TRUE); + + return offset; +} + + +static const per_sequence_t TNLCapacityIndicator_sequence[] = { + { &hf_x2ap_dlTNLMaximumOfferedCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_16777216_ }, + { &hf_x2ap_dlTNLAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100_ }, + { &hf_x2ap_ulTNLMaximumOfferedCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_1_16777216_ }, + { &hf_x2ap_ulTNLAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_100_ }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLCapacityIndicator(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_TNLCapacityIndicator, TNLCapacityIndicator_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Add_Item_sequence[] = { + { &hf_x2ap_iP_SecTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, + { &hf_x2ap_gTPTransportLayerAddressesToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPTLAs }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_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_Transport_UP_Layer_Addresses_Info_To_Add_Item, Transport_UP_Layer_Addresses_Info_To_Add_Item_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Add_List_sequence_of[1] = { + { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item }, +}; + +static int +dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_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_Transport_UP_Layer_Addresses_Info_To_Add_List, Transport_UP_Layer_Addresses_Info_To_Add_List_sequence_of, + 1, maxnoofTLAs, FALSE); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Remove_Item_sequence[] = { + { &hf_x2ap_iP_SecTransportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_TransportLayerAddress }, + { &hf_x2ap_gTPTransportLayerAddressesToRemove, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_GTPTLAs }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_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_Transport_UP_Layer_Addresses_Info_To_Remove_Item, Transport_UP_Layer_Addresses_Info_To_Remove_Item_sequence); + + return offset; +} + + +static const per_sequence_t Transport_UP_Layer_Addresses_Info_To_Remove_List_sequence_of[1] = { + { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item }, +}; + +static int +dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_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_Transport_UP_Layer_Addresses_Info_To_Remove_List, Transport_UP_Layer_Addresses_Info_To_Remove_List_sequence_of, + 1, maxnoofTLAs, FALSE); + + return offset; +} + + +static const per_sequence_t TNLConfigurationInfo_sequence[] = { + { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List }, + { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_TNLConfigurationInfo(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_TNLConfigurationInfo, TNLConfigurationInfo_sequence); + + return offset; +} + + static const value_string x2ap_TraceDepth_vals[] = { { 0, "minimum" }, { 1, "medium" }, @@ -9858,7 +12038,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 322 "./asn1/x2ap/x2ap.cnf" +#line 358 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; proto_tree *subtree; int len; @@ -10026,19 +12206,9 @@ dissect_x2ap_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int -dissect_x2ap_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, 4095U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_x2ap_UE_X2AP_ID_Extension(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, TRUE); +dissect_x2ap_UERadioCapabilityID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); return offset; } @@ -10228,33 +12398,16 @@ dissect_x2ap_UL_scheduling_PDCCH_CCE_usage(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string x2ap_VehicleUE_vals[] = { - { 0, "authorized" }, - { 1, "not-authorized" }, +static const value_string x2ap_UnlicensedSpectrumRestriction_vals[] = { + { 0, "unlicensed-restricted" }, { 0, NULL } }; static int -dissect_x2ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_x2ap_UnlicensedSpectrumRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); - - return offset; -} - - -static const value_string x2ap_PedestrianUE_vals[] = { - { 0, "authorized" }, - { 1, "not-authorized" }, - { 0, NULL } -}; - - -static int -dissect_x2ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, TRUE, 0, NULL); + 1, NULL, TRUE, 0, NULL); return offset; } @@ -10294,7 +12447,7 @@ dissect_x2ap_WLANMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_x2ap_WLANName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 630 "./asn1/x2ap/x2ap.cnf" +#line 666 "./asn1/x2ap/x2ap.cnf" tvbuff_t *parameter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, 1, 32, FALSE, ¶meter_tvb); @@ -10442,7 +12595,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 683 "./asn1/x2ap/x2ap.cnf" +#line 849 "./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, @@ -10573,7 +12726,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 685 "./asn1/x2ap/x2ap.cnf" +#line 851 "./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, @@ -10621,7 +12774,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 687 "./asn1/x2ap/x2ap.cnf" +#line 853 "./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, @@ -10638,7 +12791,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 725 "./asn1/x2ap/x2ap.cnf" +#line 891 "./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, @@ -10648,6 +12801,77 @@ dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t EarlyStatusTransfer_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_EarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1039 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyStatusTransfer"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_EarlyStatusTransfer, EarlyStatusTransfer_sequence); + + return offset; +} + + +static const per_sequence_t FirstDLCount_sequence[] = { + { &hf_x2ap_e_RABsSubjectToEarlyStatusTransfer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToEarlyStatusTransfer_List }, + { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_FirstDLCount(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_FirstDLCount, FirstDLCount_sequence); + + return offset; +} + + +static const per_sequence_t DLDiscarding_sequence[] = { + { &hf_x2ap_e_RABsSubjectToDLDiscarding_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_E_RABsSubjectToDLDiscarding_List }, + { &hf_x2ap_iE_Extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_DLDiscarding(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_DLDiscarding, DLDiscarding_sequence); + + return offset; +} + + +static const value_string x2ap_ProcedureStageChoice_vals[] = { + { 0, "first-dl-count" }, + { 1, "dl-discarding" }, + { 2, "choice-extension" }, + { 0, NULL } +}; + +static const per_choice_t ProcedureStageChoice_choice[] = { + { 0, &hf_x2ap_first_dl_count , ASN1_NO_EXTENSIONS , dissect_x2ap_FirstDLCount }, + { 1, &hf_x2ap_dl_discarding , ASN1_NO_EXTENSIONS , dissect_x2ap_DLDiscarding }, + { 2, &hf_x2ap_choice_extension, ASN1_NO_EXTENSIONS , dissect_x2ap_ProtocolIE_Single_Container }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_x2ap_ProcedureStageChoice(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_ProcedureStageChoice, ProcedureStageChoice_choice, + NULL); + + return offset; +} + + static const per_sequence_t SNStatusTransfer_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } @@ -10655,7 +12879,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 689 "./asn1/x2ap/x2ap.cnf" +#line 855 "./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, @@ -10704,7 +12928,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 691 "./asn1/x2ap/x2ap.cnf" +#line 857 "./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, @@ -10721,7 +12945,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 693 "./asn1/x2ap/x2ap.cnf" +#line 859 "./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, @@ -10731,6 +12955,40 @@ dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t HandoverSuccess_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1037 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_HandoverSuccess, HandoverSuccess_sequence); + + return offset; +} + + +static const per_sequence_t ConditionalHandoverCancel_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ConditionalHandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1041 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConditionalHandoverCancel"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ConditionalHandoverCancel, ConditionalHandoverCancel_sequence); + + return offset; +} + + static const per_sequence_t ErrorIndication_sequence[] = { { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } @@ -10738,7 +12996,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 695 "./asn1/x2ap/x2ap.cnf" +#line 861 "./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, @@ -10755,7 +13013,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 697 "./asn1/x2ap/x2ap.cnf" +#line 863 "./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, @@ -10772,7 +13030,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 699 "./asn1/x2ap/x2ap.cnf" +#line 865 "./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, @@ -10789,7 +13047,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 701 "./asn1/x2ap/x2ap.cnf" +#line 867 "./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, @@ -10806,7 +13064,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 703 "./asn1/x2ap/x2ap.cnf" +#line 869 "./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, @@ -10823,7 +13081,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 705 "./asn1/x2ap/x2ap.cnf" +#line 871 "./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, @@ -10840,7 +13098,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 707 "./asn1/x2ap/x2ap.cnf" +#line 873 "./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, @@ -10889,7 +13147,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 709 "./asn1/x2ap/x2ap.cnf" +#line 875 "./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, @@ -10951,7 +13209,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 711 "./asn1/x2ap/x2ap.cnf" +#line 877 "./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, @@ -10968,7 +13226,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 713 "./asn1/x2ap/x2ap.cnf" +#line 879 "./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, @@ -10985,7 +13243,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 715 "./asn1/x2ap/x2ap.cnf" +#line 881 "./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, @@ -11035,6 +13293,12 @@ static const value_string x2ap_ReportingPeriodicity_vals[] = { static int dissect_x2ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 837 "./asn1/x2ap/x2ap.cnf" + struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo); + if (x2ap_data->procedure_code == id_endcresourceStatusReportingInitiation) + return dissect_x2ap_ReportingPeriodicity_ENDC(tvb, offset, actx, tree, hf_x2ap_ReportingPeriodicity_ENDC_PDU); + + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, TRUE, 0, NULL); @@ -11064,7 +13328,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 717 "./asn1/x2ap/x2ap.cnf" +#line 883 "./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, @@ -11172,7 +13436,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 719 "./asn1/x2ap/x2ap.cnf" +#line 885 "./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, @@ -11219,7 +13483,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 721 "./asn1/x2ap/x2ap.cnf" +#line 887 "./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, @@ -11268,7 +13532,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 723 "./asn1/x2ap/x2ap.cnf" +#line 889 "./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, @@ -11285,7 +13549,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 729 "./asn1/x2ap/x2ap.cnf" +#line 895 "./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, @@ -11302,7 +13566,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 731 "./asn1/x2ap/x2ap.cnf" +#line 897 "./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, @@ -11319,7 +13583,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 733 "./asn1/x2ap/x2ap.cnf" +#line 899 "./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, @@ -11336,7 +13600,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 727 "./asn1/x2ap/x2ap.cnf" +#line 893 "./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, @@ -11353,7 +13617,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 735 "./asn1/x2ap/x2ap.cnf" +#line 901 "./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, @@ -11399,7 +13663,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 737 "./asn1/x2ap/x2ap.cnf" +#line 903 "./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, @@ -11445,7 +13709,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 739 "./asn1/x2ap/x2ap.cnf" +#line 905 "./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, @@ -11462,7 +13726,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 741 "./asn1/x2ap/x2ap.cnf" +#line 907 "./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, @@ -11479,7 +13743,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 743 "./asn1/x2ap/x2ap.cnf" +#line 909 "./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, @@ -11508,7 +13772,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 527 "./asn1/x2ap/x2ap.cnf" +#line 563 "./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); @@ -11531,7 +13795,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 751 "./asn1/x2ap/x2ap.cnf" +#line 917 "./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, @@ -11619,7 +13883,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 753 "./asn1/x2ap/x2ap.cnf" +#line 919 "./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, @@ -11706,7 +13970,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 755 "./asn1/x2ap/x2ap.cnf" +#line 921 "./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, @@ -11723,7 +13987,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 757 "./asn1/x2ap/x2ap.cnf" +#line 923 "./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, @@ -11793,7 +14057,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 759 "./asn1/x2ap/x2ap.cnf" +#line 925 "./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, @@ -12040,7 +14304,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 761 "./asn1/x2ap/x2ap.cnf" +#line 927 "./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, @@ -12261,7 +14525,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 763 "./asn1/x2ap/x2ap.cnf" +#line 929 "./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, @@ -12278,7 +14542,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 765 "./asn1/x2ap/x2ap.cnf" +#line 931 "./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, @@ -12325,7 +14589,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 767 "./asn1/x2ap/x2ap.cnf" +#line 933 "./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, @@ -12342,7 +14606,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 769 "./asn1/x2ap/x2ap.cnf" +#line 935 "./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, @@ -12359,7 +14623,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 771 "./asn1/x2ap/x2ap.cnf" +#line 937 "./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, @@ -12445,7 +14709,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 773 "./asn1/x2ap/x2ap.cnf" +#line 939 "./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, @@ -12462,7 +14726,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 775 "./asn1/x2ap/x2ap.cnf" +#line 941 "./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, @@ -12548,7 +14812,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 777 "./asn1/x2ap/x2ap.cnf" +#line 943 "./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, @@ -12606,7 +14870,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 745 "./asn1/x2ap/x2ap.cnf" +#line 911 "./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, @@ -12623,7 +14887,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 747 "./asn1/x2ap/x2ap.cnf" +#line 913 "./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, @@ -12640,7 +14904,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 749 "./asn1/x2ap/x2ap.cnf" +#line 915 "./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, @@ -12657,7 +14921,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 779 "./asn1/x2ap/x2ap.cnf" +#line 945 "./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, @@ -12674,7 +14938,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 781 "./asn1/x2ap/x2ap.cnf" +#line 947 "./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, @@ -12747,7 +15011,7 @@ 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 783 "./asn1/x2ap/x2ap.cnf" +#line 949 "./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, @@ -12764,7 +15028,7 @@ static const per_sequence_t SgNBAdditionRequest_sequence[] = { 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 785 "./asn1/x2ap/x2ap.cnf" +#line 951 "./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, @@ -12873,7 +15137,7 @@ static const per_sequence_t SgNBAdditionRequestAcknowledge_sequence[] = { 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 787 "./asn1/x2ap/x2ap.cnf" +#line 953 "./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, @@ -12980,7 +15244,7 @@ static const per_sequence_t SgNBAdditionRequestReject_sequence[] = { 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 789 "./asn1/x2ap/x2ap.cnf" +#line 955 "./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, @@ -12997,7 +15261,7 @@ static const per_sequence_t SgNBReconfigurationComplete_sequence[] = { 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 791 "./asn1/x2ap/x2ap.cnf" +#line 957 "./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, @@ -13066,7 +15330,7 @@ static const per_sequence_t SgNBModificationRequest_sequence[] = { 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 793 "./asn1/x2ap/x2ap.cnf" +#line 959 "./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, @@ -13366,7 +15630,7 @@ static const per_sequence_t SgNBModificationRequestAcknowledge_sequence[] = { 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 795 "./asn1/x2ap/x2ap.cnf" +#line 961 "./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, @@ -13640,7 +15904,7 @@ static const per_sequence_t SgNBModificationRequestReject_sequence[] = { 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 797 "./asn1/x2ap/x2ap.cnf" +#line 963 "./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, @@ -13657,7 +15921,7 @@ static const per_sequence_t SgNBModificationRequired_sequence[] = { 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 799 "./asn1/x2ap/x2ap.cnf" +#line 965 "./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, @@ -13791,7 +16055,7 @@ static const per_sequence_t SgNBModificationConfirm_sequence[] = { 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 801 "./asn1/x2ap/x2ap.cnf" +#line 967 "./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, @@ -13890,7 +16154,7 @@ static const per_sequence_t SgNBModificationRefuse_sequence[] = { 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 803 "./asn1/x2ap/x2ap.cnf" +#line 969 "./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, @@ -13907,7 +16171,7 @@ static const per_sequence_t SgNBReleaseRequest_sequence[] = { 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 805 "./asn1/x2ap/x2ap.cnf" +#line 971 "./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, @@ -14007,7 +16271,7 @@ static const per_sequence_t SgNBReleaseRequestAcknowledge_sequence[] = { 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 807 "./asn1/x2ap/x2ap.cnf" +#line 973 "./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, @@ -14054,7 +16318,7 @@ static const per_sequence_t SgNBReleaseRequestReject_sequence[] = { 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 809 "./asn1/x2ap/x2ap.cnf" +#line 975 "./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, @@ -14071,7 +16335,7 @@ static const per_sequence_t SgNBReleaseRequired_sequence[] = { 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 811 "./asn1/x2ap/x2ap.cnf" +#line 977 "./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, @@ -14118,7 +16382,7 @@ static const per_sequence_t SgNBReleaseConfirm_sequence[] = { 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 813 "./asn1/x2ap/x2ap.cnf" +#line 979 "./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, @@ -14218,7 +16482,7 @@ static const per_sequence_t SgNBCounterCheckRequest_sequence[] = { 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 815 "./asn1/x2ap/x2ap.cnf" +#line 981 "./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, @@ -14266,7 +16530,7 @@ static const per_sequence_t SgNBChangeRequired_sequence[] = { 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 817 "./asn1/x2ap/x2ap.cnf" +#line 983 "./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, @@ -14283,7 +16547,7 @@ static const per_sequence_t SgNBChangeConfirm_sequence[] = { 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 819 "./asn1/x2ap/x2ap.cnf" +#line 985 "./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, @@ -14383,7 +16647,7 @@ static const per_sequence_t RRCTransfer_sequence[] = { 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 823 "./asn1/x2ap/x2ap.cnf" +#line 989 "./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, @@ -14400,7 +16664,7 @@ static const per_sequence_t SgNBChangeRefuse_sequence[] = { 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 821 "./asn1/x2ap/x2ap.cnf" +#line 987 "./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, @@ -14417,7 +16681,7 @@ static const per_sequence_t ENDCX2SetupRequest_sequence[] = { 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 825 "./asn1/x2ap/x2ap.cnf" +#line 991 "./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, @@ -14520,8 +16784,8 @@ static const value_string x2ap_T_nrModeInfo_vals[] = { }; static const per_choice_t T_nrModeInfo_choice[] = { - { 0, &hf_x2ap_fdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_InfoServedNRCell_Information }, - { 1, &hf_x2ap_tdd_03 , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_InfoServedNRCell_Information }, + { 0, &hf_x2ap_fdd_04 , ASN1_EXTENSION_ROOT , dissect_x2ap_FDD_InfoServedNRCell_Information }, + { 1, &hf_x2ap_tdd_04 , ASN1_EXTENSION_ROOT , dissect_x2ap_TDD_InfoServedNRCell_Information }, { 0, NULL, 0, NULL } }; @@ -14538,7 +16802,7 @@ dissect_x2ap_T_nrModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_x2ap_T_measurementTimingConfiguration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 592 "./asn1/x2ap/x2ap.cnf" +#line 628 "./asn1/x2ap/x2ap.cnf" tvbuff_t *param_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶m_tvb); @@ -14671,6 +16935,22 @@ dissect_x2ap_CellAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const per_sequence_t CellandCapacityAssistInfo_sequence[] = { + { &hf_x2ap_maximumCellListSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_MaximumCellListSize }, + { &hf_x2ap_cellAssistanceInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellAssistanceInformation }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CellandCapacityAssistInfo(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_CellandCapacityAssistInfo, CellandCapacityAssistInfo_sequence); + + 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 } @@ -14678,7 +16958,7 @@ static const per_sequence_t ENDCX2SetupResponse_sequence[] = { 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 827 "./asn1/x2ap/x2ap.cnf" +#line 993 "./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, @@ -14717,7 +16997,7 @@ static const per_sequence_t ENDCX2SetupFailure_sequence[] = { 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 829 "./asn1/x2ap/x2ap.cnf" +#line 995 "./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, @@ -14734,7 +17014,7 @@ static const per_sequence_t ENDCConfigurationUpdate_sequence[] = { 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 831 "./asn1/x2ap/x2ap.cnf" +#line 997 "./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, @@ -14864,7 +17144,7 @@ static const per_sequence_t ENDCConfigurationUpdateAcknowledge_sequence[] = { 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 833 "./asn1/x2ap/x2ap.cnf" +#line 999 "./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, @@ -14903,7 +17183,7 @@ static const per_sequence_t ENDCConfigurationUpdateFailure_sequence[] = { 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 835 "./asn1/x2ap/x2ap.cnf" +#line 1001 "./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, @@ -14920,7 +17200,7 @@ static const per_sequence_t ENDCCellActivationRequest_sequence[] = { 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 839 "./asn1/x2ap/x2ap.cnf" +#line 1005 "./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, @@ -14966,7 +17246,7 @@ static const per_sequence_t ENDCCellActivationResponse_sequence[] = { 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 841 "./asn1/x2ap/x2ap.cnf" +#line 1007 "./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, @@ -15012,7 +17292,7 @@ static const per_sequence_t ENDCCellActivationFailure_sequence[] = { 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 843 "./asn1/x2ap/x2ap.cnf" +#line 1009 "./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, @@ -15022,6 +17302,195 @@ dissect_x2ap_ENDCCellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const per_sequence_t ENDCResourceStatusRequest_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1043 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusRequest"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCResourceStatusRequest, ENDCResourceStatusRequest_sequence); + + return offset; +} + + +static const value_string x2ap_ReportingPeriodicity_ENDC_vals[] = { + { 0, "ms500" }, + { 1, "ms1000" }, + { 2, "ms2000" }, + { 3, "ms5000" }, + { 4, "ms10000" }, + { 0, NULL } +}; + + +static int +dissect_x2ap_ReportingPeriodicity_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 5, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CellToReport_ENDC_List_sequence_of[1] = { + { &hf_x2ap_CellToReport_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_CellToReport_ENDC_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_CellToReport_ENDC_List, CellToReport_ENDC_List_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + +static const per_sequence_t SSBToReport_Item_sequence[] = { + { &hf_x2ap_ssbIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBIndex }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_SSBToReport_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_SSBToReport_Item, SSBToReport_Item_sequence); + + return offset; +} + + +static const per_sequence_t SSBToReport_List_sequence_of[1] = { + { &hf_x2ap_SSBToReport_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_SSBToReport_Item }, +}; + +static int +dissect_x2ap_SSBToReport_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_SSBToReport_List, SSBToReport_List_sequence_of, + 1, maxnoofSSBAreas, FALSE); + + return offset; +} + + +static const per_sequence_t CellToReport_ENDC_Item_sequence[] = { + { &hf_x2ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_ssbToReport_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_SSBToReport_List }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CellToReport_ENDC_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_CellToReport_ENDC_Item, CellToReport_ENDC_Item_sequence); + + return offset; +} + + +static const per_sequence_t ENDCResourceStatusResponse_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1045 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusResponse"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCResourceStatusResponse, ENDCResourceStatusResponse_sequence); + + return offset; +} + + +static const per_sequence_t ENDCResourceStatusFailure_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1047 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusFailure"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCResourceStatusFailure, ENDCResourceStatusFailure_sequence); + + return offset; +} + + +static const per_sequence_t ENDCResourceStatusUpdate_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_ENDCResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1049 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCResourceStatusUpdate"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_ENDCResourceStatusUpdate, ENDCResourceStatusUpdate_sequence); + + return offset; +} + + +static const per_sequence_t CellMeasurementResult_ENDC_List_sequence_of[1] = { + { &hf_x2ap_CellMeasurementResult_ENDC_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Single_Container }, +}; + +static int +dissect_x2ap_CellMeasurementResult_ENDC_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_CellMeasurementResult_ENDC_List, CellMeasurementResult_ENDC_List_sequence_of, + 1, maxCellinengNB, FALSE); + + return offset; +} + + + +static int +dissect_x2ap_INTEGER_0_16777215_(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, 16777215U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t CellMeasurementResult_ENDC_Item_sequence[] = { + { &hf_x2ap_cell_ID_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_NRCGI }, + { &hf_x2ap_radioResourceStatus_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRRadioResourceStatus }, + { &hf_x2ap_tnlCapacityIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_TNLCapacityIndicator }, + { &hf_x2ap_compositeAvailableCapacityGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_NRCompositeAvailableCapacityGroup }, + { &hf_x2ap_numberofActiveUEs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_16777215_ }, + { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CellMeasurementResult_ENDC_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_CellMeasurementResult_ENDC_Item, CellMeasurementResult_ENDC_Item_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 } @@ -15029,7 +17498,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { 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 837 "./asn1/x2ap/x2ap.cnf" +#line 1003 "./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, @@ -15046,7 +17515,7 @@ static const per_sequence_t SgNBActivityNotification_sequence[] = { static int dissect_x2ap_SgNBActivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 853 "./asn1/x2ap/x2ap.cnf" +#line 1019 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SgNBActivityNotification"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15063,7 +17532,7 @@ static const per_sequence_t ENDCPartialResetRequired_sequence[] = { static int dissect_x2ap_ENDCPartialResetRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 845 "./asn1/x2ap/x2ap.cnf" +#line 1011 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetRequired"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15080,7 +17549,7 @@ static const per_sequence_t ENDCPartialResetConfirm_sequence[] = { static int dissect_x2ap_ENDCPartialResetConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 847 "./asn1/x2ap/x2ap.cnf" +#line 1013 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCPartialResetConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15097,7 +17566,7 @@ static const per_sequence_t EUTRANRCellResourceCoordinationRequest_sequence[] = static int dissect_x2ap_EUTRANRCellResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 849 "./asn1/x2ap/x2ap.cnf" +#line 1015 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15178,7 +17647,7 @@ static const per_sequence_t EUTRANRCellResourceCoordinationResponse_sequence[] = static int dissect_x2ap_EUTRANRCellResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 851 "./asn1/x2ap/x2ap.cnf" +#line 1017 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EUTRANRCellResourceCoordinationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15245,7 +17714,7 @@ static const per_sequence_t ENDCX2RemovalRequest_sequence[] = { static int dissect_x2ap_ENDCX2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 855 "./asn1/x2ap/x2ap.cnf" +#line 1021 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15284,7 +17753,7 @@ static const per_sequence_t ENDCX2RemovalResponse_sequence[] = { static int dissect_x2ap_ENDCX2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 857 "./asn1/x2ap/x2ap.cnf" +#line 1023 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15323,7 +17792,7 @@ static const per_sequence_t ENDCX2RemovalFailure_sequence[] = { static int dissect_x2ap_ENDCX2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 859 "./asn1/x2ap/x2ap.cnf" +#line 1025 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCX2RemovalFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15340,7 +17809,7 @@ static const per_sequence_t DataForwardingAddressIndication_sequence[] = { static int dissect_x2ap_DataForwardingAddressIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 861 "./asn1/x2ap/x2ap.cnf" +#line 1027 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataForwardingAddressIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15387,7 +17856,7 @@ static const per_sequence_t GNBStatusIndication_sequence[] = { static int dissect_x2ap_GNBStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 863 "./asn1/x2ap/x2ap.cnf" +#line 1029 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBStatusIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15404,7 +17873,7 @@ static const per_sequence_t ENDCConfigurationTransfer_sequence[] = { static int dissect_x2ap_ENDCConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 865 "./asn1/x2ap/x2ap.cnf" +#line 1031 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENDCConfigurationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15421,10 +17890,9 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_x2ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 869 "./asn1/x2ap/x2ap.cnf" +#line 1035 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_x2ap_TraceStart, TraceStart_sequence); @@ -15439,7 +17907,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_x2ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 867 "./asn1/x2ap/x2ap.cnf" +#line 1033 "./asn1/x2ap/x2ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -15449,6 +17917,41 @@ dissect_x2ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t CellTrafficTrace_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1051 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_CellTrafficTrace, CellTrafficTrace_sequence); + + return offset; +} + + +static const per_sequence_t F1CTrafficTransfer_sequence[] = { + { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_x2ap_F1CTrafficTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1053 "./asn1/x2ap/x2ap.cnf" + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1CTrafficTransfer"); + + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_x2ap_F1CTrafficTransfer, F1CTrafficTransfer_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_) { @@ -15573,6 +18076,14 @@ static int dissect_ActivationID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_AdditionalRRMPriorityIndex_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_AdditionalRRMPriorityIndex(tvb, offset, &asn1_ctx, tree, hf_x2ap_AdditionalRRMPriorityIndex_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; @@ -15589,6 +18100,14 @@ static int dissect_AdditionalSpecialSubframeExtension_Info_PDU(tvbuff_t *tvb _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_AvailableFastMCGRecoveryViaSRB3_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_AvailableFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_AerialUEsubscriptionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -15661,6 +18180,14 @@ static int dissect_CellReportingIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_CHO_DC_Indicator_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_CHO_DC_Indicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHO_DC_Indicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_CNTypeRestrictions_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -15757,6 +18284,38 @@ static int dissect_CSIReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_CHOinformation_REQ_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_CHOinformation_REQ(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_REQ_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CHOinformation_ACK_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_CHOinformation_ACK(tvb, offset, &asn1_ctx, tree, hf_x2ap_CHOinformation_ACK_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CandidateCellsToBeCancelledList_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_CandidateCellsToBeCancelledList(tvb, offset, &asn1_ctx, tree, hf_x2ap_CandidateCellsToBeCancelledList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CSI_RSTransmissionIndication_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_CSI_RSTransmissionIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_CSI_RSTransmissionIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_DataTrafficResourceIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -15765,6 +18324,22 @@ static int dissect_DataTrafficResourceIndication_PDU(tvbuff_t *tvb _U_, packet_i offset += 7; offset >>= 3; return offset; } +static int dissect_DAPSRequestInfo_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_DAPSRequestInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_DAPSRequestInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_DAPSResponseInfo_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_DAPSResponseInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_DAPSResponseInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -15885,6 +18460,14 @@ static int dissect_E_RABUsageReport_Item_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +static int dissect_Ethernet_Type_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_Ethernet_Type(tvb, offset, &asn1_ctx, tree, hf_x2ap_Ethernet_Type_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; @@ -15925,6 +18508,22 @@ static int dissect_ExtendedBitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_F1CTrafficContainer_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_F1CTrafficContainer(tvb, offset, &asn1_ctx, tree, hf_x2ap_F1CTrafficContainer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_FastMCGRecovery_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_FastMCGRecovery(tvb, offset, &asn1_ctx, tree, hf_x2ap_FastMCGRecovery_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; @@ -15933,6 +18532,14 @@ static int dissect_FreqBandIndicatorPriority_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_FrequencyShift7p5khz_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_FrequencyShift7p5khz(tvb, offset, &asn1_ctx, tree, hf_x2ap_FrequencyShift7p5khz_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_GlobalENB_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; @@ -16005,6 +18612,22 @@ static int dissect_HandoverRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_IABInformation_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_IABInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_IABInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_IABNodeIndication_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_IABNodeIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_IABNodeIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_InterfaceInstanceIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16053,6 +18676,14 @@ static int dissect_LocationInformationSgNBReporting_PDU(tvbuff_t *tvb _U_, packe offset += 7; offset >>= 3; return offset; } +static int dissect_LowerLayerPresenceStatusChange_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_LowerLayerPresenceStatusChange(tvb, offset, &asn1_ctx, tree, hf_x2ap_LowerLayerPresenceStatusChange_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_M3Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16149,6 +18780,14 @@ static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_Measurement_ID_ENDC_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_Measurement_ID_ENDC(tvb, offset, &asn1_ctx, tree, hf_x2ap_Measurement_ID_ENDC_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MeNBCoordinationAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16189,6 +18828,14 @@ static int dissect_MBSFN_Subframe_Infolist_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_MDT_ConfigurationNR_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_MDT_ConfigurationNR(tvb, offset, &asn1_ctx, tree, hf_x2ap_MDT_ConfigurationNR_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16213,6 +18860,14 @@ static int dissect_MultibandInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +static int dissect_MessageOversizeNotification_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_MessageOversizeNotification(tvb, offset, &asn1_ctx, tree, hf_x2ap_MessageOversizeNotification_PDU); + 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; @@ -16245,6 +18900,14 @@ static int dissect_NBIoT_UL_DL_AlignmentOffset_PDU(tvbuff_t *tvb _U_, packet_inf offset += 7; offset >>= 3; return offset; } +static int dissect_NBIoT_RLF_Report_Container_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_NBIoT_RLF_Report_Container(tvb, offset, &asn1_ctx, tree, hf_x2ap_NBIoT_RLF_Report_Container_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NewDRBIDrequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16261,6 +18924,22 @@ static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_NRCarrierList_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_NRCarrierList(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRCarrierList_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRCellPRACHConfig_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_NRCellPRACHConfig(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRCellPRACHConfig_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NRCGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16277,6 +18956,14 @@ static int dissect_NRNeighbour_Information_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_NPRACHConfiguration_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_NPRACHConfiguration(tvb, offset, &asn1_ctx, tree, hf_x2ap_NPRACHConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NRrestrictioninEPSasSecondaryRAT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16309,6 +18996,14 @@ static int dissect_NRUeReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro offset += 7; offset >>= 3; return offset; } +static int dissect_NRUESidelinkAggregateMaximumBitRate_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_NRUESidelinkAggregateMaximumBitRate(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRUESidelinkAggregateMaximumBitRate_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; @@ -16325,6 +19020,14 @@ static int dissect_NSSS_NumOccasionDifferentPrecoder_PDU(tvbuff_t *tvb _U_, pack offset += 7; offset >>= 3; return offset; } +static int dissect_NRV2XServicesAuthorized_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_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_x2ap_NRV2XServicesAuthorized_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; @@ -16341,6 +19044,14 @@ static int dissect_Packet_LossRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_PC5QoSParameters_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_PC5QoSParameters(tvb, offset, &asn1_ctx, tree, hf_x2ap_PC5QoSParameters_PDU); + 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; @@ -16405,6 +19116,38 @@ int dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(tvbuff_t *tvb _U_, packet_ offset += 7; offset >>= 3; return offset; } +static int dissect_PartialListIndicator_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_PartialListIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PartialListIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_PrivacyIndicator_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_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_x2ap_PrivacyIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_QoS_Mapping_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_x2ap_QoS_Mapping_Information(tvb, offset, &asn1_ctx, tree, hf_x2ap_QoS_Mapping_Information_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RAN_UE_NGAP_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_RAN_UE_NGAP_ID(tvb, offset, &asn1_ctx, tree, hf_x2ap_RAN_UE_NGAP_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16421,6 +19164,14 @@ static int dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU(tvbuff_t *tvb _U offset += 7; offset >>= 3; return offset; } +static int dissect_ReleaseFastMCGRecoveryViaSRB3_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_ReleaseFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16453,6 +19204,22 @@ static int dissect_ReportingPeriodicityRSRPMR_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_RequestedFastMCGRecoveryViaSRB3_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_RequestedFastMCGRecoveryViaSRB3(tvb, offset, &asn1_ctx, tree, hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RequestedFastMCGRecoveryViaSRB3Release_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_RequestedFastMCGRecoveryViaSRB3Release(tvb, offset, &asn1_ctx, tree, hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ResumeID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16613,6 +19380,14 @@ static int dissect_SGNB_Addition_Trigger_Ind_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_SNtriggered_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_SNtriggered(tvb, offset, &asn1_ctx, tree, hf_x2ap_SNtriggered_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SpectrumSharingGroupID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16637,6 +19412,14 @@ static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_SSB_PositionsInBurst_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_SSB_PositionsInBurst(tvb, offset, &asn1_ctx, tree, hf_x2ap_SSB_PositionsInBurst_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SubscriberProfileIDforRFP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16685,6 +19468,14 @@ static int dissect_TAC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree offset += 7; offset >>= 3; return offset; } +static int dissect_TargetCellInNGRAN_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_TargetCellInNGRAN(tvb, offset, &asn1_ctx, tree, hf_x2ap_TargetCellInNGRAN_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TargetCellInUTRAN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16701,6 +19492,14 @@ static int dissect_TargeteNBtoSource_eNBTransparentContainer_PDU(tvbuff_t *tvb _ offset += 7; offset >>= 3; return offset; } +static int dissect_TDDULDLConfigurationCommonNR_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_TDDULDLConfigurationCommonNR(tvb, offset, &asn1_ctx, tree, hf_x2ap_TDDULDLConfigurationCommonNR_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16717,6 +19516,54 @@ static int dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU(tvbuff_t *tvb _U offset += 7; offset >>= 3; return offset; } +static int dissect_TNLA_To_Add_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_TNLA_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Add_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_TNLA_To_Update_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_TNLA_To_Update_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Update_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_TNLA_To_Remove_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_TNLA_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_To_Remove_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_TNLA_Setup_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_TNLA_Setup_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_Setup_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_TNLA_Failed_To_Setup_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_TNLA_Failed_To_Setup_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLA_Failed_To_Setup_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_TNLConfigurationInfo_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_TNLConfigurationInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_TNLConfigurationInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16805,6 +19652,14 @@ static int dissect_UE_X2AP_ID_Extension_PDU(tvbuff_t *tvb _U_, packet_info *pinf offset += 7; offset >>= 3; return offset; } +static int dissect_UERadioCapabilityID_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_UERadioCapabilityID(tvb, offset, &asn1_ctx, tree, hf_x2ap_UERadioCapabilityID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UE_RLF_Report_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16853,6 +19708,14 @@ static int dissect_UL_scheduling_PDCCH_CCE_usage_PDU(tvbuff_t *tvb _U_, packet_i offset += 7; offset >>= 3; return offset; } +static int dissect_UnlicensedSpectrumRestriction_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_UnlicensedSpectrumRestriction(tvb, offset, &asn1_ctx, tree, hf_x2ap_UnlicensedSpectrumRestriction_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UserPlaneTrafficActivityReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -16981,6 +19844,22 @@ static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_EarlyStatusTransfer_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_EarlyStatusTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_EarlyStatusTransfer_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ProcedureStageChoice_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_ProcedureStageChoice(tvb, offset, &asn1_ctx, tree, hf_x2ap_ProcedureStageChoice_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -17021,6 +19900,22 @@ static int dissect_HandoverCancel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_HandoverSuccess_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_HandoverSuccess(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverSuccess_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ConditionalHandoverCancel_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_ConditionalHandoverCancel(tvb, offset, &asn1_ctx, tree, hf_x2ap_ConditionalHandoverCancel_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -18181,6 +21076,14 @@ static int dissect_ServedNRcellsENDCX2ManagementList_PDU(tvbuff_t *tvb _U_, pack offset += 7; offset >>= 3; return offset; } +static int dissect_CellandCapacityAssistInfo_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_CellandCapacityAssistInfo(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellandCapacityAssistInfo_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; @@ -18325,6 +21228,70 @@ static int dissect_ENDCCellActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_ENDCResourceStatusRequest_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_ENDCResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellToReport_ENDC_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_CellToReport_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_ENDC_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellToReport_ENDC_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_CellToReport_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellToReport_ENDC_Item_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCResourceStatusResponse_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_ENDCResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCResourceStatusFailure_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_ENDCResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENDCResourceStatusUpdate_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_ENDCResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_x2ap_ENDCResourceStatusUpdate_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellMeasurementResult_ENDC_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_CellMeasurementResult_ENDC_List(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_ENDC_List_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_CellMeasurementResult_ENDC_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_CellMeasurementResult_ENDC_Item(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellMeasurementResult_ENDC_Item_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; @@ -18525,6 +21492,22 @@ static int dissect_DeactivateTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_CellTrafficTrace_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_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_x2ap_CellTrafficTrace_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_F1CTrafficTransfer_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_F1CTrafficTransfer(tvb, offset, &asn1_ctx, tree, hf_x2ap_F1CTrafficTransfer_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; @@ -18536,7 +21519,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 262 "./asn1/x2ap/packet-x2ap-template.c" +#line 291 "./asn1/x2ap/packet-x2ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { @@ -18852,6 +21835,38 @@ void proto_register_x2ap(void) { { "Reserved", "x2ap.NRintegrityProtectionAlgorithms.Reserved", FT_UINT16, BASE_HEX, NULL, 0x1fff, NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_PRBPeriodic, + { "PRBPeriodic", "x2ap.ReportCharacteristics_ENDC.PRBPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_TNLCapacityIndPeriodic, + { "TNLCapacityIndPeriodic", "x2ap.ReportCharacteristics_ENDC.TNLCapacityIndPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_CompositeAvailableCapacityPeriodic, + { "CompositeAvailableCapacityPeriodic", "x2ap.ReportCharacteristics_ENDC.CompositeAvailableCapacityPeriodic", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_NumberOfActiveUEs, + { "NumberOfActiveUEs", "x2ap.ReportCharacteristics_ENDC.NumberOfActiveUEs", + FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_Reserved, + { "Reserved", "x2ap.ReportCharacteristics_ENDC.Reserved", + FT_UINT32, BASE_HEX, NULL, 0x0fffffff, + NULL, HFILL }}, + { &hf_x2ap_Registration_Request_ENDC_PDU, + { "Registration-Request-ENDC", "x2ap.Registration_Request_ENDC", + FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_ENDC_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ReportingPeriodicity_ENDC_PDU, + { "ReportingPeriodicity-ENDC", "x2ap.ReportingPeriodicity_ENDC", + FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicity_ENDC_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_ReportCharacteristics_ENDC_PDU, + { "ReportCharacteristics-ENDC", "x2ap.ReportCharacteristics_ENDC", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, /*--- Included file: packet-x2ap-hfarr.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-hfarr.c" @@ -18867,6 +21882,10 @@ void proto_register_x2ap(void) { { "ActivationID", "x2ap.ActivationID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_AdditionalRRMPriorityIndex_PDU, + { "AdditionalRRMPriorityIndex", "x2ap.AdditionalRRMPriorityIndex", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_AdditionalSpecialSubframe_Info_PDU, { "AdditionalSpecialSubframe-Info", "x2ap.AdditionalSpecialSubframe_Info_element", FT_NONE, BASE_NONE, NULL, 0, @@ -18875,6 +21894,10 @@ void proto_register_x2ap(void) { { "AdditionalSpecialSubframeExtension-Info", "x2ap.AdditionalSpecialSubframeExtension_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_AvailableFastMCGRecoveryViaSRB3_PDU, + { "AvailableFastMCGRecoveryViaSRB3", "x2ap.AvailableFastMCGRecoveryViaSRB3", + FT_UINT32, BASE_DEC, VALS(x2ap_AvailableFastMCGRecoveryViaSRB3_vals), 0, + NULL, HFILL }}, { &hf_x2ap_AerialUEsubscriptionInformation_PDU, { "AerialUEsubscriptionInformation", "x2ap.AerialUEsubscriptionInformation", FT_UINT32, BASE_DEC, VALS(x2ap_AerialUEsubscriptionInformation_vals), 0, @@ -18911,6 +21934,10 @@ void proto_register_x2ap(void) { { "CellReportingIndicator", "x2ap.CellReportingIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_CellReportingIndicator_vals), 0, NULL, HFILL }}, + { &hf_x2ap_CHO_DC_Indicator_PDU, + { "CHO-DC-Indicator", "x2ap.CHO_DC_Indicator", + FT_UINT32, BASE_DEC, VALS(x2ap_CHO_DC_Indicator_vals), 0, + NULL, HFILL }}, { &hf_x2ap_CNTypeRestrictions_PDU, { "CNTypeRestrictions", "x2ap.CNTypeRestrictions", FT_UINT32, BASE_DEC, NULL, 0, @@ -18959,10 +21986,34 @@ void proto_register_x2ap(void) { { "CSIReportList", "x2ap.CSIReportList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_CHOinformation_REQ_PDU, + { "CHOinformation-REQ", "x2ap.CHOinformation_REQ_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CHOinformation_ACK_PDU, + { "CHOinformation-ACK", "x2ap.CHOinformation_ACK_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CandidateCellsToBeCancelledList_PDU, + { "CandidateCellsToBeCancelledList", "x2ap.CandidateCellsToBeCancelledList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CSI_RSTransmissionIndication_PDU, + { "CSI-RSTransmissionIndication", "x2ap.CSI_RSTransmissionIndication", + FT_UINT32, BASE_DEC, VALS(x2ap_CSI_RSTransmissionIndication_vals), 0, + NULL, HFILL }}, { &hf_x2ap_DataTrafficResourceIndication_PDU, { "DataTrafficResourceIndication", "x2ap.DataTrafficResourceIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_DAPSRequestInfo_PDU, + { "DAPSRequestInfo", "x2ap.DAPSRequestInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_DAPSResponseInfo_PDU, + { "DAPSResponseInfo", "x2ap.DAPSResponseInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_DeactivationIndication_PDU, { "DeactivationIndication", "x2ap.DeactivationIndication", FT_UINT32, BASE_DEC, VALS(x2ap_DeactivationIndication_vals), 0, @@ -19023,6 +22074,10 @@ void proto_register_x2ap(void) { { "E-RABUsageReport-Item", "x2ap.E_RABUsageReport_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_Ethernet_Type_PDU, + { "Ethernet-Type", "x2ap.Ethernet_Type", + FT_UINT32, BASE_DEC, VALS(x2ap_Ethernet_Type_vals), 0, + NULL, HFILL }}, { &hf_x2ap_EUTRANCellIdentifier_PDU, { "EUTRANCellIdentifier", "x2ap.EUTRANCellIdentifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -19043,10 +22098,22 @@ void proto_register_x2ap(void) { { "ExtendedBitRate", "x2ap.ExtendedBitRate", FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, NULL, HFILL }}, + { &hf_x2ap_F1CTrafficContainer_PDU, + { "F1CTrafficContainer", "x2ap.F1CTrafficContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_FastMCGRecovery_PDU, + { "FastMCGRecovery", "x2ap.FastMCGRecovery_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_FreqBandIndicatorPriority_PDU, { "FreqBandIndicatorPriority", "x2ap.FreqBandIndicatorPriority", FT_UINT32, BASE_DEC, VALS(x2ap_FreqBandIndicatorPriority_vals), 0, NULL, HFILL }}, + { &hf_x2ap_FrequencyShift7p5khz_PDU, + { "FrequencyShift7p5khz", "x2ap.FrequencyShift7p5khz", + FT_UINT32, BASE_DEC, VALS(x2ap_FrequencyShift7p5khz_vals), 0, + NULL, HFILL }}, { &hf_x2ap_GlobalENB_ID_PDU, { "GlobalENB-ID", "x2ap.GlobalENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19083,6 +22150,14 @@ void proto_register_x2ap(void) { { "HandoverRestrictionList", "x2ap.HandoverRestrictionList_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_IABInformation_PDU, + { "IABInformation", "x2ap.IABInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_IABNodeIndication_PDU, + { "IABNodeIndication", "x2ap.IABNodeIndication", + FT_UINT32, BASE_DEC, VALS(x2ap_IABNodeIndication_vals), 0, + NULL, HFILL }}, { &hf_x2ap_InterfaceInstanceIndication_PDU, { "InterfaceInstanceIndication", "x2ap.InterfaceInstanceIndication", FT_UINT32, BASE_DEC, NULL, 0, @@ -19107,6 +22182,10 @@ void proto_register_x2ap(void) { { "LocationInformationSgNBReporting", "x2ap.LocationInformationSgNBReporting", FT_UINT32, BASE_DEC, VALS(x2ap_LocationInformationSgNBReporting_vals), 0, NULL, HFILL }}, + { &hf_x2ap_LowerLayerPresenceStatusChange_PDU, + { "LowerLayerPresenceStatusChange", "x2ap.LowerLayerPresenceStatusChange", + FT_UINT32, BASE_DEC, VALS(x2ap_LowerLayerPresenceStatusChange_vals), 0, + NULL, HFILL }}, { &hf_x2ap_M3Configuration_PDU, { "M3Configuration", "x2ap.M3Configuration_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19155,6 +22234,10 @@ void proto_register_x2ap(void) { { "Measurement-ID", "x2ap.Measurement_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_Measurement_ID_ENDC_PDU, + { "Measurement-ID-ENDC", "x2ap.Measurement_ID_ENDC", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_MeNBCoordinationAssistanceInformation_PDU, { "MeNBCoordinationAssistanceInformation", "x2ap.MeNBCoordinationAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_MeNBCoordinationAssistanceInformation_vals), 0, @@ -19175,6 +22258,10 @@ void proto_register_x2ap(void) { { "MBSFN-Subframe-Infolist", "x2ap.MBSFN_Subframe_Infolist", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_MDT_ConfigurationNR_PDU, + { "MDT-ConfigurationNR", "x2ap.MDT_ConfigurationNR", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_MobilityParametersModificationRange_PDU, { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19187,6 +22274,10 @@ void proto_register_x2ap(void) { { "MultibandInfoList", "x2ap.MultibandInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_MessageOversizeNotification_PDU, + { "MessageOversizeNotification", "x2ap.MessageOversizeNotification_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_MeNBtoSgNBContainer_PDU, { "MeNBtoSgNBContainer", "x2ap.MeNBtoSgNBContainer", FT_BYTES, BASE_NONE, NULL, 0, @@ -19203,6 +22294,10 @@ void proto_register_x2ap(void) { { "NBIoT-UL-DL-AlignmentOffset", "x2ap.NBIoT_UL_DL_AlignmentOffset", FT_UINT32, BASE_DEC, VALS(x2ap_NBIoT_UL_DL_AlignmentOffset_vals), 0, NULL, HFILL }}, + { &hf_x2ap_NBIoT_RLF_Report_Container_PDU, + { "NBIoT-RLF-Report-Container", "x2ap.NBIoT_RLF_Report_Container", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_NewDRBIDrequest_PDU, { "NewDRBIDrequest", "x2ap.NewDRBIDrequest", FT_UINT32, BASE_DEC, VALS(x2ap_NewDRBIDrequest_vals), 0, @@ -19211,6 +22306,14 @@ void proto_register_x2ap(void) { { "Number-of-Antennaports", "x2ap.Number_of_Antennaports", FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0, NULL, HFILL }}, + { &hf_x2ap_NRCarrierList_PDU, + { "NRCarrierList", "x2ap.NRCarrierList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_NRCellPRACHConfig_PDU, + { "NRCellPRACHConfig", "x2ap.NRCellPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_NRCGI_PDU, { "NRCGI", "x2ap.NRCGI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19219,6 +22322,10 @@ void proto_register_x2ap(void) { { "NRNeighbour-Information", "x2ap.NRNeighbour_Information", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_NPRACHConfiguration_PDU, + { "NPRACHConfiguration", "x2ap.NPRACHConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_NRrestrictioninEPSasSecondaryRAT_PDU, { "NRrestrictioninEPSasSecondaryRAT", "x2ap.NRrestrictioninEPSasSecondaryRAT", FT_UINT32, BASE_DEC, VALS(x2ap_NRrestrictioninEPSasSecondaryRAT_vals), 0, @@ -19235,6 +22342,10 @@ void proto_register_x2ap(void) { { "NRUeReport", "x2ap.NRUeReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_NRUESidelinkAggregateMaximumBitRate_PDU, + { "NRUESidelinkAggregateMaximumBitRate", "x2ap.NRUESidelinkAggregateMaximumBitRate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_NRUESecurityCapabilities_PDU, { "NRUESecurityCapabilities", "x2ap.NRUESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19243,6 +22354,10 @@ void proto_register_x2ap(void) { { "NSSS-NumOccasionDifferentPrecoder", "x2ap.NSSS_NumOccasionDifferentPrecoder", FT_UINT32, BASE_DEC, VALS(x2ap_NSSS_NumOccasionDifferentPrecoder_vals), 0, NULL, HFILL }}, + { &hf_x2ap_NRV2XServicesAuthorized_PDU, + { "NRV2XServicesAuthorized", "x2ap.NRV2XServicesAuthorized_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, @@ -19251,6 +22366,10 @@ void proto_register_x2ap(void) { { "Packet-LossRate", "x2ap.Packet_LossRate", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Packet_LossRate_fmt), 0, NULL, HFILL }}, + { &hf_x2ap_PC5QoSParameters_PDU, + { "PC5QoSParameters", "x2ap.PC5QoSParameters_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_PDCPChangeIndication_PDU, { "PDCPChangeIndication", "x2ap.PDCPChangeIndication", FT_UINT32, BASE_DEC, VALS(x2ap_PDCPChangeIndication_vals), 0, @@ -19283,6 +22402,22 @@ void proto_register_x2ap(void) { { "ProtectedEUTRAResourceIndication", "x2ap.ProtectedEUTRAResourceIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_PartialListIndicator_PDU, + { "PartialListIndicator", "x2ap.PartialListIndicator", + FT_UINT32, BASE_DEC, VALS(x2ap_PartialListIndicator_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_PrivacyIndicator_PDU, + { "PrivacyIndicator", "x2ap.PrivacyIndicator", + FT_UINT32, BASE_DEC, VALS(x2ap_PrivacyIndicator_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_QoS_Mapping_Information_PDU, + { "QoS-Mapping-Information", "x2ap.QoS_Mapping_Information_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_RAN_UE_NGAP_ID_PDU, + { "RAN-UE-NGAP-ID", "x2ap.RAN_UE_NGAP_ID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_ReceiveStatusOfULPDCPSDUsExtended_PDU, { "ReceiveStatusOfULPDCPSDUsExtended", "x2ap.ReceiveStatusOfULPDCPSDUsExtended", FT_BYTES, BASE_NONE, NULL, 0, @@ -19291,6 +22426,10 @@ void proto_register_x2ap(void) { { "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", "x2ap.ReceiveStatusOfULPDCPSDUsPDCP_SNlength18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_ReleaseFastMCGRecoveryViaSRB3_PDU, + { "ReleaseFastMCGRecoveryViaSRB3", "x2ap.ReleaseFastMCGRecoveryViaSRB3", + FT_UINT32, BASE_DEC, VALS(x2ap_ReleaseFastMCGRecoveryViaSRB3_vals), 0, + NULL, HFILL }}, { &hf_x2ap_Registration_Request_PDU, { "Registration-Request", "x2ap.Registration_Request", FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0, @@ -19307,6 +22446,14 @@ void proto_register_x2ap(void) { { "ReportingPeriodicityRSRPMR", "x2ap.ReportingPeriodicityRSRPMR", FT_UINT32, BASE_DEC, VALS(x2ap_ReportingPeriodicityRSRPMR_vals), 0, NULL, HFILL }}, + { &hf_x2ap_RequestedFastMCGRecoveryViaSRB3_PDU, + { "RequestedFastMCGRecoveryViaSRB3", "x2ap.RequestedFastMCGRecoveryViaSRB3", + FT_UINT32, BASE_DEC, VALS(x2ap_RequestedFastMCGRecoveryViaSRB3_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_RequestedFastMCGRecoveryViaSRB3Release_PDU, + { "RequestedFastMCGRecoveryViaSRB3Release", "x2ap.RequestedFastMCGRecoveryViaSRB3Release", + FT_UINT32, BASE_DEC, VALS(x2ap_RequestedFastMCGRecoveryViaSRB3Release_vals), 0, + NULL, HFILL }}, { &hf_x2ap_ResumeID_PDU, { "ResumeID", "x2ap.ResumeID", FT_UINT32, BASE_DEC, VALS(x2ap_ResumeID_vals), 0, @@ -19387,6 +22534,10 @@ void proto_register_x2ap(void) { { "SGNB-Addition-Trigger-Ind", "x2ap.SGNB_Addition_Trigger_Ind", FT_UINT32, BASE_DEC, VALS(x2ap_SGNB_Addition_Trigger_Ind_vals), 0, NULL, HFILL }}, + { &hf_x2ap_SNtriggered_PDU, + { "SNtriggered", "x2ap.SNtriggered", + FT_UINT32, BASE_DEC, VALS(x2ap_SNtriggered_vals), 0, + NULL, HFILL }}, { &hf_x2ap_SpectrumSharingGroupID_PDU, { "SpectrumSharingGroupID", "x2ap.SpectrumSharingGroupID", FT_UINT32, BASE_DEC, NULL, 0, @@ -19399,6 +22550,10 @@ void proto_register_x2ap(void) { { "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible", FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0, NULL, HFILL }}, + { &hf_x2ap_SSB_PositionsInBurst_PDU, + { "SSB-PositionsInBurst", "x2ap.SSB_PositionsInBurst", + FT_UINT32, BASE_DEC, VALS(x2ap_SSB_PositionsInBurst_vals), 0, + NULL, HFILL }}, { &hf_x2ap_SubscriberProfileIDforRFP_PDU, { "SubscriberProfileIDforRFP", "x2ap.SubscriberProfileIDforRFP", FT_UINT32, BASE_DEC, NULL, 0, @@ -19423,6 +22578,10 @@ void proto_register_x2ap(void) { { "TAC", "x2ap.TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_TargetCellInNGRAN_PDU, + { "TargetCellInNGRAN", "x2ap.TargetCellInNGRAN", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_TargetCellInUTRAN_PDU, { "TargetCellInUTRAN", "x2ap.TargetCellInUTRAN", FT_BYTES, BASE_NONE, NULL, 0, @@ -19431,6 +22590,10 @@ void proto_register_x2ap(void) { { "TargeteNBtoSource-eNBTransparentContainer", "x2ap.TargeteNBtoSource_eNBTransparentContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_TDDULDLConfigurationCommonNR_PDU, + { "TDDULDLConfigurationCommonNR", "x2ap.TDDULDLConfigurationCommonNR", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_TimeToWait_PDU, { "TimeToWait", "x2ap.TimeToWait", FT_UINT32, BASE_DEC, VALS(x2ap_TimeToWait_vals), 0, @@ -19439,6 +22602,30 @@ void proto_register_x2ap(void) { { "Time-UE-StayedInCell-EnhancedGranularity", "x2ap.Time_UE_StayedInCell_EnhancedGranularity", FT_UINT32, BASE_CUSTOM, CF_FUNC(x2ap_Time_UE_StayedInCell_EnhancedGranularity_fmt), 0, NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Add_List_PDU, + { "TNLA-To-Add-List", "x2ap.TNLA_To_Add_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Update_List_PDU, + { "TNLA-To-Update-List", "x2ap.TNLA_To_Update_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Remove_List_PDU, + { "TNLA-To-Remove-List", "x2ap.TNLA_To_Remove_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_Setup_List_PDU, + { "TNLA-Setup-List", "x2ap.TNLA_Setup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_Failed_To_Setup_List_PDU, + { "TNLA-Failed-To-Setup-List", "x2ap.TNLA_Failed_To_Setup_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLConfigurationInfo_PDU, + { "TNLConfigurationInfo", "x2ap.TNLConfigurationInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_TraceActivation_PDU, { "TraceActivation", "x2ap.TraceActivation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19483,6 +22670,10 @@ void proto_register_x2ap(void) { { "UE-X2AP-ID-Extension", "x2ap.UE_X2AP_ID_Extension", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_UERadioCapabilityID_PDU, + { "UERadioCapabilityID", "x2ap.UERadioCapabilityID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_UE_RLF_Report_Container_PDU, { "UE-RLF-Report-Container", "x2ap.UE_RLF_Report_Container", FT_BYTES, BASE_NONE, NULL, 0, @@ -19507,6 +22698,10 @@ void proto_register_x2ap(void) { { "UL-scheduling-PDCCH-CCE-usage", "x2ap.UL_scheduling_PDCCH_CCE_usage", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_UnlicensedSpectrumRestriction_PDU, + { "UnlicensedSpectrumRestriction", "x2ap.UnlicensedSpectrumRestriction", + FT_UINT32, BASE_DEC, VALS(x2ap_UnlicensedSpectrumRestriction_vals), 0, + NULL, HFILL }}, { &hf_x2ap_UserPlaneTrafficActivityReport_PDU, { "UserPlaneTrafficActivityReport", "x2ap.UserPlaneTrafficActivityReport", FT_UINT32, BASE_DEC, VALS(x2ap_UserPlaneTrafficActivityReport_vals), 0, @@ -19571,6 +22766,14 @@ void proto_register_x2ap(void) { { "HandoverReport", "x2ap.HandoverReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_EarlyStatusTransfer_PDU, + { "EarlyStatusTransfer", "x2ap.EarlyStatusTransfer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ProcedureStageChoice_PDU, + { "ProcedureStageChoice", "x2ap.ProcedureStageChoice", + FT_UINT32, BASE_DEC, VALS(x2ap_ProcedureStageChoice_vals), 0, + NULL, HFILL }}, { &hf_x2ap_SNStatusTransfer_PDU, { "SNStatusTransfer", "x2ap.SNStatusTransfer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -19591,6 +22794,14 @@ void proto_register_x2ap(void) { { "HandoverCancel", "x2ap.HandoverCancel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_HandoverSuccess_PDU, + { "HandoverSuccess", "x2ap.HandoverSuccess_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ConditionalHandoverCancel_PDU, + { "ConditionalHandoverCancel", "x2ap.ConditionalHandoverCancel_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_ErrorIndication_PDU, { "ErrorIndication", "x2ap.ErrorIndication_element", FT_NONE, BASE_NONE, NULL, 0, @@ -20171,6 +23382,10 @@ void proto_register_x2ap(void) { { "ServedNRcellsENDCX2ManagementList", "x2ap.ServedNRcellsENDCX2ManagementList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_CellandCapacityAssistInfo_PDU, + { "CellandCapacityAssistInfo", "x2ap.CellandCapacityAssistInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_CellAssistanceInformation_PDU, { "CellAssistanceInformation", "x2ap.CellAssistanceInformation", FT_UINT32, BASE_DEC, VALS(x2ap_CellAssistanceInformation_vals), 0, @@ -20243,6 +23458,38 @@ void proto_register_x2ap(void) { { "ENDCCellActivationFailure", "x2ap.ENDCCellActivationFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_ENDCResourceStatusRequest_PDU, + { "ENDCResourceStatusRequest", "x2ap.ENDCResourceStatusRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellToReport_ENDC_List_PDU, + { "CellToReport-ENDC-List", "x2ap.CellToReport_ENDC_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellToReport_ENDC_Item_PDU, + { "CellToReport-ENDC-Item", "x2ap.CellToReport_ENDC_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCResourceStatusResponse_PDU, + { "ENDCResourceStatusResponse", "x2ap.ENDCResourceStatusResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCResourceStatusFailure_PDU, + { "ENDCResourceStatusFailure", "x2ap.ENDCResourceStatusFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ENDCResourceStatusUpdate_PDU, + { "ENDCResourceStatusUpdate", "x2ap.ENDCResourceStatusUpdate_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellMeasurementResult_ENDC_List_PDU, + { "CellMeasurementResult-ENDC-List", "x2ap.CellMeasurementResult_ENDC_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellMeasurementResult_ENDC_Item_PDU, + { "CellMeasurementResult-ENDC-Item", "x2ap.CellMeasurementResult_ENDC_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_SecondaryRATDataUsageReport_PDU, { "SecondaryRATDataUsageReport", "x2ap.SecondaryRATDataUsageReport_element", FT_NONE, BASE_NONE, NULL, 0, @@ -20343,6 +23590,14 @@ void proto_register_x2ap(void) { { "DeactivateTrace", "x2ap.DeactivateTrace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_CellTrafficTrace_PDU, + { "CellTrafficTrace", "x2ap.CellTrafficTrace_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_F1CTrafficTransfer_PDU, + { "F1CTrafficTransfer", "x2ap.F1CTrafficTransfer_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, @@ -20563,10 +23818,10 @@ void proto_register_x2ap(void) { { "broadcastPLMNs", "x2ap.broadcastPLMNs", FT_UINT32, BASE_DEC, NULL, 0, "BroadcastextPLMNs", HFILL }}, - { &hf_x2ap_fiveGStac, - { "fiveGStac", "x2ap.fiveGStac", + { &hf_x2ap_fiveGS_TAC, + { "fiveGS-TAC", "x2ap.fiveGS_TAC", FT_UINT24, BASE_DEC_HEX, NULL, 0, - "FiveGS_TAC", HFILL }}, + NULL, HFILL }}, { &hf_x2ap_nr_CI, { "nr-CI", "x2ap.nr_CI", FT_BYTES, BASE_NONE, NULL, 0, @@ -20731,6 +23986,14 @@ void proto_register_x2ap(void) { { "cellReplacingInfo", "x2ap.cellReplacingInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_endpointIPAddress, + { "endpointIPAddress", "x2ap.endpointIPAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_x2ap_endpointIPAddressAndPort, + { "endpointIPAddressAndPort", "x2ap.endpointIPAddressAndPort_element", + FT_NONE, BASE_NONE, NULL, 0, + "TransportLayerAddressAndPort", HFILL }}, { &hf_x2ap_procedureCode, { "procedureCode", "x2ap.procedureCode", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &x2ap_ProcedureCode_vals_ext, 0, @@ -20807,6 +24070,34 @@ void proto_register_x2ap(void) { { "subbandCQIList", "x2ap.subbandCQIList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_cho_trigger, + { "cho-trigger", "x2ap.cho_trigger", + FT_UINT32, BASE_DEC, VALS(x2ap_CHOtrigger_vals), 0, + "CHOtrigger", HFILL }}, + { &hf_x2ap_new_eNB_UE_X2AP_ID, + { "new-eNB-UE-X2AP-ID", "x2ap.new_eNB_UE_X2AP_ID", + FT_UINT32, BASE_DEC, NULL, 0, + "UE_X2AP_ID", HFILL }}, + { &hf_x2ap_new_eNB_UE_X2AP_ID_Extension, + { "new-eNB-UE-X2AP-ID-Extension", "x2ap.new_eNB_UE_X2AP_ID_Extension", + FT_UINT32, BASE_DEC, NULL, 0, + "UE_X2AP_ID_Extension", HFILL }}, + { &hf_x2ap_cHO_EstimatedArrivalProbability, + { "cHO-EstimatedArrivalProbability", "x2ap.cHO_EstimatedArrivalProbability", + FT_UINT32, BASE_DEC, NULL, 0, + "CHO_Probability", HFILL }}, + { &hf_x2ap_requestedTargetCellID, + { "requestedTargetCellID", "x2ap.requestedTargetCellID_element", + FT_NONE, BASE_NONE, NULL, 0, + "ECGI", HFILL }}, + { &hf_x2ap_maxCHOpreparations, + { "maxCHOpreparations", "x2ap.maxCHOpreparations", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CandidateCellsToBeCancelledList_item, + { "ECGI", "x2ap.ECGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_activationSFN, { "activationSFN", "x2ap.activationSFN", FT_UINT32, BASE_DEC, NULL, 0, @@ -20819,6 +24110,14 @@ void proto_register_x2ap(void) { { "reservedSubframePattern", "x2ap.reservedSubframePattern_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_dAPSIndicator, + { "dAPSIndicator", "x2ap.dAPSIndicator", + FT_UINT32, BASE_DEC, VALS(x2ap_T_dAPSIndicator_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_dAPSResponseIndicator, + { "dAPSResponseIndicator", "x2ap.dAPSResponseIndicator", + FT_UINT32, BASE_DEC, VALS(x2ap_T_dAPSResponseIndicator_vals), 0, + NULL, HFILL }}, { &hf_x2ap_highestSuccessDeliveredPDCPSN, { "highestSuccessDeliveredPDCPSN", "x2ap.highestSuccessDeliveredPDCPSN", FT_UINT32, BASE_DEC, NULL, 0, @@ -20939,6 +24238,38 @@ void proto_register_x2ap(void) { { "cause", "x2ap.cause", FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0, NULL, HFILL }}, + { &hf_x2ap_E_RABsSubjectToEarlyStatusTransfer_List_item, + { "E-RABsSubjectToEarlyStatusTransfer-Item", "x2ap.E_RABsSubjectToEarlyStatusTransfer_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_fIRST_DL_COUNTValue, + { "fIRST-DL-COUNTValue", "x2ap.fIRST_DL_COUNTValue_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTvalue", HFILL }}, + { &hf_x2ap_fIRST_DL_COUNTValueExtended, + { "fIRST-DL-COUNTValueExtended", "x2ap.fIRST_DL_COUNTValueExtended_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTValueExtended", HFILL }}, + { &hf_x2ap_fIRST_DL_COUNTValueforPDCPSNLength18, + { "fIRST-DL-COUNTValueforPDCPSNLength18", "x2ap.fIRST_DL_COUNTValueforPDCPSNLength18_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTvaluePDCP_SNlength18", HFILL }}, + { &hf_x2ap_E_RABsSubjectToDLDiscarding_List_item, + { "E-RABsSubjectToDLDiscarding-Item", "x2ap.E_RABsSubjectToDLDiscarding_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_dISCARD_DL_COUNTValue, + { "dISCARD-DL-COUNTValue", "x2ap.dISCARD_DL_COUNTValue_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTvalue", HFILL }}, + { &hf_x2ap_dISCARD_DL_COUNTValueExtended, + { "dISCARD-DL-COUNTValueExtended", "x2ap.dISCARD_DL_COUNTValueExtended_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTValueExtended", HFILL }}, + { &hf_x2ap_dISCARD_DL_COUNTValueforPDCPSNLength18, + { "dISCARD-DL-COUNTValueforPDCPSNLength18", "x2ap.dISCARD_DL_COUNTValueforPDCPSNLength18_element", + FT_NONE, BASE_NONE, NULL, 0, + "COUNTvaluePDCP_SNlength18", HFILL }}, { &hf_x2ap_E_RABUsageReportList_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, @@ -20995,6 +24326,10 @@ void proto_register_x2ap(void) { { "extended-ul-InterferenceOverloadIndication", "x2ap.extended_ul_InterferenceOverloadIndication", FT_UINT32, BASE_DEC, NULL, 0, "UL_InterferenceOverloadIndication", HFILL }}, + { &hf_x2ap_rrcContainer, + { "rrcContainer", "x2ap.rrcContainer", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_uL_EARFCN, { "uL-EARFCN", "x2ap.uL_EARFCN", FT_UINT32, BASE_DEC, NULL, 0, @@ -21079,6 +24414,14 @@ void proto_register_x2ap(void) { { "gNB-ID", "x2ap.gNB_ID", FT_UINT32, BASE_DEC, VALS(x2ap_GNB_ID_vals), 0, NULL, HFILL }}, + { &hf_x2ap_GTPTLAs_item, + { "GTPTLA-Item", "x2ap.GTPTLA_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_gTPTransportLayerAddresses, + { "gTPTransportLayerAddresses", "x2ap.gTPTransportLayerAddresses", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, { &hf_x2ap_transportLayerAddress, { "transportLayerAddress", "x2ap.transportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, @@ -21135,6 +24478,10 @@ void proto_register_x2ap(void) { { "uLHWLoadIndicator", "x2ap.uLHWLoadIndicator", FT_UINT32, BASE_DEC, VALS(x2ap_LoadIndicator_vals), 0, "LoadIndicator", HFILL }}, + { &hf_x2ap_ie_Extensions, + { "ie-Extensions", "x2ap.ie_Extensions", + FT_UINT32, BASE_DEC, NULL, 0, + "ProtocolExtensionContainer", HFILL }}, { &hf_x2ap_e_UTRAN_Cell, { "e-UTRAN-Cell", "x2ap.e_UTRAN_Cell_element", FT_NONE, BASE_NONE, NULL, 0, @@ -21315,11 +24662,15 @@ void proto_register_x2ap(void) { { "BandInfo", "x2ap.BandInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_maximumCellListSize, + { "maximumCellListSize", "x2ap.maximumCellListSize", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_freqBandIndicator, { "freqBandIndicator", "x2ap.freqBandIndicator", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_x2ap_rrcContainer, + { &hf_x2ap_rrcContainer_01, { "rrcContainer", "x2ap.rrcContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -21343,6 +24694,46 @@ void proto_register_x2ap(void) { { "eARFCN", "x2ap.eARFCN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_capacityValue_01, + { "capacityValue", "x2ap.capacityValue", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaCapacityValue_List, + { "ssbAreaCapacityValue-List", "x2ap.ssbAreaCapacityValue_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_NRCarrierList_item, + { "NRCarrierItem", "x2ap.NRCarrierItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_carrierSCS, + { "carrierSCS", "x2ap.carrierSCS", + FT_UINT32, BASE_DEC, VALS(x2ap_NRSCS_vals), 0, + "NRSCS", HFILL }}, + { &hf_x2ap_offsetToCarrier, + { "offsetToCarrier", "x2ap.offsetToCarrier", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_2199_", HFILL }}, + { &hf_x2ap_carrierBandwidth, + { "carrierBandwidth", "x2ap.carrierBandwidth", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_maxnoofPhysicalResourceBlocks_", HFILL }}, + { &hf_x2ap_compositeAvailableCapacityDL, + { "compositeAvailableCapacityDL", "x2ap.compositeAvailableCapacityDL_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCompositeAvailableCapacity", HFILL }}, + { &hf_x2ap_compositeAvailableCapacityUL, + { "compositeAvailableCapacityUL", "x2ap.compositeAvailableCapacityUL_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCompositeAvailableCapacity", HFILL }}, + { &hf_x2ap_cellCapacityClassValue_01, + { "cellCapacityClassValue", "x2ap.cellCapacityClassValue", + FT_UINT32, BASE_DEC, NULL, 0, + "NRCellCapacityClassValue", HFILL }}, + { &hf_x2ap_capacityValue_02, + { "capacityValue", "x2ap.capacityValue_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCapacityValue", HFILL }}, { &hf_x2ap_nRARFCN, { "nRARFCN", "x2ap.nRARFCN", FT_UINT32, BASE_DEC, NULL, 0, @@ -21375,10 +24766,6 @@ void proto_register_x2ap(void) { { "nrCellID", "x2ap.nrCellID_element", FT_NONE, BASE_NONE, NULL, 0, "NRCGI", HFILL }}, - { &hf_x2ap_fiveGS_TAC, - { "fiveGS-TAC", "x2ap.fiveGS_TAC", - FT_UINT24, BASE_DEC_HEX, NULL, 0, - NULL, HFILL }}, { &hf_x2ap_configured_TAC, { "configured-TAC", "x2ap.configured_TAC", FT_UINT16, BASE_DEC_HEX, NULL, 0, @@ -21399,6 +24786,74 @@ void proto_register_x2ap(void) { { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_InfoNeighbourServedNRCell_Information", HFILL }}, + { &hf_x2ap_fdd_or_tdd, + { "fdd-or-tdd", "x2ap.fdd_or_tdd", + FT_UINT32, BASE_DEC, VALS(x2ap_T_fdd_or_tdd_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_fdd_02, + { "fdd", "x2ap.fdd_element", + FT_NONE, BASE_NONE, NULL, 0, + "NPRACHConfiguration_FDD", HFILL }}, + { &hf_x2ap_tdd_02, + { "tdd", "x2ap.tdd_element", + FT_NONE, BASE_NONE, NULL, 0, + "NPRACHConfiguration_TDD", HFILL }}, + { &hf_x2ap_nprach_CP_length, + { "nprach-CP-length", "x2ap.nprach_CP_length", + FT_UINT32, BASE_DEC, VALS(x2ap_NPRACH_CP_Length_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_anchorCarrier_NPRACHConfig, + { "anchorCarrier-NPRACHConfig", "x2ap.anchorCarrier_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_anchorCarrier_EDT_NPRACHConfig, + { "anchorCarrier-EDT-NPRACHConfig", "x2ap.anchorCarrier_EDT_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + "T_anchorCarrier_EDT_NPRACHConfig", HFILL }}, + { &hf_x2ap_anchorCarrier_Format2_NPRACHConfig, + { "anchorCarrier-Format2-NPRACHConfig", "x2ap.anchorCarrier_Format2_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, + { "anchorCarrier-Format2-EDT-NPRACHConfig", "x2ap.anchorCarrier_Format2_EDT_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + "T_anchorCarrier_Format2_EDT_NPRACHConfig", HFILL }}, + { &hf_x2ap_non_anchorCarrier_NPRACHConfig, + { "non-anchorCarrier-NPRACHConfig", "x2ap.non_anchorCarrier_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_non_anchorCarrier_Format2_NPRACHConfig, + { "non-anchorCarrier-Format2-NPRACHConfig", "x2ap.non_anchorCarrier_Format2_NPRACHConfig", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_nprach_preambleFormat, + { "nprach-preambleFormat", "x2ap.nprach_preambleFormat", + FT_UINT32, BASE_DEC, VALS(x2ap_NPRACH_preambleFormat_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_anchorCarrier_NPRACHConfigTDD, + { "anchorCarrier-NPRACHConfigTDD", "x2ap.anchorCarrier_NPRACHConfigTDD", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_non_anchorCarrierFequencyConfiglist, + { "non-anchorCarrierFequencyConfiglist", "x2ap.non_anchorCarrierFequencyConfiglist", + FT_UINT32, BASE_DEC, NULL, 0, + "Non_AnchorCarrierFrequencylist", HFILL }}, + { &hf_x2ap_non_anchorCarrier_NPRACHConfigTDD, + { "non-anchorCarrier-NPRACHConfigTDD", "x2ap.non_anchorCarrier_NPRACHConfigTDD", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_Non_AnchorCarrierFrequencylist_item, + { "Non-AnchorCarrierFrequencylist item", "x2ap.Non_AnchorCarrierFrequencylist_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_non_anchorCarrioerFrquency, + { "non-anchorCarrioerFrquency", "x2ap.non_anchorCarrioerFrquency", + FT_BYTES, BASE_NONE, NULL, 0, + "Non_anchorCarrierFrequency", HFILL }}, + { &hf_x2ap_ssbAreaRadioResourceStatus_List, + { "ssbAreaRadioResourceStatus-List", "x2ap.ssbAreaRadioResourceStatus_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_nRSCS, { "nRSCS", "x2ap.nRSCS", FT_UINT32, BASE_DEC, VALS(x2ap_NRSCS_vals), 0, @@ -21411,6 +24866,10 @@ void proto_register_x2ap(void) { { "uENRMeasurements", "x2ap.uENRMeasurements", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_uESidelinkAggregateMaximumBitRate, + { "uESidelinkAggregateMaximumBitRate", "x2ap.uESidelinkAggregateMaximumBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, { &hf_x2ap_nRencryptionAlgorithms, { "nRencryptionAlgorithms", "x2ap.nRencryptionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, @@ -21419,6 +24878,46 @@ void proto_register_x2ap(void) { { "nRintegrityProtectionAlgorithms", "x2ap.nRintegrityProtectionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_vehicleUE, + { "vehicleUE", "x2ap.vehicleUE", + FT_UINT32, BASE_DEC, VALS(x2ap_VehicleUE_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_pedestrianUE, + { "pedestrianUE", "x2ap.pedestrianUE", + FT_UINT32, BASE_DEC, VALS(x2ap_PedestrianUE_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_pc5QoSFlowList, + { "pc5QoSFlowList", "x2ap.pc5QoSFlowList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_pc5LinkAggregatedBitRates, + { "pc5LinkAggregatedBitRates", "x2ap.pc5LinkAggregatedBitRates", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_x2ap_PC5QoSFlowList_item, + { "PC5QoSFlowItem", "x2ap.PC5QoSFlowItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_pQI, + { "pQI", "x2ap.pQI", + FT_UINT32, BASE_DEC, NULL, 0, + "FiveQI", HFILL }}, + { &hf_x2ap_pc5FlowBitRates, + { "pc5FlowBitRates", "x2ap.pc5FlowBitRates_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_range, + { "range", "x2ap.range", + FT_UINT32, BASE_DEC, VALS(x2ap_Range_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_guaranteedFlowBitRate, + { "guaranteedFlowBitRate", "x2ap.guaranteedFlowBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, + { &hf_x2ap_maximumFlowBitRate, + { "maximumFlowBitRate", "x2ap.maximumFlowBitRate", + FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, + "BitRate", HFILL }}, { &hf_x2ap_rootSequenceIndex, { "rootSequenceIndex", "x2ap.rootSequenceIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -21495,6 +24994,14 @@ void proto_register_x2ap(void) { { "protectedFootprintTimePattern", "x2ap.protectedFootprintTimePattern_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_dscp, + { "dscp", "x2ap.dscp", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_6", HFILL }}, + { &hf_x2ap_flow_label, + { "flow-label", "x2ap.flow_label", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_20", HFILL }}, { &hf_x2ap_dL_GBR_PRB_usage, { "dL-GBR-PRB-usage", "x2ap.dL_GBR_PRB_usage", FT_UINT32, BASE_DEC, NULL, 0, @@ -21691,6 +25198,70 @@ void proto_register_x2ap(void) { { "timeofDayEnd", "x2ap.timeofDayEnd", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "INTEGER_0_86399_", HFILL }}, + { &hf_x2ap_SSBAreaCapacityValue_List_item, + { "SSBAreaCapacityValue-Item", "x2ap.SSBAreaCapacityValue_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ssbIndex, + { "ssbIndex", "x2ap.ssbIndex", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ssbAreaCapacityValue, + { "ssbAreaCapacityValue", "x2ap.ssbAreaCapacityValue", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_SSBAreaRadioResourceStatus_List_item, + { "SSBAreaRadioResourceStatus-Item", "x2ap.SSBAreaRadioResourceStatus_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_ssbAreaDLGBRPRBUsage, + { "ssbAreaDLGBRPRBUsage", "x2ap.ssbAreaDLGBRPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaULGBRPRBUsage, + { "ssbAreaULGBRPRBUsage", "x2ap.ssbAreaULGBRPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaDLNonGBRPRBUsage, + { "ssbAreaDLNonGBRPRBUsage", "x2ap.ssbAreaDLNonGBRPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaULNonGBRPRBUsage, + { "ssbAreaULNonGBRPRBUsage", "x2ap.ssbAreaULNonGBRPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaDLTotalPRBUsage, + { "ssbAreaDLTotalPRBUsage", "x2ap.ssbAreaDLTotalPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaULTotalPRBUsage, + { "ssbAreaULTotalPRBUsage", "x2ap.ssbAreaULTotalPRBUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaDLSchedulingPDCCHCCEUsage, + { "ssbAreaDLSchedulingPDCCHCCEUsage", "x2ap.ssbAreaDLSchedulingPDCCHCCEUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_ssbAreaULSchedulingPDCCHCCEUsage, + { "ssbAreaULSchedulingPDCCHCCEUsage", "x2ap.ssbAreaULSchedulingPDCCHCCEUsage", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100", HFILL }}, + { &hf_x2ap_shortBitmap, + { "shortBitmap", "x2ap.shortBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_x2ap_mediumBitmap, + { "mediumBitmap", "x2ap.mediumBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_8", HFILL }}, + { &hf_x2ap_longBitmap, + { "longBitmap", "x2ap.longBitmap", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_64", HFILL }}, + { &hf_x2ap_choice_extension, + { "choice-extension", "x2ap.choice_extension_element", + FT_NONE, BASE_NONE, NULL, 0, + "ProtocolIE_Single_Container", HFILL }}, { &hf_x2ap_four_bitCQI, { "four-bitCQI", "x2ap.four_bitCQI", FT_UINT32, BASE_DEC, NULL, 0, @@ -21783,6 +25354,78 @@ void proto_register_x2ap(void) { { "nRFreqInfo", "x2ap.nRFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Add_List_item, + { "TNLA-To-Add-Item", "x2ap.TNLA_To_Add_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_tNLAssociationTransportLayerAddress, + { "tNLAssociationTransportLayerAddress", "x2ap.tNLAssociationTransportLayerAddress", + FT_UINT32, BASE_DEC, VALS(x2ap_CPTransportLayerInformation_vals), 0, + "CPTransportLayerInformation", HFILL }}, + { &hf_x2ap_tNLAssociationUsage, + { "tNLAssociationUsage", "x2ap.tNLAssociationUsage", + FT_UINT32, BASE_DEC, VALS(x2ap_TNLAssociationUsage_vals), 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Update_List_item, + { "TNLA-To-Update-Item", "x2ap.TNLA_To_Update_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_To_Remove_List_item, + { "TNLA-To-Remove-Item", "x2ap.TNLA_To_Remove_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_Setup_List_item, + { "TNLA-Setup-Item", "x2ap.TNLA_Setup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_TNLA_Failed_To_Setup_List_item, + { "TNLA-Failed-To-Setup-Item", "x2ap.TNLA_Failed_To_Setup_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_dlTNLMaximumOfferedCapacity, + { "dlTNLMaximumOfferedCapacity", "x2ap.dlTNLMaximumOfferedCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16777216_", HFILL }}, + { &hf_x2ap_dlTNLAvailableCapacity, + { "dlTNLAvailableCapacity", "x2ap.dlTNLAvailableCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_x2ap_ulTNLMaximumOfferedCapacity, + { "ulTNLMaximumOfferedCapacity", "x2ap.ulTNLMaximumOfferedCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_16777216_", HFILL }}, + { &hf_x2ap_ulTNLAvailableCapacity, + { "ulTNLAvailableCapacity", "x2ap.ulTNLAvailableCapacity", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_100_", HFILL }}, + { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List_item, + { "Transport-UP-Layer-Addresses-Info-To-Add-Item", "x2ap.Transport_UP_Layer_Addresses_Info_To_Add_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_iP_SecTransportLayerAddress, + { "iP-SecTransportLayerAddress", "x2ap.iP_SecTransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_x2ap_gTPTransportLayerAddressesToAdd, + { "gTPTransportLayerAddressesToAdd", "x2ap.gTPTransportLayerAddressesToAdd", + FT_UINT32, BASE_DEC, NULL, 0, + "GTPTLAs", HFILL }}, + { &hf_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List_item, + { "Transport-UP-Layer-Addresses-Info-To-Remove-Item", "x2ap.Transport_UP_Layer_Addresses_Info_To_Remove_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_gTPTransportLayerAddressesToRemove, + { "gTPTransportLayerAddressesToRemove", "x2ap.gTPTransportLayerAddressesToRemove", + FT_UINT32, BASE_DEC, NULL, 0, + "GTPTLAs", HFILL }}, + { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Add_List, + { "transport-UP-Layer-Addresses-Info-To-Add-List", "x2ap.transport_UP_Layer_Addresses_Info_To_Add_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_transport_UP_Layer_Addresses_Info_To_Remove_List, + { "transport-UP-Layer-Addresses-Info-To-Remove-List", "x2ap.transport_UP_Layer_Addresses_Info_To_Remove_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_eUTRANTraceID, { "eUTRANTraceID", "x2ap.eUTRANTraceID", FT_BYTES, BASE_NONE, NULL, 0, @@ -21799,6 +25442,10 @@ void proto_register_x2ap(void) { { "traceCollectionEntityIPAddress", "x2ap.traceCollectionEntityIPAddress", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_portnumber, + { "portnumber", "x2ap.portnumber", + FT_UINT16, BASE_DEC, NULL, 0, + "Port_Number", HFILL }}, { &hf_x2ap_uDP_Port_Number, { "uDP-Port-Number", "x2ap.uDP_Port_Number", FT_UINT16, BASE_DEC, NULL, 0, @@ -21831,10 +25478,6 @@ void proto_register_x2ap(void) { { "integrityProtectionAlgorithms", "x2ap.integrityProtectionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_x2ap_uESidelinkAggregateMaximumBitRate, - { "uESidelinkAggregateMaximumBitRate", "x2ap.uESidelinkAggregateMaximumBitRate", - FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0, - "BitRate", HFILL }}, { &hf_x2ap_UEsToBeResetList_item, { "UEsToBeResetList-Item", "x2ap.UEsToBeResetList_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -21887,11 +25530,11 @@ void proto_register_x2ap(void) { { "changed", "x2ap.changed", FT_BYTES, BASE_NONE, NULL, 0, "ULResourceBitmapULandDLSharing", HFILL }}, - { &hf_x2ap_fdd_02, + { &hf_x2ap_fdd_03, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "UsableABSInformationFDD", HFILL }}, - { &hf_x2ap_tdd_02, + { &hf_x2ap_tdd_03, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "UsableABSInformationTDD", HFILL }}, @@ -21903,14 +25546,6 @@ void proto_register_x2ap(void) { { "usaable-abs-pattern-info", "x2ap.usaable_abs_pattern_info", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_70_", HFILL }}, - { &hf_x2ap_vehicleUE, - { "vehicleUE", "x2ap.vehicleUE", - FT_UINT32, BASE_DEC, VALS(x2ap_VehicleUE_vals), 0, - NULL, HFILL }}, - { &hf_x2ap_pedestrianUE, - { "pedestrianUE", "x2ap.pedestrianUE", - FT_UINT32, BASE_DEC, VALS(x2ap_PedestrianUE_vals), 0, - NULL, HFILL }}, { &hf_x2ap_widebandCQICodeword0, { "widebandCQICodeword0", "x2ap.widebandCQICodeword0", FT_UINT32, BASE_DEC, NULL, 0, @@ -22047,6 +25682,22 @@ void proto_register_x2ap(void) { { "dL-GTP-TunnelEndpoint", "x2ap.dL_GTP_TunnelEndpoint_element", FT_NONE, BASE_NONE, NULL, 0, "GTPtunnelEndpoint", HFILL }}, + { &hf_x2ap_first_dl_count, + { "first-dl-count", "x2ap.first_dl_count_element", + FT_NONE, BASE_NONE, NULL, 0, + "FirstDLCount", HFILL }}, + { &hf_x2ap_dl_discarding, + { "dl-discarding", "x2ap.dl_discarding_element", + FT_NONE, BASE_NONE, NULL, 0, + "DLDiscarding", HFILL }}, + { &hf_x2ap_e_RABsSubjectToEarlyStatusTransfer, + { "e-RABsSubjectToEarlyStatusTransfer", "x2ap.e_RABsSubjectToEarlyStatusTransfer", + FT_UINT32, BASE_DEC, NULL, 0, + "E_RABsSubjectToEarlyStatusTransfer_List", HFILL }}, + { &hf_x2ap_e_RABsSubjectToDLDiscarding_List, + { "e-RABsSubjectToDLDiscarding-List", "x2ap.e_RABsSubjectToDLDiscarding_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_x2ap_E_RABs_SubjectToStatusTransfer_List_item, { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", FT_NONE, BASE_NONE, NULL, 0, @@ -22747,11 +26398,11 @@ void proto_register_x2ap(void) { { "nrModeInfo", "x2ap.nrModeInfo", FT_UINT32, BASE_DEC, VALS(x2ap_T_nrModeInfo_vals), 0, NULL, HFILL }}, - { &hf_x2ap_fdd_03, + { &hf_x2ap_fdd_04, { "fdd", "x2ap.fdd_element", FT_NONE, BASE_NONE, NULL, 0, "FDD_InfoServedNRCell_Information", HFILL }}, - { &hf_x2ap_tdd_03, + { &hf_x2ap_tdd_04, { "tdd", "x2ap.tdd_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_InfoServedNRCell_Information", HFILL }}, @@ -22771,6 +26422,10 @@ void proto_register_x2ap(void) { { "nR-TxBW", "x2ap.nR_TxBW_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_cellAssistanceInformation, + { "cellAssistanceInformation", "x2ap.cellAssistanceInformation", + FT_UINT32, BASE_DEC, VALS(x2ap_CellAssistanceInformation_vals), 0, + NULL, HFILL }}, { &hf_x2ap_limited_list, { "limited-list", "x2ap.limited_list", FT_UINT32, BASE_DEC, NULL, 0, @@ -22835,6 +26490,42 @@ void proto_register_x2ap(void) { { "ActivatedNRCellList-Item", "x2ap.ActivatedNRCellList_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_x2ap_CellToReport_ENDC_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_cell_ID_01, + { "cell-ID", "x2ap.cell_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCGI", HFILL }}, + { &hf_x2ap_ssbToReport_List, + { "ssbToReport-List", "x2ap.ssbToReport_List", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_SSBToReport_List_item, + { "SSBToReport-Item", "x2ap.SSBToReport_Item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_CellMeasurementResult_ENDC_List_item, + { "ProtocolIE-Single-Container", "x2ap.ProtocolIE_Single_Container_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_radioResourceStatus_01, + { "radioResourceStatus", "x2ap.radioResourceStatus_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRRadioResourceStatus", HFILL }}, + { &hf_x2ap_tnlCapacityIndicator, + { "tnlCapacityIndicator", "x2ap.tnlCapacityIndicator_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_x2ap_compositeAvailableCapacityGroup, + { "compositeAvailableCapacityGroup", "x2ap.compositeAvailableCapacityGroup_element", + FT_NONE, BASE_NONE, NULL, 0, + "NRCompositeAvailableCapacityGroup", HFILL }}, + { &hf_x2ap_numberofActiveUEs, + { "numberofActiveUEs", "x2ap.numberofActiveUEs", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_16777215_", HFILL }}, { &hf_x2ap_initiate_eNB, { "initiate-eNB", "x2ap.initiate_eNB", FT_UINT32, BASE_DEC, NULL, 0, @@ -22897,7 +26588,7 @@ void proto_register_x2ap(void) { "UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-x2ap-hfarr.c ---*/ -#line 578 "./asn1/x2ap/packet-x2ap-template.c" +#line 639 "./asn1/x2ap/packet-x2ap-template.c" }; /* List of subtrees */ @@ -22933,6 +26624,19 @@ void proto_register_x2ap(void) { &ett_x2ap_LastVisitedUTRANCellInformation, &ett_x2ap_EndcSONConfigurationTransfer, &ett_x2ap_EPCHandoverRestrictionListContainer, + &ett_x2ap_NBIoT_RLF_Report_Container, + &ett_x2ap_anchorCarrier_NPRACHConfig, + &ett_x2ap_anchorCarrier_EDT_NPRACHConfig, + &ett_x2ap_anchorCarrier_Format2_NPRACHConfig, + &ett_x2ap_anchorCarrier_Format2_EDT_NPRACHConfig, + &ett_x2ap_non_anchorCarrier_NPRACHConfig, + &ett_x2ap_non_anchorCarrier_Format2_NPRACHConfig, + &ett_x2ap_anchorCarrier_NPRACHConfigTDD, + &ett_x2ap_non_anchorCarrier_NPRACHConfigTDD, + &ett_x2ap_Non_anchorCarrierFrequency, + &ett_x2ap_ReportCharacteristics_ENDC, + &ett_x2ap_TargetCellInNGRAN, + &ett_x2ap_TDDULDLConfigurationCommonNR, /*--- Included file: packet-x2ap-ettarr.c ---*/ #line 1 "./asn1/x2ap/packet-x2ap-ettarr.c" @@ -22985,6 +26689,7 @@ void proto_register_x2ap(void) { &ett_x2ap_COUNTvaluePDCP_SNlength18, &ett_x2ap_CoverageModificationList, &ett_x2ap_CoverageModification_Item, + &ett_x2ap_CPTransportLayerInformation, &ett_x2ap_CriticalityDiagnostics, &ett_x2ap_CriticalityDiagnostics_IE_List, &ett_x2ap_CriticalityDiagnostics_IE_List_item, @@ -22994,7 +26699,12 @@ void proto_register_x2ap(void) { &ett_x2ap_CSIReportPerCSIProcess_item, &ett_x2ap_CSIReportPerCSIProcessItem, &ett_x2ap_CSIReportPerCSIProcessItem_item, + &ett_x2ap_CHOinformation_REQ, + &ett_x2ap_CHOinformation_ACK, + &ett_x2ap_CandidateCellsToBeCancelledList, &ett_x2ap_DataTrafficResourceIndication, + &ett_x2ap_DAPSRequestInfo, + &ett_x2ap_DAPSResponseInfo, &ett_x2ap_DeliveryStatus, &ett_x2ap_DLResourcesULandDLSharing, &ett_x2ap_DynamicDLTransmissionInformation, @@ -23011,12 +26721,17 @@ void proto_register_x2ap(void) { &ett_x2ap_E_RAB_Level_QoS_Parameters, &ett_x2ap_E_RAB_List, &ett_x2ap_E_RAB_Item, + &ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_List, + &ett_x2ap_E_RABsSubjectToEarlyStatusTransfer_Item, + &ett_x2ap_E_RABsSubjectToDLDiscarding_List, + &ett_x2ap_E_RABsSubjectToDLDiscarding_Item, &ett_x2ap_E_RABUsageReportList, &ett_x2ap_E_RABUsageReport_Item, &ett_x2ap_EUTRA_Mode_Info, &ett_x2ap_ExpectedUEBehaviour, &ett_x2ap_ExpectedUEActivityBehaviour, &ett_x2ap_ExtendedULInterferenceOverloadInfo, + &ett_x2ap_FastMCGRecovery, &ett_x2ap_FDD_Info, &ett_x2ap_FDD_InfoNeighbourServedNRCell_Information, &ett_x2ap_ForbiddenTAs, @@ -23030,6 +26745,8 @@ void proto_register_x2ap(void) { &ett_x2ap_GBR_QosInformation, &ett_x2ap_GlobalENB_ID, &ett_x2ap_GlobalGNB_ID, + &ett_x2ap_GTPTLAs, + &ett_x2ap_GTPTLA_Item, &ett_x2ap_GTPtunnelEndpoint, &ett_x2ap_GUGroupIDList, &ett_x2ap_GU_Group_ID, @@ -23037,6 +26754,7 @@ void proto_register_x2ap(void) { &ett_x2ap_GNB_ID, &ett_x2ap_HandoverRestrictionList, &ett_x2ap_HWLoadIndicator, + &ett_x2ap_IABInformation, &ett_x2ap_LastVisitedCell_Item, &ett_x2ap_LastVisitedEUTRANCellInformation, &ett_x2ap_LastVisitedGERANCellInformation, @@ -23059,19 +26777,38 @@ void proto_register_x2ap(void) { &ett_x2ap_MobilityParametersModificationRange, &ett_x2ap_MobilityParametersInformation, &ett_x2ap_MultibandInfoList, + &ett_x2ap_MessageOversizeNotification, &ett_x2ap_BandInfo, &ett_x2ap_SplitSRB, &ett_x2ap_Neighbour_Information, &ett_x2ap_Neighbour_Information_item, + &ett_x2ap_NRCapacityValue, + &ett_x2ap_NRCarrierList, + &ett_x2ap_NRCarrierItem, + &ett_x2ap_NRCompositeAvailableCapacityGroup, + &ett_x2ap_NRCompositeAvailableCapacity, &ett_x2ap_NRFreqInfo, &ett_x2ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, &ett_x2ap_NRCGI, &ett_x2ap_NRNeighbour_Information, &ett_x2ap_NRNeighbour_Information_item, &ett_x2ap_T_nRNeighbourModeInfo, + &ett_x2ap_NPRACHConfiguration, + &ett_x2ap_T_fdd_or_tdd, + &ett_x2ap_NPRACHConfiguration_FDD, + &ett_x2ap_NPRACHConfiguration_TDD, + &ett_x2ap_Non_AnchorCarrierFrequencylist, + &ett_x2ap_Non_AnchorCarrierFrequencylist_item, + &ett_x2ap_NRRadioResourceStatus, &ett_x2ap_NR_TxBW, &ett_x2ap_NRUeReport, + &ett_x2ap_NRUESidelinkAggregateMaximumBitRate, &ett_x2ap_NRUESecurityCapabilities, + &ett_x2ap_NRV2XServicesAuthorized, + &ett_x2ap_PC5QoSParameters, + &ett_x2ap_PC5QoSFlowList, + &ett_x2ap_PC5QoSFlowItem, + &ett_x2ap_PC5FlowBitRates, &ett_x2ap_PRACH_Configuration, &ett_x2ap_PLMNAreaBasedQMC, &ett_x2ap_PLMNListforQMC, @@ -23080,6 +26817,7 @@ void proto_register_x2ap(void) { &ett_x2ap_ProtectedFootprintTimePattern, &ett_x2ap_ProtectedResourceList, &ett_x2ap_ProtectedResourceList_Item, + &ett_x2ap_QoS_Mapping_Information, &ett_x2ap_RadioResourceStatus, &ett_x2ap_RelativeNarrowbandTxPower, &ett_x2ap_ReplacingCellsList, @@ -23103,6 +26841,11 @@ void proto_register_x2ap(void) { &ett_x2ap_SubbandCQI, &ett_x2ap_Subscription_Based_UE_DifferentiationInfo, &ett_x2ap_ScheduledCommunicationTime, + &ett_x2ap_SSBAreaCapacityValue_List, + &ett_x2ap_SSBAreaCapacityValue_Item, + &ett_x2ap_SSBAreaRadioResourceStatus_List, + &ett_x2ap_SSBAreaRadioResourceStatus_Item, + &ett_x2ap_SSB_PositionsInBurst, &ett_x2ap_SubbandCQICodeword0, &ett_x2ap_SubbandCQICodeword1, &ett_x2ap_SubbandCQIList, @@ -23121,7 +26864,24 @@ void proto_register_x2ap(void) { &ett_x2ap_TAIListforQMC, &ett_x2ap_TDD_Info, &ett_x2ap_TDD_InfoNeighbourServedNRCell_Information, + &ett_x2ap_TNLA_To_Add_List, + &ett_x2ap_TNLA_To_Add_Item, + &ett_x2ap_TNLA_To_Update_List, + &ett_x2ap_TNLA_To_Update_Item, + &ett_x2ap_TNLA_To_Remove_List, + &ett_x2ap_TNLA_To_Remove_Item, + &ett_x2ap_TNLA_Setup_List, + &ett_x2ap_TNLA_Setup_Item, + &ett_x2ap_TNLA_Failed_To_Setup_List, + &ett_x2ap_TNLA_Failed_To_Setup_Item, + &ett_x2ap_TNLCapacityIndicator, + &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_List, + &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Add_Item, + &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_List, + &ett_x2ap_Transport_UP_Layer_Addresses_Info_To_Remove_Item, + &ett_x2ap_TNLConfigurationInfo, &ett_x2ap_TraceActivation, + &ett_x2ap_TransportLayerAddressAndPort, &ett_x2ap_TunnelInformation, &ett_x2ap_UEAggregateMaximumBitRate, &ett_x2ap_UEAppLayerMeasConfig, @@ -23159,11 +26919,17 @@ void proto_register_x2ap(void) { &ett_x2ap_E_RABs_Admitted_Item, &ett_x2ap_HandoverPreparationFailure, &ett_x2ap_HandoverReport, + &ett_x2ap_EarlyStatusTransfer, + &ett_x2ap_ProcedureStageChoice, + &ett_x2ap_FirstDLCount, + &ett_x2ap_DLDiscarding, &ett_x2ap_SNStatusTransfer, &ett_x2ap_E_RABs_SubjectToStatusTransfer_List, &ett_x2ap_E_RABs_SubjectToStatusTransfer_Item, &ett_x2ap_UEContextRelease, &ett_x2ap_HandoverCancel, + &ett_x2ap_HandoverSuccess, + &ett_x2ap_ConditionalHandoverCancel, &ett_x2ap_ErrorIndication, &ett_x2ap_ResetRequest, &ett_x2ap_ResetResponse, @@ -23386,6 +27152,7 @@ void proto_register_x2ap(void) { &ett_x2ap_T_nrModeInfo, &ett_x2ap_FDD_InfoServedNRCell_Information, &ett_x2ap_TDD_InfoServedNRCell_Information, + &ett_x2ap_CellandCapacityAssistInfo, &ett_x2ap_CellAssistanceInformation, &ett_x2ap_Limited_list, &ett_x2ap_Limited_list_item, @@ -23410,6 +27177,16 @@ void proto_register_x2ap(void) { &ett_x2ap_ActivatedNRCellList, &ett_x2ap_ActivatedNRCellList_Item, &ett_x2ap_ENDCCellActivationFailure, + &ett_x2ap_ENDCResourceStatusRequest, + &ett_x2ap_CellToReport_ENDC_List, + &ett_x2ap_CellToReport_ENDC_Item, + &ett_x2ap_SSBToReport_List, + &ett_x2ap_SSBToReport_Item, + &ett_x2ap_ENDCResourceStatusResponse, + &ett_x2ap_ENDCResourceStatusFailure, + &ett_x2ap_ENDCResourceStatusUpdate, + &ett_x2ap_CellMeasurementResult_ENDC_List, + &ett_x2ap_CellMeasurementResult_ENDC_Item, &ett_x2ap_SecondaryRATDataUsageReport, &ett_x2ap_SgNBActivityNotification, &ett_x2ap_ENDCPartialResetRequired, @@ -23435,13 +27212,15 @@ void proto_register_x2ap(void) { &ett_x2ap_ENDCConfigurationTransfer, &ett_x2ap_TraceStart, &ett_x2ap_DeactivateTrace, + &ett_x2ap_CellTrafficTrace, + &ett_x2ap_F1CTrafficTransfer, &ett_x2ap_X2AP_PDU, &ett_x2ap_InitiatingMessage, &ett_x2ap_SuccessfulOutcome, &ett_x2ap_UnsuccessfulOutcome, /*--- End of included file: packet-x2ap-ettarr.c ---*/ -#line 614 "./asn1/x2ap/packet-x2ap-template.c" +#line 688 "./asn1/x2ap/packet-x2ap-template.c" }; module_t *x2ap_module; @@ -23721,6 +27500,46 @@ proto_reg_handoff_x2ap(void) dissector_add_uint("x2ap.ies", id_EUTRANTraceID, create_dissector_handle(dissect_EUTRANTraceID_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_InterfaceInstanceIndication, create_dissector_handle(dissect_InterfaceInstanceIndication_PDU, proto_x2ap)); dissector_add_uint("x2ap.ies", id_ERABs_transferred_to_MeNB, create_dissector_handle(dissect_E_RAB_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_FastMCGRecovery_SN_to_MN, create_dissector_handle(dissect_FastMCGRecovery_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RequestedFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_RequestedFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_AvailableFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_AvailableFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RequestedFastMCGRecoveryViaSRB3Release, create_dissector_handle(dissect_RequestedFastMCGRecoveryViaSRB3Release_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ReleaseFastMCGRecoveryViaSRB3, create_dissector_handle(dissect_ReleaseFastMCGRecoveryViaSRB3_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_FastMCGRecovery_MN_to_SN, create_dissector_handle(dissect_FastMCGRecovery_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_PartialListIndicator, create_dissector_handle(dissect_PartialListIndicator_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_MessageOversizeNotification, create_dissector_handle(dissect_MessageOversizeNotification_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellandCapacityAssistInfo, create_dissector_handle(dissect_CellandCapacityAssistInfo_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLConfigurationInfo, create_dissector_handle(dissect_TNLConfigurationInfo_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLA_To_Add_List, create_dissector_handle(dissect_TNLA_To_Add_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLA_To_Update_List, create_dissector_handle(dissect_TNLA_To_Update_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLA_To_Remove_List, create_dissector_handle(dissect_TNLA_To_Remove_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLA_Setup_List, create_dissector_handle(dissect_TNLA_Setup_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TNLA_Failed_To_Setup_List, create_dissector_handle(dissect_TNLA_Failed_To_Setup_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_UEContextReferenceatSourceNGRAN, create_dissector_handle(dissect_RAN_UE_NGAP_ID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CHOinformation_REQ, create_dissector_handle(dissect_CHOinformation_REQ_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CHOinformation_ACK, create_dissector_handle(dissect_CHOinformation_ACK_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_RequestedTargetCellID, create_dissector_handle(dissect_ECGI_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CandidateCellsToBeCancelledList, create_dissector_handle(dissect_CandidateCellsToBeCancelledList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_ProcedureStage, create_dissector_handle(dissect_ProcedureStageChoice_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CHO_DC_Indicator, create_dissector_handle(dissect_CHO_DC_Indicator_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_PC5QoSParameters, create_dissector_handle(dissect_PC5QoSParameters_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_NBIoT_RLF_Report_Container, create_dissector_handle(dissect_NBIoT_RLF_Report_Container_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_SNtriggered, create_dissector_handle(dissect_SNtriggered_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_TargetCellInNGRAN, create_dissector_handle(dissect_TargetCellInNGRAN_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_eNB_Measurement_ID_ENDC, create_dissector_handle(dissect_Measurement_ID_ENDC_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_engNB_Measurement_ID_ENDC, create_dissector_handle(dissect_Measurement_ID_ENDC_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellToReport_ENDC, create_dissector_handle(dissect_CellToReport_ENDC_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellToReport_ENDC_Item, create_dissector_handle(dissect_CellToReport_ENDC_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellMeasurementResult_ENDC, create_dissector_handle(dissect_CellMeasurementResult_ENDC_List_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_CellMeasurementResult_ENDC_Item, create_dissector_handle(dissect_CellMeasurementResult_ENDC_Item_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_IABNodeIndication, create_dissector_handle(dissect_IABNodeIndication_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_F1CTrafficContainer, create_dissector_handle(dissect_F1CTrafficContainer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.ies", id_IABInformation, create_dissector_handle(dissect_IABInformation_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)); @@ -23818,6 +27637,25 @@ proto_reg_handoff_x2ap(void) dissector_add_uint("x2ap.extension", id_BPLMN_ID_Info_NR, create_dissector_handle(dissect_BPLMN_ID_Info_NR_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_NBIoT_UL_DL_AlignmentOffset, create_dissector_handle(dissect_NBIoT_UL_DL_AlignmentOffset_PDU, proto_x2ap)); dissector_add_uint("x2ap.extension", id_EPCHandoverRestrictionListContainer, create_dissector_handle(dissect_EPCHandoverRestrictionListContainer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_LowerLayerPresenceStatusChange, create_dissector_handle(dissect_LowerLayerPresenceStatusChange_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_UnlicensedSpectrumRestriction, create_dissector_handle(dissect_UnlicensedSpectrumRestriction_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_DAPSRequestInfo, create_dissector_handle(dissect_DAPSRequestInfo_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_DAPSResponseInfo, create_dissector_handle(dissect_DAPSResponseInfo_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_Ethernet_Type, create_dissector_handle(dissect_Ethernet_Type_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_NRUESidelinkAggregateMaximumBitRate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitRate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_NPRACHConfiguration, create_dissector_handle(dissect_NPRACHConfiguration_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_MDTConfigurationNR, create_dissector_handle(dissect_MDT_ConfigurationNR_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_UERadioCapabilityID, create_dissector_handle(dissect_UERadioCapabilityID_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_CSI_RSTransmissionIndication, create_dissector_handle(dissect_CSI_RSTransmissionIndication_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_DLCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_TDDULDLConfigurationCommonNR, create_dissector_handle(dissect_TDDULDLConfigurationCommonNR_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_CarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_ULCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_FrequencyShift7p5khz, create_dissector_handle(dissect_FrequencyShift7p5khz_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_SSB_PositionsInBurst, create_dissector_handle(dissect_SSB_PositionsInBurst_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_NRCellPRACHConfig, create_dissector_handle(dissect_NRCellPRACHConfig_PDU, proto_x2ap)); + dissector_add_uint("x2ap.extension", id_QoS_Mapping_Information, create_dissector_handle(dissect_QoS_Mapping_Information_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)); @@ -23912,10 +27750,19 @@ proto_reg_handoff_x2ap(void) dissector_add_uint("x2ap.proc.imsg", id_endcConfigurationTransfer, create_dissector_handle(dissect_ENDCConfigurationTransfer_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_deactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_x2ap)); dissector_add_uint("x2ap.proc.imsg", id_traceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_handoverSuccess, create_dissector_handle(dissect_HandoverSuccess_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_earlyStatusTransfer, create_dissector_handle(dissect_EarlyStatusTransfer_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_conditionalHandoverCancel, create_dissector_handle(dissect_ConditionalHandoverCancel_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusRequest_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.sout", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusResponse_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.uout", id_endcresourceStatusReportingInitiation, create_dissector_handle(dissect_ENDCResourceStatusFailure_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_endcresourceStatusReporting, create_dissector_handle(dissect_ENDCResourceStatusUpdate_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_cellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_x2ap)); + dissector_add_uint("x2ap.proc.imsg", id_f1CTrafficTransfer, create_dissector_handle(dissect_F1CTrafficTransfer_PDU, proto_x2ap)); /*--- End of included file: packet-x2ap-dis-tab.c ---*/ -#line 660 "./asn1/x2ap/packet-x2ap-template.c" +#line 734 "./asn1/x2ap/packet-x2ap-template.c" } else { if (SctpPort != 0) { dissector_delete_uint("sctp.port", SctpPort, x2ap_handle); |