forked from osmocom/wireshark
1594 lines
58 KiB
INI
1594 lines
58 KiB
INI
# nr-rrc.cnf
|
|
# nr-rrc conformation file
|
|
# Copyright 2018-2020 Pascal Quantin
|
|
|
|
#.OPT
|
|
PER
|
|
UNALIGNED
|
|
PROTO_ROOT_NAME proto_nr_rrc
|
|
#.END
|
|
|
|
#.USE_VALS_EXT
|
|
BandSidelinkEUTRA-r16/gnb-ScheduledMode3SidelinkEUTRA-r16/gnb-ScheduledMode3DelaySidelinkEUTRA-r16
|
|
CA-BandwidthClassNR
|
|
ConfiguredGrantConfig/periodicity
|
|
ConfiguredGrantConfig/eag_1/cg-minDFI-Delay-r16
|
|
CSI-ReportConfig/reportFreqConfiguration/csi-ReportingBand
|
|
DummyA/maxNumberPortsAcrossNZP-CSI-RS-PerCC
|
|
DummyA/maxNumberSimultaneousCSI-RS-ActBWP-AllCC
|
|
DummyA/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC
|
|
DelayBudgetReport/type1
|
|
DRX-Config/drx-onDurationTimer/milliSeconds
|
|
DRX-Config/drx-InactivityTimer
|
|
DRX-Config/drx-RetransmissionTimerDL
|
|
DRX-Config/drx-RetransmissionTimerUL
|
|
DRX-Config/drx-LongCycleStartOffset
|
|
DRX-Config/shortDRX/drx-ShortCycle
|
|
DRX-ConfigSecondaryGroup/drx-onDurationTimer/milliSeconds
|
|
DRX-ConfigSecondaryGroup/drx-InactivityTimer
|
|
DRX-Info/drx-LongCycleStartOffset
|
|
DRX-Info/shortDRX/drx-ShortCycle
|
|
DRX-Info2/drx-onDurationTimer/milliSeconds
|
|
DRX-Preference-r16/preferredDRX-InactivityTimer-r16
|
|
DRX-Preference-r16/preferredDRX-LongCycle-r16
|
|
DRX-Preference-r16/preferredDRX-ShortCycle-r16
|
|
EUTRA-Q-OffsetRange
|
|
PDCP-Config/t-Reordering
|
|
PollByte
|
|
PollPDU
|
|
RangeToBestCell
|
|
RRM-Config/ue-InactiveTime
|
|
Q-OffsetRange
|
|
ServingCellConfig/bwp-InactivityTimer
|
|
SL-PDCP-Config-r16/sl-DiscardTimer-r16
|
|
SL-RadioBearerConfig-r16/sl-TransRange-r16
|
|
SL-TimeOffsetEUTRA-r16
|
|
SL-ZoneConfigMCR-r16/sl-TransRange-r16
|
|
SPS-Config/periodicity
|
|
SRS-PeriodicityAndOffset
|
|
SRS-PeriodicityAndOffset-r16
|
|
SupportedBandUTRA-FDD-r16
|
|
T-PollRetransmit
|
|
T-Reassembly
|
|
T-StatusProhibit
|
|
UL-DataSplitThreshold
|
|
UTRA-FDD-Q-OffsetRange-r16
|
|
|
|
#.EXPORTS
|
|
BandCombinationIndex_PDU
|
|
BandCombinationInfoSN_PDU
|
|
BandParametersSidelink-r16_PDU
|
|
CellGroupConfig_PDU
|
|
DRX-Config_PDU
|
|
CG-Config_PDU
|
|
CG-ConfigInfo_PDU
|
|
ConfigRestrictInfoSCG_PDU
|
|
FeatureSetEntryIndex_PDU
|
|
FreqBandList_PDU
|
|
HandoverCommand_PDU
|
|
HandoverPreparationInformation_PDU
|
|
MeasConfig_PDU
|
|
MeasGapConfig_PDU
|
|
MeasGapSharingConfig_PDU
|
|
MeasResultSCG-Failure_PDU
|
|
MeasurementTimingConfiguration_PDU
|
|
MIB_PDU
|
|
NZP-CSI-RS-Resource_PDU
|
|
P-Max_PDU
|
|
PDCCH-ConfigSIB1_PDU
|
|
PH-TypeListMCG_PDU
|
|
PH-TypeListSCG_PDU
|
|
RA-ReportList-r16_PDU
|
|
RACH-ConfigCommon_PDU
|
|
RadioBearerConfig_PDU
|
|
ReferenceTime-r16_PDU
|
|
RRCReconfiguration_PDU
|
|
RRCReconfigurationComplete_PDU
|
|
SchedulingRequestResourceConfig_PDU
|
|
SIB1_PDU
|
|
SIB2_PDU
|
|
SIB3_PDU
|
|
SIB4_PDU
|
|
SIB5_PDU
|
|
SIB6_PDU
|
|
SIB7_PDU
|
|
SIB8_PDU
|
|
SIB9_PDU
|
|
SIB10-r16_PDU
|
|
SIB11-r16_PDU
|
|
SIB12-r16_PDU
|
|
SIB13-r16_PDU
|
|
SIB14-r16_PDU
|
|
SidelinkParametersNR-r16_PDU
|
|
SidelinkUEInformationNR-r16_PDU
|
|
SL-PHY-MAC-RLC-Config-r16_PDU
|
|
TDD-UL-DL-ConfigCommon_PDU
|
|
UE-CapabilityRAT-ContainerList_PDU
|
|
UE-CapabilityRequestFilterCommon_PDU
|
|
UE-CapabilityRequestFilterNR_PDU
|
|
UE-MRDC-Capability_PDU
|
|
UE-NR-Capability_PDU
|
|
UEAssistanceInformation_PDU
|
|
UERadioPagingInformation_PDU
|
|
UL-DCCH-Message_PDU
|
|
UplinkTxDirectCurrentList_PDU
|
|
VisitedCellInfoList-r16_PDU
|
|
|
|
#.PDU
|
|
BandCombinationIndex
|
|
BandCombinationInfoSN
|
|
BandParametersSidelink-r16
|
|
BCCH-BCH-Message @bcch.bch
|
|
BCCH-DL-SCH-Message @bcch.dl.sch
|
|
CellGroupConfig
|
|
CG-Config
|
|
CG-ConfigInfo
|
|
ConfigRestrictInfoSCG
|
|
DL-CCCH-Message @dl.ccch
|
|
DL-DCCH-Message @dl.dcch
|
|
DRX-Config
|
|
FeatureSetEntryIndex
|
|
FreqBandList
|
|
HandoverCommand
|
|
HandoverPreparationInformation
|
|
MeasConfig
|
|
MeasGapConfig
|
|
MeasGapSharingConfig
|
|
MeasResultSCG-Failure
|
|
MeasurementTimingConfiguration
|
|
MIB
|
|
NZP-CSI-RS-Resource
|
|
P-Max
|
|
PCCH-Message @pcch
|
|
PDCCH-ConfigSIB1
|
|
PH-TypeListMCG
|
|
PH-TypeListSCG
|
|
RA-ReportList-r16
|
|
RACH-ConfigCommon
|
|
RadioBearerConfig
|
|
ReferenceTime-r16
|
|
RRCReconfiguration @rrc_reconf
|
|
RRCReconfigurationComplete
|
|
SBCCH-SL-BCH-Message @sbcch.sl.bch
|
|
SCCH-Message @scch
|
|
SchedulingRequestResourceConfig
|
|
SidelinkParametersNR-r16
|
|
SidelinkUEInformationNR-r16
|
|
SL-PHY-MAC-RLC-Config-r16
|
|
SIB1
|
|
SIB2
|
|
SIB3
|
|
SIB4
|
|
SIB5
|
|
SIB6
|
|
SIB7
|
|
SIB8
|
|
SIB9
|
|
SIB10-r16
|
|
SIB11-r16
|
|
SIB12-r16
|
|
SIB13-r16
|
|
SIB14-r16
|
|
TDD-UL-DL-ConfigCommon
|
|
UE-CapabilityRAT-ContainerList
|
|
UE-CapabilityRequestFilterCommon
|
|
UE-CapabilityRequestFilterNR
|
|
UE-MRDC-Capability @ue_mrdc_cap
|
|
UE-NR-Capability @ue_nr_cap
|
|
UEAssistanceInformation
|
|
UECapabilityInformationSidelink
|
|
UERadioAccessCapabilityInformation @ue_radio_access_cap_info
|
|
UERadioPagingInformation @ue_radio_paging_info
|
|
UL-CCCH-Message @ul.ccch
|
|
UL-CCCH1-Message @ul.ccch1
|
|
UL-DCCH-Message @ul.dcch
|
|
UplinkTxDirectCurrentList
|
|
VisitedCellInfoList-r16
|
|
#.END
|
|
|
|
#.OMIT_ASSIGNMENT
|
|
CellsTriggeredList
|
|
CLI-RSSI-TriggeredList-r16
|
|
CLI-TriggeredList-r16
|
|
PLMN-IdentityList-r16
|
|
SIB12-IEs-r16
|
|
SidelinkPreconfigNR-r16
|
|
SL-BWP-ConfigCommon-r16
|
|
SL-BWP-PoolConfigCommon-r16
|
|
SL-ConfigCommonNR-r16
|
|
SL-EUTRA-AnchorCarrierFreqList-r16
|
|
SL-FreqConfigCommon-r16
|
|
SL-MeasConfigCommon-r16
|
|
SL-NR-AnchorCarrierFreqList-r16
|
|
SL-PreconfigGeneral-r16
|
|
SL-PreconfigurationNR-r16
|
|
SL-RoHC-Profiles-r16
|
|
SRS-RSRP-TriggeredList-r16
|
|
VarConditionalReconfig
|
|
VarConnEstFailReport-r16
|
|
VarLogMeasConfig-r16-IEs
|
|
VarLogMeasReport-r16
|
|
VarMeasConfig
|
|
VarMeasConfigSL-r16
|
|
VarMeasIdleConfig-r16
|
|
VarMeasIdleReport-r16
|
|
VarMeasReport
|
|
VarMeasReportList
|
|
VarMeasReportListSL-r16
|
|
VarMeasReportSL-r16
|
|
VarMobilityHistoryReport-r16
|
|
VarPendingRNA-Update
|
|
VarRA-Report-r16
|
|
VarResumeMAC-Input
|
|
VarRLF-Report-r16
|
|
VarShortMAC-Input
|
|
|
|
#.NO_EMIT ONLY_VALS
|
|
|
|
#.MAKE_ENUM
|
|
MobilityFromNRCommand-IEs/targetRAT-Type TYPE_PREFIX
|
|
RAT-Type TYPE_PREFIX
|
|
|
|
#.FN_HDR BCCH-BCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR BCCH-DL-SCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR DL-CCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_DL;
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR DL-DCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_DL;
|
|
|
|
#.FN_HDR PCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR UL-CCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_UL;
|
|
|
|
#.FN_HDR UL-CCCH1-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_UL;
|
|
|
|
#.FN_HDR UL-DCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_UL;
|
|
|
|
#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageNR-r16 VAL_PTR = &dl_dcch_msg_nr_tvb
|
|
tvbuff_t *dl_dcch_msg_nr_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (dl_dcch_msg_nr_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageNR);
|
|
dissect_DL_DCCH_Message_PDU(dl_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY DLInformationTransferMRDC-r16-IEs/dl-DCCH-MessageEUTRA-r16 VAL_PTR = &dl_dcch_msg_eutra_tvb
|
|
tvbuff_t *dl_dcch_msg_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (dl_dcch_msg_eutra_tvb && lte_rrc_dl_dcch_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dl_DCCH_MessageEUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, dl_dcch_msg_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY FailureReportMCG-r16/measResultSCG-EUTRA-r16 VAL_PTR = &meas_result_scg_fail_mrdc_tvb
|
|
tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (meas_result_scg_fail_mrdc_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
|
|
dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_HDR MIB
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
|
|
|
|
#.FN_HDR SystemInformation
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information [");
|
|
|
|
#.FN_FTR SystemInformation
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
|
|
|
|
#.FN_HDR SIB2
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
|
|
|
|
#.FN_HDR SIB3
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
|
|
|
|
#.FN_HDR SIB4
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
|
|
|
|
#.FN_HDR SIB5
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
|
|
|
|
#.FN_HDR SIB6
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
|
|
|
|
#.FN_HDR SIB7
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
|
|
|
|
#.FN_HDR SIB8
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
|
|
|
|
#.FN_HDR SIB9
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
|
|
|
|
#.FN_HDR SIB10-r16
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
|
|
|
|
#.FN_HDR SIB11-r16
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
|
|
|
|
#.FN_HDR SIB12-r16
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
|
|
|
|
#.FN_HDR SIB13-r16
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
|
|
|
|
#.FN_HDR SIB14-r16
|
|
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
|
|
|
|
#.FN_HDR SIB1
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1");
|
|
|
|
#.FN_HDR RRCReject
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject");
|
|
|
|
#.FN_HDR RRCSetup
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup");
|
|
|
|
#.FN_HDR RRCReconfiguration
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
|
|
|
|
#.FN_HDR RRCResume
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume");
|
|
|
|
#.FN_HDR RRCRelease
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release");
|
|
|
|
#.FN_HDR RRCReestablishment
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment");
|
|
|
|
#.FN_HDR SecurityModeCommand
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command");
|
|
|
|
#.FN_HDR DLInformationTransfer
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer");
|
|
|
|
#.FN_HDR UECapabilityEnquiry
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry");
|
|
|
|
#.FN_HDR CounterCheck
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check");
|
|
|
|
#.FN_HDR MobilityFromNRCommand
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command");
|
|
|
|
#.FN_HDR DLDedicatedMessageSegment-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Dedicated MessageSegment");
|
|
|
|
#.FN_HDR UEInformationRequest-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Request");
|
|
|
|
#.FN_HDR DLInformationTransferMRDC-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL InformationTransfer MRDC");
|
|
|
|
#.FN_HDR LoggedMeasurementConfiguration-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Logged Measurement Configuration");
|
|
|
|
#.FN_HDR Paging
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
|
|
|
|
#.FN_HDR RRCSetupRequest
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request");
|
|
|
|
#.FN_HDR RRCResumeRequest
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request");
|
|
|
|
#.FN_HDR RRCReestablishmentRequest
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request");
|
|
|
|
#.FN_HDR RRCSystemInfoRequest
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request");
|
|
|
|
#.FN_HDR RRCResumeRequest1
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1");
|
|
|
|
#.FN_HDR MeasurementReport
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
|
|
|
|
#.FN_HDR RRCReconfigurationComplete
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
|
|
|
|
#.FN_HDR RRCSetupComplete
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete");
|
|
|
|
#.FN_HDR RRCReestablishmentComplete
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete");
|
|
|
|
#.FN_HDR RRCResumeComplete
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete");
|
|
|
|
#.FN_HDR SecurityModeComplete
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete");
|
|
|
|
#.FN_HDR SecurityModeFailure
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure");
|
|
|
|
#.FN_HDR ULInformationTransfer
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer");
|
|
|
|
#.FN_HDR LocationMeasurementIndication
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication");
|
|
|
|
#.FN_HDR UECapabilityInformation
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information");
|
|
|
|
#.FN_HDR CounterCheckResponse
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response");
|
|
|
|
#.FN_HDR UEAssistanceInformation
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information");
|
|
|
|
#.FN_HDR FailureInformation
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Failure Information");
|
|
|
|
#.FN_HDR ULInformationTransferMRDC
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer MRDC");
|
|
|
|
#.FN_HDR SCGFailureInformation
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information");
|
|
|
|
#.FN_HDR SCGFailureInformationEUTRA
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information EUTRA");
|
|
|
|
#.FN_HDR ULDedicatedMessageSegment-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Dedicated MessageSegment");
|
|
|
|
#.FN_HDR DedicatedSIBRequest-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Dedicated SIB Request");
|
|
|
|
#.FN_HDR MCGFailureInformation-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCG Failure Information");
|
|
|
|
#.FN_HDR UEInformationResponse-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Information Response");
|
|
|
|
#.FN_HDR SidelinkUEInformationNR-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Sidelink UE Information NR");
|
|
|
|
#.FN_HDR ULInformationTransferIRAT-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer IRAT");
|
|
|
|
#.FN_HDR IABOtherInformation-r16
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB Other Information");
|
|
|
|
#.FN_BODY MRDC-SecondaryCellGroupConfig/mrdc-SecondaryCellGroup/eutra-SCG VAL_PTR = &eutra_scg_tvb
|
|
tvbuff_t *eutra_scg_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY RRCReconfigurationComplete-v1560-IEs/scg-Response/eutra-SCG-Response VAL_PTR = &eutra_scg_response_tvb
|
|
tvbuff_t *eutra_scg_response_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY RRCResume-v1610-IEs/mrdc-SecondaryCellGroup-r16/eutra-SCG-r16 VAL_PTR = &eutra_scg_tvb
|
|
tvbuff_t *eutra_scg_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY RRCResumeComplete-v1610-IEs/scg-Response-r16/eutra-SCG-Response VAL_PTR = &eutra_scg_response_tvb
|
|
tvbuff_t *eutra_scg_response_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY FailureReportSCG-EUTRA/measResultSCG-FailureMRDC VAL_PTR = &meas_result_scg_fail_mrdc_tvb
|
|
tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (meas_result_scg_fail_mrdc_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
|
|
dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY ULInformationTransferMRDC-IEs/ul-DCCH-MessageNR VAL_PTR = &ul_dcch_msg_nr_tvb
|
|
tvbuff_t *ul_dcch_msg_nr_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (ul_dcch_msg_nr_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageNR);
|
|
dissect_nr_rrc_UL_DCCH_Message_PDU(ul_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY ULInformationTransferMRDC-IEs/ul-DCCH-MessageEUTRA VAL_PTR = &ul_dcch_msg_eutra_tvb
|
|
tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY DedicatedNAS-Message VAL_PTR = &nas_5gs_tvb
|
|
tvbuff_t *nas_5gs_tvb = NULL;
|
|
proto_tree *subtree;
|
|
%(DEFAULT_BODY)s
|
|
if (nas_5gs_tvb && nas_5gs_handle) {
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message);
|
|
nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-Type VAL_PTR = &target_rat_type
|
|
guint32 target_rat_type;
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->target_rat_type = (guint8)target_rat_type;
|
|
|
|
#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb
|
|
tvbuff_t *target_rat_msg_cont_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (target_rat_msg_cont_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
|
|
switch (nr_priv->target_rat_type) {
|
|
case T_targetRAT_Type_eutra:
|
|
/* eutra */
|
|
if (lte_rrc_dl_dcch_handle)
|
|
nr_rrc_call_dissector(lte_rrc_dl_dcch_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
|
|
break;
|
|
case T_targetRAT_Type_utra_fdd_v1610:
|
|
/* utra-fdd */
|
|
dissect_rrc_HandoverToUTRANCommand_PDU(target_rat_msg_cont_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
#.FN_BODY MobilityFromNRCommand-IEs/nas-SecurityParamFromNR VAL_PTR = &nas_sec_param_tvb
|
|
tvbuff_t *nas_sec_param_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (nas_sec_param_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_nas_SecurityParamFromNR);
|
|
switch (nr_priv->target_rat_type) {
|
|
case T_targetRAT_Type_eutra:
|
|
/* eutra */
|
|
de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(nas_sec_param_tvb, subtree, actx->pinfo);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
#.FN_BODY MasterKeyUpdate/nas-Container VAL_PTR = &nas_5gs_tvb
|
|
tvbuff_t *nas_5gs_tvb = NULL;
|
|
proto_tree *subtree;
|
|
%(DEFAULT_BODY)s
|
|
if (nas_5gs_tvb) {
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container);
|
|
de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_5gs_tvb, subtree, actx->pinfo);
|
|
}
|
|
|
|
#.FN_BODY SL-ConfigDedicatedEUTRA-Info-r16/sl-ConfigDedicatedEUTRA-r16 VAL_PTR = &sl_config_ded_eutra_tvb
|
|
tvbuff_t *sl_config_ded_eutra_tvb = NULL;
|
|
proto_tree *subtree;
|
|
%(DEFAULT_BODY)s
|
|
if (sl_config_ded_eutra_tvb && lte_rrc_conn_reconf_handle) {
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ConfigDedicatedEUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, sl_config_ded_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.TYPE_RENAME
|
|
MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 MeasTriggerQuantityUTRA_FDD_RSCP_r16
|
|
|
|
#.TYPE_ATTR
|
|
MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_RSCP_r16_fmt)
|
|
|
|
#.TYPE_RENAME
|
|
MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 MeasTriggerQuantityUTRA_FDD_EcN0_r16
|
|
|
|
#.TYPE_ATTR
|
|
MeasTriggerQuantityUTRA-FDD-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_measTriggerQuantity_utra_FDD_EcN0_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
SIB1/cellSelectionInfo/q-RxLevMinOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.FN_BODY SL-TxResourceReq-r16/sl-CapabilityInformationSidelink-r16 VAL_PTR = &sl_cap_info_sidelink_tvb
|
|
tvbuff_t *sl_cap_info_sidelink_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sl_cap_info_sidelink_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_CapabilityInformationSidelink);
|
|
dissect_UECapabilityInformationSidelink_PDU(sl_cap_info_sidelink_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
LogMeasInfo-r16/relativeTimeStamp-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.TYPE_ATTR
|
|
RLF-Report-r16/nr-RLF-Report-r16/timeConnFailure-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_timeConnFailure_r16_fmt)
|
|
|
|
#.FN_BODY RLF-Report-r16/eutra-RLF-Report-r16/measResult-RLF-Report-EUTRA-r16 VAL_PTR = &meas_result_rlf_report_eutra_tvb
|
|
tvbuff_t *meas_result_rlf_report_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (meas_result_rlf_report_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResult_RLF_Report_EUTRA);
|
|
dissect_lte_rrc_RLF_Report_r9_PDU(meas_result_rlf_report_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
TimeSinceFailure-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.TYPE_ATTR
|
|
TimeUntilReconnection-16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageEUTRA-r16 VAL_PTR = &ul_dcch_msg_eutra_tvb
|
|
tvbuff_t *ul_dcch_msg_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
IntraFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
InterFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
CarrierFreqEUTRA/q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
EUTRA-FreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
SIB6/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext
|
|
|
|
#.FN_BODY SIB6/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
|
|
tvbuff_t *msg_id_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB6/messageIdentifier
|
|
if (msg_id_tvb) {
|
|
actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB6/serialNumber VAL_PTR=&serial_nb_tvb
|
|
tvbuff_t *serial_nb_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB6/serialNumber
|
|
if (serial_nb_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB6/warningType VAL_PTR=&warning_type_tvb
|
|
tvbuff_t *warning_type_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB6/warningType
|
|
if (warning_type_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext
|
|
|
|
#.FN_BODY SIB7/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
|
|
tvbuff_t *msg_id_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB7/messageIdentifier
|
|
if (msg_id_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
|
|
actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB7/serialNumber VAL_PTR=&serial_nb_tvb
|
|
tvbuff_t *serial_nb_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB7/serialNumber
|
|
if (serial_nb_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB7/warningMessageSegmentType VAL_PTR=&segment_type
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
guint32 segment_type;
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->warning_message_segment_type = (guint8)segment_type;
|
|
|
|
#.FN_BODY SIB7/warningMessageSegmentNumber VAL_PTR=&segment_number
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
guint32 segment_number;
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->warning_message_segment_number = (guint8)segment_number;
|
|
|
|
#.FN_BODY SIB7/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
|
|
tvbuff_t *data_coding_scheme_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB7/dataCodingScheme
|
|
if (data_coding_scheme_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
guint32 dataCodingScheme;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
|
|
dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
|
|
wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
|
|
GUINT_TO_POINTER(dataCodingScheme));
|
|
}
|
|
|
|
#.FN_BODY SIB7/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
|
|
tvbuff_t *warning_msg_seg_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB7/warningMessageSegment
|
|
if (warning_msg_seg_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
tvbuff_t *frag_tvb;
|
|
gpointer p_dcs;
|
|
fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
|
|
nr_priv->message_identifier, NULL,
|
|
nr_priv->warning_message_segment_number,
|
|
tvb_reported_length(warning_msg_seg_tvb),
|
|
nr_priv->warning_message_segment_type ? FALSE : TRUE);
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
|
|
frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message",
|
|
frag_data, &nr_rrc_sib7_frag_items, NULL, subtree);
|
|
p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
|
|
if (frag_tvb && p_dcs) {
|
|
dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
|
|
}
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext
|
|
|
|
#.FN_BODY SIB8/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
|
|
tvbuff_t *msg_id_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB8/messageIdentifier
|
|
if (msg_id_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16;
|
|
actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB8/serialNumber VAL_PTR=&serial_nb_tvb
|
|
tvbuff_t *serial_nb_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB8/serialNumber
|
|
if (serial_nb_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0);
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
|
|
}
|
|
|
|
#.FN_BODY SIB8/warningMessageSegmentType VAL_PTR=&segment_type
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
guint32 segment_type;
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->warning_message_segment_type = (guint8)segment_type;
|
|
|
|
#.FN_BODY SIB8/warningMessageSegmentNumber VAL_PTR=&segment_number
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
guint32 segment_number;
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->warning_message_segment_number = (guint8)segment_number;
|
|
|
|
#.FN_BODY SIB8/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
|
|
tvbuff_t *data_coding_scheme_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB8/dataCodingScheme
|
|
if (data_coding_scheme_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
guint32 dataCodingScheme;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme);
|
|
dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
|
|
wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier),
|
|
GUINT_TO_POINTER(dataCodingScheme));
|
|
}
|
|
|
|
#.FN_BODY SIB8/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
|
|
tvbuff_t *warning_msg_seg_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB8/warningMessageSegment
|
|
if (warning_msg_seg_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
tvbuff_t *frag_tvb;
|
|
gpointer p_dcs;
|
|
fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
|
|
nr_priv->message_identifier, NULL,
|
|
nr_priv->warning_message_segment_number,
|
|
tvb_reported_length(warning_msg_seg_tvb),
|
|
nr_priv->warning_message_segment_type ? FALSE : TRUE);
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment);
|
|
frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message",
|
|
frag_data, &nr_rrc_sib8_frag_items, NULL, subtree);
|
|
p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier));
|
|
if (frag_tvb && p_dcs) {
|
|
dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
|
|
}
|
|
}
|
|
|
|
#.FN_BODY SIB9/timeInfo/timeInfoUTC VAL_PTR=&timeInfo
|
|
guint64 timeInfo;
|
|
proto_tree *subtree;
|
|
nstime_t ts;
|
|
guint32 old_offset = offset;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB9/timeInfo/timeInfoUTC
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo);
|
|
ts.secs = (time_t)(timeInfo/100)-EPOCH_DELTA_1900_01_01_00_00_00_UTC; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */
|
|
ts.nsecs = (int)(timeInfo%100)*10000000;
|
|
proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
|
|
proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
|
|
|
|
#.TYPE_ATTR
|
|
SIB9/timeInfo/dayLightSavingTime TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(nr_rrc_daylightSavingTime_vals)
|
|
|
|
#.FN_BODY SIB9/timeInfo/dayLightSavingTime VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1
|
|
tvbuff_t *daylight_saving_time_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR SIB9/timeInfo/dayLightSavingTime
|
|
if (daylight_saving_time_tvb) {
|
|
guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2);
|
|
actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.TYPE_ATTR
|
|
SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
CLI-RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSSI_Range_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
RSSI-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSSI_Range_r16_fmt)
|
|
|
|
#.FN_BODY CommonLocationInfo-r16/locationTimestamp-r16 VAL_PTR = &location_timestamp_tvb
|
|
tvbuff_t *location_timestamp_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (location_timestamp_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationTimestamp_r16);
|
|
dissect_lpp_DisplacementTimeStamp_r15_PDU(location_timestamp_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CommonLocationInfo-r16/locationCoordinate-r16 VAL_PTR = &location_coordinate_tvb
|
|
tvbuff_t *location_coordinate_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (location_coordinate_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationCoordinate_r16);
|
|
dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CommonLocationInfo-r16/locationError-r16 VAL_PTR = &location_error_tvb
|
|
tvbuff_t *location_error_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (location_error_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationError_r16);
|
|
dissect_lpp_LocationError_PDU(location_error_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CommonLocationInfo-r16/locationSource-r16 VAL_PTR = &location_source_tvb
|
|
tvbuff_t *location_source_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (location_source_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_locationSource_r16);
|
|
dissect_lpp_LocationSource_r13_PDU(location_source_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CommonLocationInfo-r16/velocityEstimate-r16 VAL_PTR = &velocity_estimate_tvb
|
|
tvbuff_t *velocity_estimate_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (velocity_estimate_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_velocityEstimate_r16);
|
|
dissect_lpp_Velocity_PDU(velocity_estimate_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities
|
|
|
|
#.TYPE_ATTR
|
|
ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
DRX-Config/drx-SlotOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_drx_SlotOffset_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_prbs
|
|
|
|
#.TYPE_ATTR
|
|
Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
RSRQ-RangeEUTRA-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_r16_fmt)
|
|
|
|
#.FN_BODY Sensor-LocationInfo-r16/sensor-MeasurementInformation-r16 VAL_PTR = &sensor_meas_info_tvb
|
|
tvbuff_t *sensor_meas_info_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sensor_meas_info_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MeasurementInformation_r16);
|
|
dissect_lpp_Sensor_MeasurementInformation_r13_PDU(sensor_meas_info_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY Sensor-LocationInfo-r16/sensor-MotionInformation-r16 VAL_PTR = &sensor_motion_info_tvb
|
|
tvbuff_t *sensor_motion_info_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sensor_motion_info_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sensor_MotionInformation_r16);
|
|
dissect_lpp_Sensor_MotionInformation_r15_PDU(sensor_motion_info_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
ChannelAccessConfig-r16/maxEnergyDetectionThreshold-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
ChannelAccessConfig-r16/energyDetectionThresholdOffset-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-RSCP-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_RSCP_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
MeasResultUTRA-FDD-r16/measResult-r16/utra-FDD-EcN0-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_utra_FDD_EcN0_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
MeasResultForRSSI-r16/channelOccupancy-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
|
|
|
|
#.TYPE_ATTR
|
|
UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_averageDelay_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
PUSCH-ConfigCommon/msg3-DeltaPreamble DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
Q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Q_RxLevMin_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
RSRP-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
MsgA-PUSCH-Config-r16/msgA-DeltaPreamble-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
MeasTriggerQuantityOffset/rsrq DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
MeasTriggerQuantityOffset/sinr DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_MeasTriggerQuantityOffset_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
ReselectionThreshold DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_ReselectionThreshold_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
|
|
|
|
#.TYPE_ATTR
|
|
RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_Range_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_slots
|
|
|
|
#.TYPE_ATTR
|
|
ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
SRS-PosResourceSet-r16/p0-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
SRS-RSRP-Range-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SRS_RSRP_r16_fmt)
|
|
|
|
#.TYPE_ATTR
|
|
T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA1-r16 VAL_PTR = &band_params_sl_tvb
|
|
tvbuff_t *band_params_sl_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (band_params_sl_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA1_r16);
|
|
dissect_lte_rrc_V2X_BandParameters_r14_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY BandParametersSidelinkEUTRA-NR-r16/eutra/bandParametersSidelinkEUTRA2-r16 VAL_PTR = &band_params_sl_tvb
|
|
tvbuff_t *band_params_sl_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (band_params_sl_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_bandParametersSidelinkEUTRA2_r16);
|
|
dissect_lte_rrc_V2X_BandParameters_v1530_PDU(band_params_sl_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA1-r16 VAL_PTR = &sl_params_tvb
|
|
tvbuff_t *sl_params_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sl_params_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA1_r16);
|
|
dissect_lte_rrc_SL_Parameters_v1430_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA2-r16 VAL_PTR = &sl_params_tvb
|
|
tvbuff_t *sl_params_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sl_params_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA2_r16);
|
|
dissect_lte_rrc_SL_Parameters_v1530_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY SidelinkParametersEUTRA-r16/sl-ParametersEUTRA3-r16 VAL_PTR = &sl_params_tvb
|
|
tvbuff_t *sl_params_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sl_params_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sl_ParametersEUTRA3_r16);
|
|
dissect_lte_rrc_SL_Parameters_v1540_PDU(sl_params_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY UE-CapabilityRAT-Container
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
/* Initialise to invalid value */
|
|
nr_priv->rat_type = 0xFF;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_BODY RAT-Type VAL_PTR = &rat_type
|
|
guint32 rat_type;
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
%(DEFAULT_BODY)s
|
|
nr_priv->rat_type = (guint8)rat_type;
|
|
|
|
#.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb
|
|
tvbuff_t *ue_cap_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-Container
|
|
if (ue_cap_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
|
|
switch(nr_priv->rat_type){
|
|
case RAT_Type_nr:
|
|
dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
case RAT_Type_eutra_nr:
|
|
dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
case RAT_Type_eutra:
|
|
dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
case RAT_Type_utra_fdd_v1610:
|
|
dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
#.FN_BODY UE-CapabilityRAT-Request
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
/* Initialise to invalid value */
|
|
nr_priv->rat_type = 0xFF;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_BODY UE-CapabilityRAT-Request/capabilityRequestFilter VAL_PTR = &cap_req_filter_tvb
|
|
tvbuff_t *cap_req_filter_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_FTR UE-CapabilityRAT-Request/capabilityRequestFilter
|
|
if (cap_req_filter_tvb) {
|
|
nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx);
|
|
proto_tree *subtree;
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter);
|
|
switch(nr_priv->rat_type){
|
|
case RAT_Type_nr:
|
|
case RAT_Type_eutra_nr:
|
|
dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
case RAT_Type_eutra:
|
|
dissect_lte_rrc_UECapabilityEnquiry_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
#.FN_BODY AbsoluteTimeInfo-r16 VAL_PTR = &abs_time_info_tvb
|
|
tvbuff_t *abs_time_info_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
#.FN_FTR AbsoluteTimeInfo-r16
|
|
if (abs_time_info_tvb) {
|
|
const gchar *str, *hf_str;
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_absTimeInfo);
|
|
str = tvb_bcd_dig_to_wmem_packet_str(abs_time_info_tvb, 0, 6, NULL, FALSE);
|
|
hf_str = wmem_strdup_printf(wmem_packet_scope(), "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1],
|
|
str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]);
|
|
proto_tree_add_string(subtree, hf_nr_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str);
|
|
}
|
|
|
|
#.TYPE_ATTR
|
|
EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
|
|
|
|
#.TYPE_ATTR
|
|
WLAN-Identifiers-r16/ssid-r16 TYPE=FT_STRING DISPLAY=STR_ASCII
|
|
|
|
#.FN_BODY WLAN-Identifiers-r16/ssid-r16 VAL_PTR=&ssid_tvb HF_INDEX=-1
|
|
tvbuff_t *ssid_tvb = NULL;
|
|
|
|
%(DEFAULT_BODY)s
|
|
actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA);
|
|
|
|
#.TYPE_ATTR
|
|
WLAN-Identifiers-r16/bssid-r16 TYPE=FT_ETHER
|
|
|
|
#.TYPE_ATTR
|
|
WLAN-Identifiers-r16/hessid-r16 TYPE=FT_ETHER
|
|
|
|
#.TYPE_ATTR
|
|
VisitedCellInfo-r16/timeSpent-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
|
|
|
|
#.FN_BODY RLC-BearerConfig
|
|
struct mac_nr_info *p_mac_nr_info;
|
|
/* Get the struct and clear it out */
|
|
nr_drb_mapping_t *drb_mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
memset(drb_mapping, 0, sizeof(nr_drb_mapping_t));
|
|
%(DEFAULT_BODY)s
|
|
/* Need UE identifier */
|
|
p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
|
|
if (p_mac_nr_info) {
|
|
drb_mapping->ueid = p_mac_nr_info->ueid;
|
|
/* Tell MAC about this mapping */
|
|
set_mac_nr_bearer_mapping(drb_mapping);
|
|
}
|
|
|
|
#.FN_BODY DRB-Identity VAL_PTR=&value
|
|
guint32 value;
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
%(DEFAULT_BODY)s
|
|
mapping->drbid = (guint8)value;
|
|
|
|
#.FN_BODY RLC-Config VAL_PTR=&value
|
|
guint32 value;
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
%(DEFAULT_BODY)s
|
|
mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE;
|
|
mapping->rlcMode_present = TRUE;
|
|
|
|
#.FN_BODY LogicalChannelIdentity VAL_PTR=&value
|
|
guint32 value;
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
%(DEFAULT_BODY)s
|
|
mapping->lcid = (guint8)value;
|
|
mapping->lcid_present = TRUE;
|
|
|
|
#.FN_BODY UL-UM-RLC
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
mapping->tempDirection = DIRECTION_UPLINK;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_BODY DL-UM-RLC
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
mapping->tempDirection = DIRECTION_DOWNLINK;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_BODY UL-AM-RLC
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
mapping->tempDirection = DIRECTION_UPLINK;
|
|
%(DEFAULT_BODY)s
|
|
|
|
#.FN_BODY DL-AM-RLC
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
mapping->tempDirection = DIRECTION_DOWNLINK;
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
#.FN_BODY SN-FieldLengthUM VAL_PTR=&value
|
|
guint32 value;
|
|
%(DEFAULT_BODY)s
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
if (mapping->tempDirection == DIRECTION_UPLINK) {
|
|
mapping->rlcUlSnLength_present = TRUE;
|
|
mapping->rlcUlSnLength = (value=0) ? 6 : 12;
|
|
}
|
|
else {
|
|
mapping->rlcDlSnLength_present = TRUE;
|
|
mapping->rlcDlSnLength = (value=0) ? 6 : 12;
|
|
}
|
|
|
|
#.FN_BODY SN-FieldLengthAM VAL_PTR=&value
|
|
guint32 value;
|
|
%(DEFAULT_BODY)s
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
if (mapping->tempDirection == DIRECTION_UPLINK) {
|
|
mapping->rlcUlSnLength_present = TRUE;
|
|
mapping->rlcUlSnLength = (value=0) ? 12 : 18;
|
|
}
|
|
else {
|
|
mapping->rlcDlSnLength_present = TRUE;
|
|
mapping->rlcDlSnLength = (value=0) ? 12 : 18;
|
|
}
|
|
|
|
#.FN_BODY DRB-ToAddMod
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
memset(mapping, 0, sizeof(*mapping));
|
|
%(DEFAULT_BODY)s
|
|
/* Need UE identifier */
|
|
mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0);
|
|
if (p_mac_nr_info) {
|
|
/* Configure PDCP SN length(s) for this DRB */
|
|
if (mapping->pdcpUlSnLength_present || mapping->pdcpDlSnLength_present) {
|
|
set_rlc_nr_drb_pdcp_seqnum_length(actx->pinfo, p_mac_nr_info->ueid, mapping->drbid,
|
|
mapping->pdcpUlSnLength, mapping->pdcpDlSnLength);
|
|
}
|
|
}
|
|
|
|
#.FN_BODY PDCP-Config/drb/pdcp-SN-SizeUL VAL_PTR=&value
|
|
guint32 value;
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
%(DEFAULT_BODY)s
|
|
mapping->pdcpUlSnLength_present = TRUE;
|
|
mapping->pdcpUlSnLength = (value) ? 18 : 12;
|
|
|
|
#.FN_BODY PDCP-Config/drb/pdcp-SN-SizeDL VAL_PTR=&value
|
|
guint32 value;
|
|
nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping;
|
|
%(DEFAULT_BODY)s
|
|
mapping->pdcpDlSnLength_present = TRUE;
|
|
mapping->pdcpDlSnLength = (value) ? 18 : 12;
|
|
|
|
#.TYPE_ATTR
|
|
CA-ParametersEUTRA-v1570/dl-1024QAM-TotalWeightedLayers DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt)
|
|
|
|
#.FN_BODY AS-Config/eag_1/sourceSCG-EUTRA-Config VAL_PTR = &src_scg_eutra_config_tvb
|
|
tvbuff_t *src_scg_eutra_config_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_targetRAT_MessageContainer);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY AS-Context/eag_4/sidelinkUEInformationNR-r16 VAL_PTR = &sidelink_ue_info_nr_tvb
|
|
tvbuff_t *sidelink_ue_info_nr_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sidelink_ue_info_nr_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationNR);
|
|
dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY AS-Context/eag_4/sidelinkUEInformationEUTRA-r16 VAL_PTR = &sidelink_ue_info_eutra_tvb
|
|
tvbuff_t *sidelink_ue_info_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (sidelink_ue_info_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sidelinkUEInformationEUTRA);
|
|
dissect_lte_rrc_SidelinkUEInformation_r12_PDU(sidelink_ue_info_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY AS-Context/eag_4/ueAssistanceInformationEUTRA-r16 VAL_PTR = &ue_assist_info_eutra_tvb
|
|
tvbuff_t *ue_assist_info_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (ue_assist_info_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ueAssistanceInformationEUTRA);
|
|
dissect_lte_rrc_UEAssistanceInformation_r11_PDU(ue_assist_info_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CG-Config-v1560-IEs/scg-CellGroupConfigEUTRA VAL_PTR = &scg_cell_group_config_eutra_tvb
|
|
tvbuff_t *scg_cell_group_config_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (scg_cell_group_config_eutra_tvb && lte_rrc_conn_reconf_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_scg_CellGroupConfigEUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, scg_cell_group_config_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY CG-Config-v1560-IEs/candidateCellInfoListSN-EUTRA VAL_PTR = &cand_cell_info_list_sn_eutra_tvb
|
|
tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (cand_cell_info_list_sn_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
|
|
dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CG-ConfigInfo-v1560-IEs/candidateCellInfoListMN-EUTRA VAL_PTR = &cand_cell_info_list_mn_eutra_tvb
|
|
tvbuff_t *cand_cell_info_list_mn_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (cand_cell_info_list_mn_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListMN_EUTRA);
|
|
dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_mn_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CG-ConfigInfo-v1560-IEs/candidateCellInfoListSN-EUTRA VAL_PTR = &cand_cell_info_list_sn_eutra_tvb
|
|
tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (cand_cell_info_list_sn_eutra_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA);
|
|
dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CG-ConfigInfo-v1560-IEs/sourceConfigSCG-EUTRA VAL_PTR = &source_config_scg_eutra_tvb
|
|
tvbuff_t *source_config_scg_eutra_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (source_config_scg_eutra_tvb && lte_rrc_conn_reconf_handle) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sourceConfigSCG_EUTRA);
|
|
nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree);
|
|
}
|
|
|
|
#.FN_BODY CG-ConfigInfo-v1560-IEs/scgFailureInfoEUTRA/measResultSCG-EUTRA VAL_PTR = &meas_result_scg_fail_mrdc_tvb
|
|
tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (meas_result_scg_fail_mrdc_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
|
|
dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_BODY CG-ConfigInfo-v1610-IEs/scgFailureInfoEUTRA-r16/measResultSCG-EUTRA-r16 VAL_PTR = &meas_result_scg_fail_mrdc_tvb
|
|
tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL;
|
|
%(DEFAULT_BODY)s
|
|
if (meas_result_scg_fail_mrdc_tvb) {
|
|
proto_tree *subtree;
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC);
|
|
dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL);
|
|
}
|
|
|
|
#.FN_HDR SBCCH-SL-BCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR SCCH-Message
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
#.FN_HDR MasterInformationBlockSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Master Information Block Sidelink");
|
|
|
|
#.FN_HDR MeasurementReportSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report Sidelink");
|
|
|
|
#.FN_HDR RRCReconfigurationSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Sidelink");
|
|
|
|
#.FN_HDR RRCReconfigurationCompleteSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete Sidelink");
|
|
|
|
#.FN_HDR RRCReconfigurationFailureSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Failure Sidelink");
|
|
|
|
#.FN_HDR UECapabilityEnquirySidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry Sidelink");
|
|
|
|
#.FN_HDR UECapabilityInformationSidelink
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information Sidelink");
|