wireshark/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf

3277 lines
125 KiB
INI

# lte-rrc.cnf
# lte-rrc conformation file
# Copyright 2008 Vincent Helfre, 2009-2020 Pascal Quantin
#.OPT
PER
UNALIGNED
PROTO_ROOT_NAME proto_lte_rrc
#.END
#.USE_VALS_EXT
AUL-Config-r15/setup/aul-RetransmissionTimer-r15
BandclassCDMA2000
CarrierFreq-NB-r13/carrierFreqOffset-r13
CarrierFreqNBIOT-r16/carrierFreqOffset-r16
DelayBudgetReport-r14/type1
DelayBudgetReport-r14/type2
DRX-Config/setup/drx-InactivityTimer
DRX-Config-r13/drx-ULRetransmissionTimer-r13
DRX-Config-r15/drx-UL-RetransmissionTimerShortTTI-r15
DRX-Config-NB-r13/setup/drx-ULRetransmissionTimer-r13
MeasGapConfig/setup/gapOffset
MeasGapConfigDensePRS-r15/setup/gapOffsetDensePRS-r15
PDCP-Config/eag_3/t-Reordering-r12
PDCP-Config/eag_4/statusFeedback-r13/setup/statusPDU-Periodicity-Type1-r13
PDCP-Config/eag_4/statusFeedback-r13/setup/statusPDU-Periodicity-Type2-r13
PollByte-r14
PosSIB-Type-r15/posSibType-r15
#PosSystemInformation-r15-IEs/posSIB-TypeAndInfo-r15
PowerRampingParameters-NB-v1450/powerRampingParametersCE1-r14/preambleInitialReceivedTargetPowerCE1-r14
PUR-ConfigRequest-NB-r16/pur-SetupRequest/requestedTBS-r16
PURConfigurationRequest-r16-IEs/pur-ConfigRequest-r16/pur-SetupRequest/requestedTBS-r16
Q-OffsetRange
RRM-Config/ue-InactiveTime
RRM-Config-NB/ue-InactiveTime
RSTD-InterFreqInfo-r10/eag_2/measPRS-Offset-r15
SIB-Type
SL-CommResourcePoolV2X-r14/sizeSubchannel-r14
SL-PeriodComm-r12
SupportedBandUTRA-FDD
#SystemInformation-r8-IEs/sib-TypeAndInfo
T-PollRetransmit
T-Reordering
T-StatusProhibit
WLAN-backhaulRate-r12
#.EXPORTS
CellsToAddModListNR-r15_PDU
DL-CarrierConfigCommon-NB-r14_PDU
DL-DCCH-Message_PDU
HandoverCommand_PDU
HandoverPreparationInformation_PDU
HandoverPreparationInformation-NB_PDU
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
RLF-Report-v9e0_PDU
RRCConnectionReconfigurationComplete_PDU
SCG-Config-r12_PDU
SCG-ConfigInfo-r12_PDU
SidelinkUEInformation-r12_PDU
SL-Parameters-v1430_PDU
SL-Parameters-v1530_PDU
SL-Parameters-v1540_PDU
SS-RSSI-Measurement-r15_PDU
SSB-ToMeasure-r15_PDU
ThresholdListNR-r15_PDU
UEAssistanceInformation-r11_PDU
UECapabilityEnquiry_PDU
UEPagingCoverageInformation_PDU
UEPagingCoverageInformation-NB_PDU
UERadioAccessCapabilityInformation_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
VisitedCellInfo-r12_PDU
VisitedCellInfoList-r12_PDU
#.END
#.PDU
CellsToAddModListNR-r15
DL-CarrierConfigCommon-NB-r14
HandoverCommand
HandoverPreparationInformation
HandoverPreparationInformation-NB
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
RLF-Report-v9e0
RRCConnectionReconfiguration @rrc_conn_reconf
RRCConnectionReconfigurationComplete @rrc_conn_reconf_compl
SCG-Config-r12
SCG-ConfigInfo-r12
SidelinkUEInformation-r12
SL-Parameters-v1430
SL-Parameters-v1530
SL-Parameters-v1540
SS-RSSI-Measurement-r15
SSB-ToMeasure-r15
ThresholdListNR-r15
UEAssistanceInformation-r11
UECapabilityEnquiry
UEPagingCoverageInformation @ue_paging_coverage_info
UEPagingCoverageInformation-NB @ue_paging_coverage_info.nb
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
VisitedCellInfo-r12
VisitedCellInfoList-r12
BCCH-BCH-Message @bcch.bch
BCCH-DL-SCH-Message @bcch.dl.sch
BCCH-DL-SCH-Message-BR @bcch.dl.sch.br
MCCH-Message @mcch
PCCH-Message @pcch
DL-CCCH-Message @dl.ccch
DL-DCCH-Message @dl.dcch
UL-CCCH-Message @ul.ccch
UL-DCCH-Message @ul.dcch
SC-MCCH-Message-r13 @sc.mcch
UECapabilityInformation @ue_cap_info
UE-EUTRA-Capability @ue_eutra_cap
SBCCH-SL-BCH-Message @sbcch.sl.bch
SBCCH-SL-BCH-Message-V2X-r14 @sbcch.sl.bch.v2x
BCCH-BCH-Message-NB @bcch.bch.nb
BCCH-BCH-Message-TDD-NB @bcch.bch.nb.tdd
BCCH-DL-SCH-Message-NB @bcch.dl.sch.nb
PCCH-Message-NB @pcch.nb
DL-CCCH-Message-NB @dl.ccch.nb
DL-DCCH-Message-NB @dl.dcch.nb
UL-CCCH-Message-NB @ul.ccch.nb
UL-DCCH-Message-NB @ul.dcch.nb
SC-MCCH-Message-NB @sc.mcch.nb
BCCH-BCH-Message-MBMS @bcch.bch.mbms
BCCH-DL-SCH-Message-MBMS @bcch.dl.sch.mbms
#.END
#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
CellsTriggeredList
CSI-RS-TriggeredList-r12
LogMeasInfoList2-r10
RSRP-RangeSL3-r12
SL-CBR-PPPP-TxPreconfigList-r14
SL-CBR-PPPP-TxPreconfigList-v1530
SL-CBR-PreconfigTxConfigList-r14
SL-PPPP-TxPreconfigIndex-r14
SL-PPPP-TxPreconfigIndex-v1530
SL-PreconfigCommPool-r12
SL-PreconfigCommPoolList4-r12
SL-PreconfigCommRxPoolList-r13
SL-PreconfigCommTxPoolList-r13
SL-PreconfigDiscPool-r13
SL-PreconfigDiscRxPoolList-r13
SL-PreconfigDiscTxPoolList-r13
SL-PreconfigGeneral-r12
SL-PreconfigRelay-r13
SL-PreconfigSync-r12
SL-PreconfigV2X-Sync-r14
SL-PreconfigV2X-RxPoolList-r14
SL-PreconfigV2X-TxPoolList-r14
SL-Preconfiguration-r12
SL-V2X-PreconfigCommPool-r14
SL-V2X-PreconfigFreqInfo-r14
SL-V2X-PreconfigFreqList-r14
SL-V2X-Preconfiguration-r14
SL-V2X-SyncOffsetIndicators-r14
SL-V2X-TxProfile-r15
SL-V2X-TxProfileList-r15
SSB-IndexList-r15
TypeFFS
Tx-PreconfigIndex-r14
VarANR-MeasConfig-NB-r16
VarANR-MeasReport-NB-r16
VarConditionalReconfiguration
VarConnEstFailReport-r11
VarLogMeasConfig-r10
VarLogMeasConfig-r11
VarLogMeasConfig-r12
VarLogMeasConfig-r15
VarLogMeasReport-r10
VarLogMeasReport-r11
VarMeasConfig
VarMeasIdleConfig-r15
VarMeasIdleConfig-r16
VarMeasIdleReport-r15
VarMeasIdleReport-r16
VarMeasReportList
VarMeasReportList-r12
VarMeasReport
VarMobilityHistoryReport-r12
VarPendingRnaUpdate-r15
VarRLF-Report-NB-r16
VarRLF-Report-r10
VarRLF-Report-r11
VarShortINACTIVE-MAC-Input-r15
VarShortMAC-Input
VarShortMAC-Input-NB-r13
VarShortResumeMAC-Input-NB-r13
VarShortResumeMAC-Input-r13
VarWLAN-MobilityConfig
VarWLAN-Status-r13
#.NO_EMIT ONLY_VALS
EAB-Config-r11/eab-Category-r11
AB-Config-NB-r13/ab-Category-r13
#.MAKE_ENUM
RAT-Type TYPE_PREFIX
Handover/targetRAT-Type TYPE_PREFIX
SI-OrPSI-GERAN TYPE_PREFIX
#
# EUTRA-RRC-Definitions.asn
#
#.FN_HDR UL-CCCH-Message
actx->pinfo->link_dir = P2P_DIR_UL;
#.FN_HDR UL-DCCH-Message
actx->pinfo->link_dir = P2P_DIR_UL;
#.FN_HDR DL-CCCH-Message
actx->pinfo->link_dir = P2P_DIR_DL;
#.FN_HDR DL-DCCH-Message
actx->pinfo->link_dir = P2P_DIR_DL;
#.FN_BODY DedicatedInfoNAS VAL_PTR = &nas_eps_tvb
tvbuff_t *nas_eps_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if ((nas_eps_tvb)&&(nas_eps_handle)) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dedicatedInfoNAS);
lte_rrc_call_dissector(nas_eps_handle, nas_eps_tvb, actx->pinfo, subtree);
}
#.FN_BODY UECapabilityEnquiry-v1510-IEs/requestedFreqBandsNR-MRDC-r15 VAL_PTR = &freq_band_list_tvb
tvbuff_t *freq_band_list_tvb = NULL;
%(DEFAULT_BODY)s
if (freq_band_list_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
dissect_nr_rrc_FreqBandList_PDU(freq_band_list_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY UECapabilityEnquiry-v1550-IEs/requestedCapabilityNR-r15 VAL_PTR = &ue_cap_req_filter_nr_tvb
tvbuff_t *ue_cap_req_filter_nr_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_cap_req_filter_nr_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedFreqBandsNR_MRDC_r15);
dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(ue_cap_req_filter_nr_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY UECapabilityEnquiry-v1560-IEs/requestedCapabilityCommon-r15 VAL_PTR = &ue_cap_req_filter_common_tvb
tvbuff_t *ue_cap_req_filter_common_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_cap_req_filter_common_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedCapabilityCommon_r15);
dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(ue_cap_req_filter_common_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY UE-CapabilityRAT-Container
/* Initialise to invalid value */
private_data_set_rat_type(actx, 0xFF);
%(DEFAULT_BODY)s
#.FN_BODY RAT-Type VAL_PTR = &rat_type
guint32 rat_type;
%(DEFAULT_BODY)s
private_data_set_rat_type(actx, (guint8)rat_type);
#RAT-Type ::= ENUMERATED {
# eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
# nr, eutra-nr, spare1, ...}
# ueCapabilityRAT-Container
# Container for the UE capabilities of the indicated RAT. The encoding is defined in the specification of each RAT:
# For E-UTRA: the encoding of UE capabilities is defined in IE UE-EUTRA-Capability.
# For UTRA: the octet string contains the INTER RAT HANDOVER INFO message defined in TS 25.331 [19].
# For GERAN CS: the octet string contains the concatenated string of the Mobile Station Classmark 2 and Mobile
# Station Classmark 3. The first 5 octets correspond to Mobile Station Classmark 2 and the following octets correspond
# to Mobile Station Classmark 3. The Mobile Station Classmark 2 is formatted as 'TLV' and is coded in the same way as
# the Mobile Station Classmark 2 information element in TS 24.008 [49]. The first octet is the Mobile station classmark 2
# IEI and its value shall be set to 33H. The second octet is the Length of mobile station classmark 2 and its value shall
# be set to 3. The octet 3 contains the first octet of the value part of the Mobile Station Classmark 2 information element,
# the octet 4 contains the second octet of the value part of the Mobile Station Classmark 2 information element and so
# on. For each of these octets, the first/ leftmost/ most significant bit of the octet contains b8 of the corresponding octet
# of the Mobile Station Classmark 2. The Mobile Station Classmark 3 is formatted as 'V' and is coded in the same way
# as the value part in the Mobile station classmark 3 information element in TS 24.008 [49]. The sixth octet of this octet
# string contains octet 1 of the value part of Mobile station classmark 3, the seventh of octet of this octet string contains
# octet 2 of the value part of Mobile station classmark 3 and so on. Note.
# For GERAN PS: the encoding of UE capabilities is formatted as 'V' and is coded in the same way as the value part in
# the MS Radio Access Capability information element in TS 24.008 [49].
# For CDMA2000-1XRTT: the octet string contains the A21 Mobile Subscription Information and the encoding of this is
# defined in A.S0008 [33]. The A21 Mobile Subscription Information contains the supported CDMA2000 1xRTT band
# class and band sub-class information.
# For NR: The octet string contains the IE UE-NR-Capability as defined in TS 38.331 [82].
# For EUTRA-NR: The octet string contains the IE UE-MRDC-Capability as defined in TS 38.331 [82]
#.FN_BODY UE-CapabilityRAT-Container/ueCapabilityRAT-Container VAL_PTR = &ue_cap_tvb
tvbuff_t *ue_cap_tvb=NULL;
%(DEFAULT_BODY)s
#.FN_FTR UE-CapabilityRAT-Container/ueCapabilityRAT-Container
if(ue_cap_tvb){
guint32 length;
proto_item *item;
proto_tree *subtree, *subtree2;
guint8 byte;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_UE_CapabilityRAT_Container);
switch(private_data_get_rat_type(actx)){
case RAT_Type_eutra:
/* eutra */
dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_utra:
/* utra */
dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_geran_cs:
/* geran-cs */
/* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */
subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, 5,
ett_lte_rrc_UE_CapabilityRAT_Container, &item, "Mobile Station Classmark 2");
byte = tvb_get_guint8(ue_cap_tvb, 0);
if (byte != 0x33) {
expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_type_value,
"Unexpected type value (found 0x%02X)", byte);
}
byte = tvb_get_guint8(ue_cap_tvb, 1);
if (byte != 0x03) {
expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_length_value,
"Unexpected length value (found %d)", byte);
}
de_ms_cm_2(ue_cap_tvb, subtree2, actx->pinfo, 2, 3, NULL, 0);
/* Mobile Station Classmark 3 is formatted as V */
length = tvb_reported_length_remaining(ue_cap_tvb, 5);
subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 5, length,
ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "Mobile Station Classmark 3");
de_ms_cm_3(ue_cap_tvb, subtree2, actx->pinfo, 5, length, NULL, 0);
break;
case RAT_Type_geran_ps:
/* geran-ps */
/* MS Radio Access Capability is formatted as V */
length = tvb_reported_length(ue_cap_tvb);
subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, length,
ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "MS Radio Access Capability");
de_gmm_ms_radio_acc_cap(ue_cap_tvb, subtree2, actx->pinfo, 0, length, NULL, 0);
break;
case RAT_Type_cdma2000_1XRTT:
/* cdma2000-1XRTT */
/* dissection of "A21 Mobile Subscription Information" could be added to packet-ansi_a.c */
break;
case RAT_Type_nr:
/* nr */
dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
case RAT_Type_eutra_nr:
/* eutra-nr */
dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
break;
default:
break;
}
}
#.FN_BODY UE-EUTRA-Capability/featureGroupIndicators VAL_PTR = &featureGroupIndicators_tvb
tvbuff_t *featureGroupIndicators_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndicators_tvb){
/* Dissect featureGroupIndicators */
dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx);
}
#.FN_BODY UE-EUTRA-Capability-v1020-IEs/featureGroupIndRel10-r10 VAL_PTR = &featureGroupIndRel10_tvb
tvbuff_t *featureGroupIndRel10_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndRel10_tvb){
/* Dissect featureGroupIndRel10-r10 */
dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx);
}
#.FN_BODY UE-EUTRA-Capability-v9a0-IEs/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb
tvbuff_t *featureGroupIndRel9Add_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndRel9Add_tvb){
/* Dissect featureGroupIndRel9Add-r9 */
dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx);
}
#.FN_BODY UE-EUTRA-Capability-v1560-IEs/appliedCapabilityFilterCommon-r15 VAL_PTR = &ue_cap_req_filter_common_tvb
tvbuff_t *ue_cap_req_filter_common_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_cap_req_filter_common_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_requestedCapabilityCommon_r15);
dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(ue_cap_req_filter_common_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndicators-r9 VAL_PTR = &featureGroupIndicators_tvb
tvbuff_t *featureGroupIndicators_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndicators_tvb){
/* Dissect featureGroupIndicators-r9 */
dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx);
}
#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb
tvbuff_t *featureGroupIndRel9Add_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndRel9Add_tvb){
/* Dissect featureGroupIndRel9Add-r9 */
dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx);
}
#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-v1060/featureGroupIndRel10-v1060 VAL_PTR = &featureGroupIndRel10_tvb
tvbuff_t *featureGroupIndRel10_tvb=NULL;
%(DEFAULT_BODY)s
if(featureGroupIndRel10_tvb){
/* Dissect featureGroupIndRel10-v1060 */
dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx);
}
#.FN_BODY PhyLayerParameters-v1170/interBandTDD-CA-WithDifferentConfig-r11 VAL_PTR = &inter_band_tdd_ca_tvb
tvbuff_t *inter_band_tdd_ca_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (inter_band_tdd_ca_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_interBandTDD_CA_WithDifferentConfig);
proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1, inter_band_tdd_ca_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2, inter_band_tdd_ca_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY PhyLayerParameters-v1250/tdd-FDD-CA-PCellDuplex-r12 VAL_PTR = &pcellduplex_tvb
tvbuff_t *pcellduplex_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (pcellduplex_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12);
proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1, pcellduplex_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2, pcellduplex_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY PhyLayerParameters-v1310/aperiodicCSI-Reporting-r13 VAL_PTR = &aperiodicCSI_tvb
tvbuff_t *aperiodicCSI_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (aperiodicCSI_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_aperiodicCSI_Reporting_r13);
proto_tree_add_bits_item(subtree, hf_lte_rrc_aperiodicCSI_Reporting_r13_bit1, aperiodicCSI_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_aperiodicCSI_Reporting_r13_bit2, aperiodicCSI_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY PhyLayerParameters-v1310/codebook-HARQ-ACK-r13 VAL_PTR = &codebook_tvb
tvbuff_t *codebook_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (codebook_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_codebook_HARQ_ACK_r13);
proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit1, codebook_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit2, codebook_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY RF-Parameters-v10f0/modifiedMPR-Behavior-r10 VAL_PTR = &modifiedMPR_Behavior_r10_tvb
tvbuff_t *modifiedMPR_Behavior_r10_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (modifiedMPR_Behavior_r10_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_modifiedMPR_Behavior_r10);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0, modifiedMPR_Behavior_r10_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1, modifiedMPR_Behavior_r10_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2, modifiedMPR_Behavior_r10_tvb, 2, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3, modifiedMPR_Behavior_r10_tvb, 3, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4, modifiedMPR_Behavior_r10_tvb, 4, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5, modifiedMPR_Behavior_r10_tvb, 5, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6, modifiedMPR_Behavior_r10_tvb, 6, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7, modifiedMPR_Behavior_r10_tvb, 7, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8, modifiedMPR_Behavior_r10_tvb, 8, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9, modifiedMPR_Behavior_r10_tvb, 9, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10, modifiedMPR_Behavior_r10_tvb, 10, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11, modifiedMPR_Behavior_r10_tvb, 11, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12, modifiedMPR_Behavior_r10_tvb, 12, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13, modifiedMPR_Behavior_r10_tvb, 13, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14, modifiedMPR_Behavior_r10_tvb, 14, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15, modifiedMPR_Behavior_r10_tvb, 15, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16, modifiedMPR_Behavior_r10_tvb, 16, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17, modifiedMPR_Behavior_r10_tvb, 17, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18, modifiedMPR_Behavior_r10_tvb, 18, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19, modifiedMPR_Behavior_r10_tvb, 19, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20, modifiedMPR_Behavior_r10_tvb, 20, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21, modifiedMPR_Behavior_r10_tvb, 21, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22, modifiedMPR_Behavior_r10_tvb, 22, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23, modifiedMPR_Behavior_r10_tvb, 23, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24, modifiedMPR_Behavior_r10_tvb, 24, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25, modifiedMPR_Behavior_r10_tvb, 25, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26, modifiedMPR_Behavior_r10_tvb, 26, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27, modifiedMPR_Behavior_r10_tvb, 27, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28, modifiedMPR_Behavior_r10_tvb, 28, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29, modifiedMPR_Behavior_r10_tvb, 29, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30, modifiedMPR_Behavior_r10_tvb, 30, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31, modifiedMPR_Behavior_r10_tvb, 31, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
RF-Parameters-v1570/dl-1024QAM-TotalWeightedLayers-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_dl_1024QAM_TotalWeightedLayers_r15_fmt)
#.TYPE_RENAME
IRAT-ParametersWLAN-r13/supportedBandListWLAN-r13 SupportedBandListWLAN_r13
#.TYPE_ATTR
MasterInformationBlock/schedulingInfoSIB1-BR-r13 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_BR_r13_vals_ext
#.FN_BODY Handover
/* Initialise to invalid value */
private_data_set_rat_target_type(actx, 0xFF);
%(DEFAULT_BODY)s
#.FN_BODY Handover/targetRAT-Type VAL_PTR = &target_rat_type
guint32 target_rat_type;
%(DEFAULT_BODY)s
private_data_set_rat_target_type(actx, (guint8)target_rat_type);
#.FN_BODY Handover/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){
guint8 byte;
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_targetRAT_MessageContainer);
switch (private_data_get_rat_target_type(actx)){
case T_targetRAT_Type_utra:
/* utra */
if (rrc_irat_ho_to_utran_cmd_handle)
lte_rrc_call_dissector(rrc_irat_ho_to_utran_cmd_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
break;
case T_targetRAT_Type_geran:
/* geran */
byte = tvb_get_guint8(target_rat_msg_cont_tvb, 0);
if (byte == 0x06) {
if (gsm_a_dtap_handle) {
lte_rrc_call_dissector(gsm_a_dtap_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
}
} else {
if (gsm_rlcmac_dl_handle) {
tvbuff_t *gsm_rlcmac_dl_tvb = tvb_new_composite();
guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
pd[0] = 0x40;
tvb_composite_append(gsm_rlcmac_dl_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
tvb_composite_append(gsm_rlcmac_dl_tvb, target_rat_msg_cont_tvb);
tvb_composite_finalize(gsm_rlcmac_dl_tvb);
add_new_data_source(actx->pinfo, gsm_rlcmac_dl_tvb, "GPRS DL control block");
lte_rrc_call_dissector(gsm_rlcmac_dl_handle, gsm_rlcmac_dl_tvb, actx->pinfo, subtree);
}
}
break;
case T_targetRAT_Type_cdma2000_1XRTT:
/* cdma2000-1XRTT */
break;
case T_targetRAT_Type_cdma2000_HRPD:
/* cdma2000-HRPD */
break;
case T_targetRAT_Type_nr:
/* nr */
if (nr_rrc_reconf_handle)
lte_rrc_call_dissector(nr_rrc_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
break;
case T_targetRAT_Type_eutra:
/* eutra */
if (lte_rrc_conn_reconf_handle)
lte_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree);
break;
default:
break;
}
}
#.FN_BODY Handover/nas-SecurityParamFromEUTRA VAL_PTR = &nas_sec_param_from_eutra_tvb
tvbuff_t *nas_sec_param_from_eutra_tvb = NULL;
guint32 length;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (nas_sec_param_from_eutra_tvb) {
length = tvb_reported_length(nas_sec_param_from_eutra_tvb);
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam);
if (private_data_get_rat_target_type(actx) == T_targetRAT_Type_eutra)
de_nas_5gs_n1_mode_to_s1_mode_nas_transparent_cont(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo);
else
de_emm_sec_par_from_eutra(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
}
#.FN_BODY SecurityConfigHO/handoverType/interRAT/nas-SecurityParamToEUTRA VAL_PTR = &nas_sec_param_to_eutra_tvb
tvbuff_t *nas_sec_param_to_eutra_tvb = NULL;
guint32 length;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (nas_sec_param_to_eutra_tvb) {
length = tvb_reported_length(nas_sec_param_to_eutra_tvb);
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam);
de_emm_sec_par_to_eutra(nas_sec_param_to_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
}
#.FN_BODY SecurityConfigHO-v1530/handoverType-v1530/intra5GC-r15/nas-Container-r15 VAL_PTR = &nas_cont_tvb
tvbuff_t *nas_cont_tvb = NULL;
%(DEFAULT_BODY)s
if (nas_cont_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_Container_r15);
de_nas_5gs_intra_n1_mode_nas_transparent_cont(nas_cont_tvb, subtree, actx->pinfo);
}
#.FN_BODY SecurityConfigHO-v1530/handoverType-v1530/epc-To5GC-r15/nas-Container-r15 VAL_PTR = &nas_cont_tvb
tvbuff_t *nas_cont_tvb = NULL;
%(DEFAULT_BODY)s
if (nas_cont_tvb) {
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_Container_r15);
de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(nas_cont_tvb, subtree, actx->pinfo);
}
#.FN_BODY SI-OrPSI-GERAN/si
private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */
%(DEFAULT_BODY)s
#.FN_BODY SI-OrPSI-GERAN/psi
private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_psi); /* PSI message */
%(DEFAULT_BODY)s
#.FN_BODY CellInfoGERAN-r9/systemInformation-r9
private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */
%(DEFAULT_BODY)s
#.FN_BODY SystemInfoListGERAN/_item VAL_PTR = &sys_info_list_tvb
tvbuff_t *sys_info_list_tvb = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (sys_info_list_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
switch (private_data_get_si_or_psi_geran(actx)) {
case SI_OrPSI_GERAN_si:
/* SI message */
if (gsm_a_dtap_handle) {
tvbuff_t *si_tvb = tvb_new_composite();
guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
pd[0] = 0x06;
tvb_composite_append(si_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
tvb_composite_append(si_tvb, sys_info_list_tvb);
tvb_composite_finalize(si_tvb);
add_new_data_source(actx->pinfo, si_tvb, "System Information");
lte_rrc_call_dissector(gsm_a_dtap_handle, si_tvb, actx->pinfo, subtree);
}
break;
case SI_OrPSI_GERAN_psi:
/* PSI message */
if (gsm_rlcmac_dl_handle) {
tvbuff_t *gsm_rlcmac_dl_tvb = tvb_new_composite();
guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1);
pd[0] = 0x40;
tvb_composite_append(gsm_rlcmac_dl_tvb, tvb_new_child_real_data(tvb, pd, 1, 1));
tvb_composite_append(gsm_rlcmac_dl_tvb, sys_info_list_tvb);
tvb_composite_finalize(gsm_rlcmac_dl_tvb);
add_new_data_source(actx->pinfo, gsm_rlcmac_dl_tvb, "GPRS DL control block");
lte_rrc_call_dissector(gsm_rlcmac_dl_handle, sys_info_list_tvb, actx->pinfo, subtree);
}
break;
default:
break;
}
}
#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime VAL_PTR=&async_system_time_tvb
tvbuff_t *async_system_time_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime
if (async_system_time_tvb) {
guint64 bits;
nstime_t ts;
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo);
bits = tvb_get_bits64(async_system_time_tvb, 0, 49, ENC_BIG_ENDIAN);
ts.secs = (time_t)((bits*8)/1228800) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */
ts.nsecs = (int)(((bits%153600)*8*1000000000)/1228800);
proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, async_system_time_tvb, 0, 7, &ts);
proto_tree_add_time(subtree, hf_lte_rrc_local_time, async_system_time_tvb, 0, 7,&ts);
}
#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime VAL_PTR=&sync_system_time_tvb
tvbuff_t *sync_system_time_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime
if (sync_system_time_tvb) {
guint64 bits;
nstime_t ts;
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo);
bits = tvb_get_bits64(sync_system_time_tvb, 0, 39, ENC_BIG_ENDIAN);
ts.secs = (time_t)(bits/100) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */
ts.nsecs = (int)(bits%100)*10000000;
proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, sync_system_time_tvb, 0, 5, &ts);
proto_tree_add_time(subtree, hf_lte_rrc_local_time, sync_system_time_tvb, 0, 5, &ts);
}
#.FN_BODY CellInfoUTRA-FDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
tvbuff_t *utra_bcch_cont_tvb = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
}
#.FN_BODY CellInfoUTRA-TDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
tvbuff_t *utra_bcch_cont_tvb = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
}
#.FN_BODY CellInfoUTRA-TDD-r10/utra-BCCH-Container-r10 VAL_PTR = &utra_bcch_cont_tvb
tvbuff_t *utra_bcch_cont_tvb = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer);
lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree);
}
#.TYPE_ATTR
NeighCellConfig TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_neighCellConfig_vals)
#.FN_BODY NeighCellConfig VAL_PTR = &neigh_cell_config_tvb HF_INDEX=-1
tvbuff_t *neigh_cell_config_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR NeighCellConfig
if (neigh_cell_config_tvb) {
guint bitvalue = tvb_get_bits8(neigh_cell_config_tvb, 0, 2);
actx->created_item = proto_tree_add_uint(tree, hf_index, neigh_cell_config_tvb, 0, 1, bitvalue);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoid-Point-r10 VAL_PTR = &ellipsoid_point_tvb
tvbuff_t *ellipsoid_point_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_point_tvb) {
dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitude-r10 VAL_PTR = &ellipsoid_point_with_alt_tvb
tvbuff_t *ellipsoid_point_with_alt_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_point_with_alt_tvb) {
dissect_lpp_EllipsoidPointWithAltitude_PDU(ellipsoid_point_with_alt_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyCircle-r11 VAL_PTR = &ellipsoid_point_with_uncert_circ_tvb
tvbuff_t *ellipsoid_point_with_uncert_circ_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_point_with_uncert_circ_tvb) {
dissect_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU(ellipsoid_point_with_uncert_circ_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyEllipse-r11 VAL_PTR = &ellipsoid_point_with_uncert_ellipse_tvb
tvbuff_t *ellipsoid_point_with_uncert_ellipse_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_point_with_uncert_ellipse_tvb) {
dissect_lpp_EllipsoidPointWithUncertaintyEllipse_PDU(ellipsoid_point_with_uncert_ellipse_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 VAL_PTR = &ellipsoid_point_with_alt_uncert_ellipsoid_tvb
tvbuff_t *ellipsoid_point_with_alt_uncert_ellipsoid_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_point_with_alt_uncert_ellipsoid_tvb) {
dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU(ellipsoid_point_with_alt_uncert_ellipsoid_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidArc-r11 VAL_PTR = &ellipsoid_arc_tvb
tvbuff_t *ellipsoid_arc_tvb = NULL;
%(DEFAULT_BODY)s
if (ellipsoid_arc_tvb) {
dissect_lpp_EllipsoidArc_PDU(ellipsoid_arc_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/locationCoordinates-r10/polygon-r11 VAL_PTR = &polygon_tvb
tvbuff_t *polygon_tvb = NULL;
%(DEFAULT_BODY)s
if (polygon_tvb) {
dissect_lpp_Polygon_PDU(polygon_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/horizontalVelocity-r10 VAL_PTR = &horizontal_velocity_tvb
tvbuff_t *horizontal_velocity_tvb = NULL;
%(DEFAULT_BODY)s
if (horizontal_velocity_tvb) {
dissect_lpp_HorizontalVelocity_PDU(horizontal_velocity_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/gnss-TOD-msec-r10 VAL_PTR = &gnss_tod_msec_tvb
tvbuff_t *gnss_tod_msec_tvb = NULL;
%(DEFAULT_BODY)s
if (gnss_tod_msec_tvb) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, actx->pinfo);
dissect_per_constrained_integer(gnss_tod_msec_tvb, 0, &asn1_ctx, tree, hf_index, 0U, 3599999U, NULL, FALSE);
}
#.TYPE_ATTR
LocationInfo-r10/gnss-TOD-msec-r10 TYPE=FT_UINT24 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
#.FN_BODY LocationInfo-r10/eag_1/verticalVelocityInfo-r15/verticalVelocity-r15 VAL_PTR = &vertical_velocity_tvb
tvbuff_t *vertical_velocity_tvb = NULL;
%(DEFAULT_BODY)s
if (vertical_velocity_tvb) {
dissect_lpp_HorizontalWithVerticalVelocity_PDU(vertical_velocity_tvb, actx->pinfo, tree, NULL);
}
#.FN_BODY LocationInfo-r10/eag_1/verticalVelocityInfo-r15/verticalVelocityAndUncertainty-r15 VAL_PTR = &vertical_velocity_tvb
tvbuff_t *vertical_velocity_tvb = NULL;
%(DEFAULT_BODY)s
if (vertical_velocity_tvb) {
dissect_lpp_HorizontalVelocityWithUncertainty_PDU(vertical_velocity_tvb, actx->pinfo, tree, NULL);
}
#.TYPE_ATTR
LogMeasResultBT-r15/bt-Addr-r15 TYPE=FT_ETHER DISPLAY=BASE_NONE
#.FN_BODY LogMeasResultBT-r15/bt-Addr-r15 VAL_PTR=&bt_Addr_tvb HF_INDEX=-1
tvbuff_t *bt_Addr_tvb = NULL;
%(DEFAULT_BODY)s
actx->created_item = proto_tree_add_item(tree, hf_index, bt_Addr_tvb, 0, 6, ENC_NA);
#.TYPE_ATTR
LogMeasResultBT-r15/rssi-BT-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.FN_BODY AbsoluteTimeInfo-r10 VAL_PTR = &abs_time_info_tvb
tvbuff_t *abs_time_info_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR AbsoluteTimeInfo-r10
if (abs_time_info_tvb) {
const gchar *str, *hf_str;
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_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_lte_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str);
}
#.TYPE_RENAME
CarrierFreqUTRA-FDD-Ext-r12/multiBandInfoList-r12 FreqBandIndicator_UTRA_FDD_r12
#.TYPE_ATTR
SystemInformationBlockType9/hnb-Name TYPE=FT_STRING DISPLAY=STR_UNICODE
#.FN_BODY SystemInformationBlockType9/hnb-Name VAL_PTR=&hnb_name_tvb HF_INDEX=-1
tvbuff_t *hnb_name_tvb = NULL;
%(DEFAULT_BODY)s
actx->created_item = proto_tree_add_item(tree, hf_index, hnb_name_tvb, 0, -1, ENC_UTF_8|ENC_NA);
#.TYPE_ATTR
SystemInformationBlockType10/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
#.FN_BODY SystemInformationBlockType10/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
tvbuff_t *msg_id_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType10/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 SystemInformationBlockType10/serialNumber VAL_PTR=&serial_nb_tvb
tvbuff_t *serial_nb_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType10/serialNumber
if (serial_nb_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY SystemInformationBlockType10/warningType VAL_PTR=&warning_type_tvb
tvbuff_t *warning_type_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType10/warningType
if (warning_type_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningType);
proto_tree_add_item(subtree, hf_lte_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
SystemInformationBlockType11/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
#.FN_BODY SystemInformationBlockType11/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1
tvbuff_t *msg_id_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType11/messageIdentifier
if (msg_id_tvb) {
private_data_set_message_identifier(actx, 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 SystemInformationBlockType11/serialNumber VAL_PTR=&serial_nb_tvb
tvbuff_t *serial_nb_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType11/serialNumber
if (serial_nb_tvb) {
proto_tree *subtree;
private_data_set_message_identifier(actx,
private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0));
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY SystemInformationBlockType11/warningMessageSegmentType VAL_PTR=&segment_type
guint32 segment_type;
%(DEFAULT_BODY)s
private_data_set_warning_message_segment_type(actx, (guint8)segment_type);
#.FN_BODY SystemInformationBlockType11/warningMessageSegmentNumber VAL_PTR=&segment_number
guint32 segment_number;
%(DEFAULT_BODY)s
private_data_set_warning_message_segment_number(actx, (guint8)segment_number);
#.FN_BODY SystemInformationBlockType11/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb
tvbuff_t *data_coding_scheme_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType11/dataCodingScheme
if (data_coding_scheme_tvb) {
proto_tree *subtree;
guint32 dataCodingScheme;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme);
dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
wmem_map_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)),
GUINT_TO_POINTER(dataCodingScheme));
}
#.FN_BODY SystemInformationBlockType11/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb
tvbuff_t *warning_msg_seg_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType11/warningMessageSegment
if (warning_msg_seg_tvb) {
proto_tree *subtree;
tvbuff_t *frag_tvb;
gpointer p_dcs;
fragment_head *frag_data = fragment_add_seq_check(&lte_rrc_sib11_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
private_data_get_message_identifier(actx), NULL,
private_data_get_warning_message_segment_number(actx),
tvb_reported_length(warning_msg_seg_tvb),
private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE);
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment);
frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB11 warning message",
frag_data, &lte_rrc_sib11_frag_items, NULL, subtree);
p_dcs = wmem_map_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)));
if (frag_tvb && p_dcs) {
dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
}
}
#.TYPE_ATTR
SystemInformationBlockType12-r9/messageIdentifier-r9 TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageIdentifier_vals_ext
#.FN_BODY SystemInformationBlockType12-r9/messageIdentifier-r9 VAL_PTR=&msg_id_tvb HF_INDEX=-1
tvbuff_t *msg_id_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType12-r9/messageIdentifier-r9
if (msg_id_tvb) {
private_data_set_message_identifier(actx, 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 SystemInformationBlockType12-r9/serialNumber-r9 VAL_PTR=&serial_nb_tvb
tvbuff_t *serial_nb_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType12-r9/serialNumber-r9
if (serial_nb_tvb) {
proto_tree *subtree;
private_data_set_message_identifier(actx,
private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0));
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN);
}
#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentType-r9 VAL_PTR=&segment_type
guint32 segment_type;
%(DEFAULT_BODY)s
private_data_set_warning_message_segment_type(actx, (guint8)segment_type);
#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentNumber-r9 VAL_PTR=&segment_number
guint32 segment_number;
%(DEFAULT_BODY)s
private_data_set_warning_message_segment_number(actx, (guint8)segment_number);
#.FN_BODY SystemInformationBlockType12-r9/dataCodingScheme-r9 VAL_PTR=&data_coding_scheme_tvb
tvbuff_t *data_coding_scheme_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType12-r9/dataCodingScheme-r9
if (data_coding_scheme_tvb) {
proto_tree *subtree;
guint32 dataCodingScheme;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme);
dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0);
wmem_map_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)),
GUINT_TO_POINTER(dataCodingScheme));
}
#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegment-r9 VAL_PTR=&warning_msg_seg_tvb
tvbuff_t *warning_msg_seg_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType12-r9/warningMessageSegment-r9
if (warning_msg_seg_tvb) {
proto_tree *subtree;
tvbuff_t *frag_tvb;
gpointer p_dcs;
fragment_head *frag_data = fragment_add_seq_check(&lte_rrc_sib12_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo,
private_data_get_message_identifier(actx), NULL,
private_data_get_warning_message_segment_number(actx),
tvb_reported_length(warning_msg_seg_tvb),
private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE);
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment);
frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB12 warning message",
frag_data, &lte_rrc_sib12_frag_items, NULL, subtree);
p_dcs = wmem_map_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)));
if (frag_tvb && p_dcs) {
dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs));
}
}
#.TYPE_ATTR
EAB-Config-r11/eab-Category-r11 STRINGS=VALS(lte_rrc_eab_category_vals)
#.TYPE_ATTR
SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_daylightSavingTime_vals)
#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1
tvbuff_t *daylight_saving_time_tvb = NULL;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11
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
SystemInformationBlockType16-r11/timeInfo-r11/leapSeconds-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
SystemInformationBlockType16-r11/timeInfo-r11/localTimeOffset-r11 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_localTimeOffset_fmt)
#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11 VAL_PTR=&timeInfo
guint64 timeInfo;
proto_tree *subtree;
nstime_t ts;
guint32 old_offset = offset;
%(DEFAULT_BODY)s
#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11
subtree = proto_item_add_subtree(actx->created_item, ett_lte_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_lte_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
proto_tree_add_time(subtree, hf_lte_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts);
#.TYPE_ATTR
SystemInformationBlockType26-r15/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
#.TYPE_ATTR
WLAN-Identifiers-r12/ssid-r12 TYPE=FT_STRING DISPLAY=STR_ASCII
#.FN_BODY WLAN-Identifiers-r12/ssid-r12 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-r12/bssid-r12 TYPE=FT_ETHER
#.TYPE_ATTR
WLAN-Identifiers-r12/hessid-r12 TYPE=FT_ETHER
#.TYPE_ATTR
RRCConnectionReject-r8-IEs/waitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCConnectionReject-v1020-IEs/extendedWaitTime-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCConnectionRelease-v1020-IEs/extendedWaitTime-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCConnectionRelease-v1540-IEs/waitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCEarlyDataComplete-r15-IEs/extendedWaitTime-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
SystemInformationBlockType1/cellSelectionInfo/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
#.TYPE_ATTR
CellSelectionInfoCE1-v1360/delta-RxLevMinCE1-v1360 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
#.TYPE_ATTR
CellSelectionInfo-v920/q-QualMinOffset-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
MobilityControlInfo/eag_4/schedulingInfoSIB1-BR-r14 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_BR_r13_vals_ext
#.TYPE_ATTR
TrafficPatternInfo-r14/timingOffset-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds
#.FN_BODY TrafficPatternInfo-r14/messageSize-r14 VAL_PTR = &messageSize_r14_tvb HF_INDEX = -1
tvbuff_t *messageSize_r14_tvb = NULL;
%(DEFAULT_BODY)s
if (messageSize_r14_tvb) {
guint bitvalue = tvb_get_bits8(messageSize_r14_tvb, 0, 6);
actx->created_item = proto_tree_add_uint(tree, hf_index, messageSize_r14_tvb, 0, 1, bitvalue);
}
#.TYPE_ATTR
TrafficPatternInfo-r14/messageSize-r14 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_messageSize_r14_vals_ext
#.TYPE_ATTR
RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_timeConnFailure_r10_fmt)
#.TYPE_ATTR
LogMeasInfo-r10/relativeTimeStamp-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FN_BODY BLER-Result-r12/blocksReceived-r12/n-r12 VAL_PTR = &n_r12_tvb HF_INDEX = -1
tvbuff_t *n_r12_tvb = NULL;
%(DEFAULT_BODY)s
if (n_r12_tvb) {
guint bitvalue = tvb_get_bits8(n_r12_tvb, 0, 3);
actx->created_item = proto_tree_add_uint(tree, hf_index, n_r12_tvb, 0, 1, bitvalue);
}
#.TYPE_ATTR
BLER-Result-r12/blocksReceived-r12/n-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_n_r12_vals)
#.FN_BODY BLER-Result-r12/blocksReceived-r12/m-r12 VAL_PTR = &m_r12_tvb HF_INDEX = -1
tvbuff_t *m_r12_tvb = NULL;
%(DEFAULT_BODY)s
if (m_r12_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, m_r12_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
BLER-Result-r12/blocksReceived-r12/m-r12 TYPE=FT_UINT8 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_m_r12_fmt)
#.TYPE_ATTR
BLER-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_BLER_Range_r12_vals_ext
#.TYPE_ATTR
TimeSinceFailure-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
TimeUntilReconnection-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FIELD_ATTR
CarrierFreqUTRA-FDD/q-RxLevMin ABBREV=utra_q_RxLevMin
#.TYPE_ATTR
CarrierFreqUTRA-FDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.FIELD_ATTR
CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 ABBREV=utra_q_RxLevMin_r12
#.TYPE_ATTR
CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.FIELD_ATTR
CarrierFreqUTRA-TDD/q-RxLevMin ABBREV=utra_q_RxLevMin
#.TYPE_ATTR
CarrierFreqUTRA-TDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.FIELD_ATTR
CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 ABBREV=utra_q_RxLevMin_r12
#.TYPE_ATTR
CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqUTRA-FDD/p-MaxUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
CarrierFreqUTRA-FDD-Ext-r12/p-MaxUTRA-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
CarrierFreqUTRA-TDD/p-MaxUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
CarrierFreqUTRA-TDD-r12/p-MaxUTRA-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
CarrierFreqUTRA-FDD/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
CarrierFreqUTRA-FDD-Ext-r12/q-QualMin-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.FIELD_ATTR
CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin ABBREV=geran_q_RxLevMin
#.TYPE_ATTR
CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_geran_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqsInfoGERAN/commonInfo/p-MaxGERAN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
CQI-ReportConfig/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
#.TYPE_ATTR
CQI-ReportConfig-r10/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
#.TYPE_ATTR
CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals)
#.TYPE_ATTR
P-C-AndCBSR-r11/p-C-r11 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
P-C-AndCBSR-r13/p-C-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
P-C-AndCBSR-r15 /p-C-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
CSI-RS-Config-r10/csi-RS-r10/setup/p-C-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.FN_BODY IP-Address-r13/ipv4-r13 VAL_PTR=&ipv4_tvb HF_INDEX=-1
tvbuff_t *ipv4_tvb = NULL;
%(DEFAULT_BODY)s
if (ipv4_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, ipv4_tvb, 0, 4, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
IP-Address-r13/ipv4-r13 TYPE=FT_IPv4 DISPLAY=BASE_NONE
#.FN_BODY IP-Address-r13/ipv6-r13 VAL_PTR=&ipv6_tvb HF_INDEX=-1
tvbuff_t *ipv6_tvb = NULL;
%(DEFAULT_BODY)s
if (ipv6_tvb) {
actx->created_item = proto_tree_add_item(tree, hf_index, ipv6_tvb, 0, 16, ENC_BIG_ENDIAN);
}
#.TYPE_ATTR
IP-Address-r13/ipv6-r13 TYPE=FT_IPv6 DISPLAY=BASE_NONE
#.FN_BODY MAC-MainConfig
/* Accumulate values in drx_config while dissecting DRX config.
Do this here rather than down in DRX-Config so that we will see
fields overwritten in the R11 extension */
drx_config_t *drx_config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
if (drx_config->configured) {
mac_lte_info* p_mac_lte_info;
/* Verify that config is valid */
drx_check_config_sane(drx_config, actx);
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* If found, configure MAC with DRX config */
set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo);
}
/* Clear out state */
drx_config->configured = FALSE;
}
#.FN_BODY MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 VAL_PTR=&timer
guint32 timer;
%(DEFAULT_BODY)s
#.TYPE_ATTR
MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
#.TYPE_ATTR
MAC-MainConfig/eag_9/shortTTI-AndSPT-r15/setup/ssr-ProhibitTimer-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
#.FN_BODY MAC-MainConfig/eag_2/mac-MainConfig-v1020/extendedBSR-Sizes-r10
mac_lte_info* p_mac_lte_info;
%(DEFAULT_BODY)s
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* Tell MAC to use extended BSR sizes configuration */
set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, TRUE, actx->pinfo);
}
#.TYPE_ATTR
PDSCH-ConfigCommon/referenceSignalPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
P-MaxNR-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
SPS-ConfigUL/setup/p0-Persistent/p0-NominalPUSCH-Persistent DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
SPS-ConfigUL/setup/p0-Persistent/p0-UE-PUSCH-Persistent DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-NominalPUSCH-PersistentSubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-UE-PUSCH-PersistentSubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlCommon/deltaPreambleMsg3 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
#.TYPE_ATTR
UplinkPowerControlCommon/p0-NominalPUSCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonSCell-v1130/deltaPreambleMsg3-r11 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
#.TYPE_ATTR
UplinkPowerControlCommon/p0-NominalPUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommon-v1610/p0-NominalSRS-Add-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonPSCell-r12/p0-NominalPUCCH-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonSCell-v1310/p0-NominalPUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonSCell-r10/p0-NominalPUSCH-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonPUSCH-LessCell-v1430/p0-Nominal-PeriodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommonPUSCH-LessCell-v1430/p0-Nominal-AperiodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlDedicated/p0-UE-PUSCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlDedicated/p0-UE-PUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-NominalPUSCH-SubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-UE-PUSCH-SubframeSet2-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlDedicated-v1530/p0-UE-PUSCH-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPUSCH-LessPowerControlDedicated-v1430/p0-UE-PeriodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPUSCH-LessPowerControlDedicated-v1430/p0-UE-AperiodicSRS-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlAddSRS-r16/p0-UE-SRS-Add-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlDedicatedSCell-r10/p0-UE-PUSCH-r10 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
UplinkPowerControlDedicatedSCell-v1310/p0-UE-PUCCH DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
CellSelectionInfoNFreq-r13/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
#.TYPE_ATTR
Q-QualMin-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
Q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqNR-r15/q-RxLevMin-r15 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqNR-r15/q-RxLevMinSUL-r15 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqNR-r15/q-QualMin-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
Q-OffsetRangeInterRAT DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
ReselectionThreshold DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_ReselectionThreshold_vals_ext
#.TYPE_ATTR
ReselectionThresholdQ-r9 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
T-ReselectionEUTRA-CE-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
Hysteresis DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_Hysteresis_vals_ext
#.TYPE_ATTR
CSI-RSRP-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_vals_ext
#.TYPE_ATTR
MBSFN-RSRQ-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_MBSFN_RSRQ_Range_vals_ext
#.TYPE_RENAME
MeasConfig/s-Measure S_Measure
#.TYPE_ATTR
MeasConfig/s-Measure DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_s_Measure_vals_ext
#.TYPE_ATTR
MeasResultGERAN/measResult/rssi DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&gsm_a_rr_rxlev_vals_ext
#.TYPE_ATTR
MeasResultUTRA/measResult/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_EcN0_vals_ext
#.TYPE_ATTR
MeasResultUTRA/measResult/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_RSCP_vals_ext
#.TYPE_ATTR
ReportConfigEUTRA/triggerType/event/eventId/eventA3/a3-Offset DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
#.TYPE_ATTR
ReportConfigEUTRA/triggerType/event/eventId/eventA6-r10/a6-Offset-r10 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
#.TYPE_ATTR
ReportConfigEUTRA/triggerType/event/eventId/eventC2-r12/c2-Offset-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
#.TYPE_ATTR
CondReconfigurationTriggerEUTRA-r16/condEventId-r16/a3-Offset-r16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_a3_a6_c2_Offset_vals_ext
#.TYPE_RENAME
ThresholdEUTRA/threshold-RSRP Threshold_RSRP_Range
#.TYPE_ATTR
ThresholdEUTRA/threshold-RSRP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_threshold_RSRP_vals_ext
#.TYPE_RENAME
ThresholdEUTRA/threshold-RSRQ Threshold_RSRQ_Range
#.TYPE_ATTR
ThresholdEUTRA/threshold-RSRQ DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_threshold_RSRQ_vals_ext
#.TYPE_ATTR
ThresholdGERAN DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdGERAN_vals_ext
#.TYPE_RENAME
ThresholdUTRA/utra-RSCP Threshold_utra_RSRP
#.TYPE_ATTR
ThresholdUTRA/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdUTRA_RSCP_vals_ext
#.TYPE_RENAME
ThresholdUTRA/utra-EcN0 Threshold_utra_EcN0
#.TYPE_ATTR
ThresholdUTRA/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_thresholdUTRA_EcN0_vals_ext
#.TYPE_ATTR
RSRP-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_vals_ext
#.TYPE_ATTR
RSRP-Range-v1360 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_v1360_vals_ext
#.TYPE_ATTR
RSRP-RangeSL-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL_vals)
#.TYPE_ATTR
RSRP-RangeSL2-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL2_vals)
#.TYPE_ATTR
RSRP-RangeSL3-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL3_vals)
#.TYPE_ATTR
RSRP-RangeSL4-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_RangeSL4_vals_ext
#.TYPE_ATTR
RSRP-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSRP_RangeNR_r15_fmt)
#.TYPE_ATTR
RSRQ-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
#.TYPE_ATTR
RSRQ-Range-v1250 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
#.TYPE_ATTR
RSRQ-Range-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
#.TYPE_ATTR
RSRQ-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSRQ_RangeNR_r15_fmt)
#.TYPE_ATTR
RS-SINR-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RS_SINR_Range_r13_fmt)
#.TYPE_ATTR
RS-SINR-RangeNR-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RS_SINR_RangeNR_r15_fmt)
#.TYPE_ATTR
RSSI-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSSI_Range_r13_fmt)
#.TYPE_ATTR
MeasResultWLAN-r13/availableAdmissionCapacityWLAN-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_availableAdmissionCapacityWLAN_fmt)
#.TYPE_ATTR
MeasResultForECID-r9/ue-RxTxTimeDiffResult-r9 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_ue_RxTxTimeDiffResult_fmt)
#.TYPE_ATTR
MeasResultForRSSI-r13/channelOccupancy-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
#.TYPE_ATTR
MeasResultForRSSI-NR-r16/channelOccupancyNR-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_percent
#.TYPE_ATTR
UL-PDCP-DelayResult-r13/excessDelay-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_excessDelay_r13_vals_ext
#.TYPE_ATTR
UL-PDCP-DelayValueResult-r16/averageDelay-r16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_averageDelay_r16_fmt)
#.TYPE_ATTR
MeasResultSSTD-r13/subframeBoundaryOffsetResult-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_subframeBoundaryOffsetResult_r13_fmt)
#.FN_BODY SoundingRS-UL-ConfigDedicated/setup/duration
actx->created_item = proto_tree_add_bits_item(tree, hf_index, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
#.TYPE_ATTR
SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
#.FN_HDR MasterInformationBlock
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock");
#.FN_HDR SystemInformation
if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation [");
}
#.FN_BODY SystemInformation
%(DEFAULT_BODY)s
if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
}
#.FN_HDR SystemInformationBlockType1
if (private_data_get_bcch_dl_sch_msg(actx) == FALSE) {
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1");
}
#.FN_HDR SystemInformation-BR-r13
private_data_set_bcch_dl_sch_msg(actx, TRUE);
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-BR-r13 [");
#.FN_BODY SystemInformation-BR-r13
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
#.FN_HDR SystemInformationBlockType1-BR-r13
private_data_set_bcch_dl_sch_msg(actx, TRUE);
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-BR-r13");
#.FN_HDR SystemInformation-MBMS-r14
private_data_set_bcch_dl_sch_msg(actx, TRUE);
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-MBMS-r14 [");
#.FN_BODY SystemInformation-MBMS-r14
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
#.FN_HDR SystemInformationBlockType1-MBMS-r14
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformationBlockType1-MBMS-r14");
#.FN_HDR SystemInformationBlockType2
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
#.FN_HDR SystemInformationBlockType3
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
#.FN_HDR SystemInformationBlockType4
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
#.FN_HDR SystemInformationBlockType5
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
#.FN_HDR SystemInformationBlockType6
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6");
#.FN_HDR SystemInformationBlockType7
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7");
#.FN_HDR SystemInformationBlockType8
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8");
#.FN_HDR SystemInformationBlockType9
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9");
#.FN_HDR SystemInformationBlockType10
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB10");
#.FN_HDR SystemInformationBlockType11
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB11");
#.FN_HDR SystemInformationBlockType12-r9
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB12");
#.FN_HDR SystemInformationBlockType13-r9
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB13");
#.FN_HDR SystemInformationBlockType14-r11
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
#.FN_HDR SystemInformationBlockType15-r11
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
#.FN_HDR SystemInformationBlockType16-r11
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB16");
#.FN_HDR SystemInformationBlockType17-r12
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB17");
#.FN_HDR SystemInformationBlockType18-r12
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB18");
#.FN_HDR SystemInformationBlockType19-r12
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB19");
#.FN_HDR SystemInformationBlockType20-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
#.FN_HDR SystemInformationBlockType21-r14
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB21");
#.FN_HDR SystemInformationBlockType24-r15
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB24");
#.FN_HDR SystemInformationBlockType25-r15
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB25");
#.FN_HDR SystemInformationBlockType26-r15
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB26");
#.FN_HDR SystemInformationBlockType26a-r16
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB26a");
#.FN_HDR SystemInformationBlockType27-r16
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB27");
#.FN_HDR SystemInformationBlockType28-r16
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB28");
#.FN_HDR SystemInformationBlockType29-r16
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB29");
#.FN_HDR SystemInformationBlockPos-r15
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIBPos");
#.FN_HDR MBSFNAreaConfiguration-r9
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBSFNAreaConfiguration-r9");
#.FN_HDR MBMSCountingRequest-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSCountingRequest-r10");
#.FN_HDR Paging
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
#.FN_HDR RRCConnectionReestablishment
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishment");
#.FN_HDR RRCConnectionReestablishmentReject
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentReject");
#.FN_HDR RRCConnectionReject
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReject");
#.FN_HDR RRCConnectionSetup
mac_lte_info* p_mac_lte_info;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetup");
#.FN_HDR RRCEarlyDataComplete-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataComplete-r15");
#.FN_HDR CSFBParametersResponseCDMA2000
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CSFBParametersResponseCDMA2000");
#.FN_HDR DLInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLInformationTransfer");
#.FN_HDR HandoverFromEUTRAPreparationRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFromEUTRAPreparationRequest");
#.FN_HDR MobilityFromEUTRACommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityFromEUTRACommand");
#.FN_HDR RRCConnectionReconfiguration
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfiguration");
#.FN_HDR RRCConnectionRelease
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRelease");
#.FN_HDR SecurityModeCommand
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeCommand");
#.FN_HDR UECapabilityEnquiry
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityEnquiry");
#.FN_HDR CounterCheck
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CounterCheck");
#.FN_HDR UEInformationRequest-r9
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationRequest-r9");
#.FN_HDR LoggedMeasurementConfiguration-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoggedMeasurementConfiguration-r10");
#.FN_HDR RNReconfiguration-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RNReconfiguration-r10");
#.FN_HDR RRCConnectionResume-r13
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResume-r13");
#.FN_HDR DLDedicatedMessageSegment-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDedicatedMessageSegment-r16");
#.FN_HDR RRCConnectionReestablishmentRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentRequest");
#.FN_HDR RRCConnectionRequest
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRequest");
#.FN_HDR RRCConnectionResumeRequest-r13
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeRequest-r13");
#.FN_HDR RRCEarlyDataRequest-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataRequest-r15");
#.FN_HDR CSFBParametersRequestCDMA2000
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CSFBParametersRequestCDMA2000");
#.FN_HDR MeasurementReport
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MeasurementReport");
#.FN_HDR RRCConnectionReconfigurationComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfigurationComplete");
#.FN_HDR RRCConnectionReestablishmentComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentComplete");
#.FN_HDR RRCConnectionSetupComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetupComplete");
#.FN_HDR SecurityModeComplete
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeComplete");
#.FN_BODY SecurityModeFailure
mac_lte_info *p_mac_lte_info;
%(DEFAULT_BODY)s
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* Inform PDCP that the UE failed to execute the securityModeCommand */
set_pdcp_lte_security_algorithms_failed(p_mac_lte_info->ueid);
}
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecurityModeFailure");
#.FN_HDR UECapabilityInformation
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInformation");
#.FN_HDR ULHandoverPreparationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULHandoverPreparationTransfer");
#.FN_HDR ULInformationTransfer
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransfer");
#.FN_HDR CounterCheckResponse
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CounterCheckResponse");
#.FN_HDR UEInformationResponse-r9
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationResponse-r9");
#.FN_HDR ProximityIndication-r9
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ProximityIndication-r9");
#.FN_HDR RNReconfigurationComplete-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RNReconfigurationComplete-r10");
#.FN_HDR MBMSCountingResponse-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSCountingResponse-r10");
#.FN_HDR InterFreqRSTDMeasurementIndication-r10
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InterFreqRSTDMeasurementIndication-r10");
#.FN_HDR UEAssistanceInformation-r11
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEAssistanceInformation-r11");
#.FN_HDR InDeviceCoexIndication-r11
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InDeviceCoexIndication-r11");
#.FN_HDR MBMSInterestIndication-r11
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MBMSInterestIndication-r11");
#.FN_HDR SCGFailureInformation-r12
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCGFailureInformation-r12");
#.FN_HDR SidelinkUEInformation-r12
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SidelinkUEInformation-r12");
#.FN_HDR WLANConnectionStatusReport-r13
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WLANConnectionStatusReport-r13");
#.FN_HDR RRCConnectionResumeComplete-r13
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeComplete-r13");
#.FN_HDR ULInformationTransferMRDC-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransferMRDC-r15");
#.FN_HDR SCGFailureInformationNR-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCGFailureInformationNR-r15");
#.FN_HDR MeasReportAppLayer-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MeasReportAppLayer-r15");
#.FN_HDR FailureInformation-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureInformation-r15");
#.FN_HDR ULDedicatedMessageSegment-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDedicatedMessageSegment-r16");
#.FN_HDR PURConfigurationRequest-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PURConfigurationRequest-r16");
#.FN_HDR FailureInformation-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "FailureInformation-r16");
#.FN_HDR MCGFailureInformation-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MCGFailureInformation-r16");
#.FN_HDR ULInformationTransferIRAT-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransferIRAT-r16");
#.FN_HDR SCPTMConfiguration-r13
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-r13");
#.FN_HDR SCPTMConfiguration-BR-r14
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-BR-r14");
#.FN_BODY Paging/systemInfoModification
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification)");
expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing);
#.FN_BODY Paging/pagingRecordList
/* Number of items is (last 3 bits of first byte and first bit of second) + 1 */
guint16 number_of_records = ((tvb_get_ntohs(tvb, 0) >> 7) & 0x0f) + 1;
%(DEFAULT_BODY)s
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%u PagingRecord%%s)", number_of_records, plurality(number_of_records, "", "s"));
#.FN_BODY Paging-v1310-IEs/systemInfoModification-eDRX-r13
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification-eDRX-r13)");
expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing_edrx);
#.FN_BODY MasterInformationBlock/systemFrameNumber VAL_PTR=&value_tvb
tvbuff_t *value_tvb = NULL;
guint32 sfn;
%(DEFAULT_BODY)s
/* Show SFN in info column */
sfn = tvb_get_guint8(value_tvb, 0);
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (SFN=%%u)", sfn);
#.FN_BODY SystemInformationBlockType1/systemInfoValueTag VAL_PTR=&value
guint32 value;
%(DEFAULT_BODY)s
/* Track whether systemInfoValue has changed since last seen, indicating new SI config
TODO: add link back to previous config and (if known) time since previous config
was first seen */
if (!actx->pinfo->fd->visited) {
if (system_info_value_current_set && (value != system_info_value_current)) {
/* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */
wmem_map_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num),
GUINT_TO_POINTER(system_info_value_current+1));
}
system_info_value_current_set = TRUE;
system_info_value_current = value;
}
else {
/* Look up indication of changed info value from hash table */
gpointer p_previous = wmem_map_lookup(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num));
if (p_previous != NULL) {
/* Subtract one from stored result to get previous value */
guint32 previous = GPOINTER_TO_UINT(p_previous) - 1;
expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_si_info_value_changed,
"SI Info Value changed (now %%u, was %%u)", value, previous);
}
}
#.TYPE_ATTR
SystemInformationBlockType5/eag_6/scptm-FreqOffset-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_scptm_FreqOffset_r14_fmt)
#.TYPE_ATTR
SL-V2X-ConfigCommon-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
#.FN_BODY Paging/etws-Indication
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " (ETWS)");
expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_earthquake_warning_sys);
#.FN_BODY Paging-v920-IEs/cmas-Indication-r9
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " (CMAS)");
expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_commercial_mobile_alert_sys);
#.FN_BODY RadioResourceConfigDedicated
private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PCELL);
%(DEFAULT_BODY)s
#.FN_BODY RadioResourceConfigDedicatedPSCell-r12
private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PSCELL);
%(DEFAULT_BODY)s
#.FN_BODY DRB-ToAddMod
struct mac_lte_info *p_mac_lte_info;
struct rlc_lte_info *p_rlc_lte_info;
/* Get the struct and clear it out */
drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx);
memset(drb_mapping, 0, sizeof(*drb_mapping));
%(DEFAULT_BODY)s
/* Need UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info) {
drb_mapping->ueid = p_mac_lte_info->ueid;
/* Tell MAC about this mapping */
set_mac_lte_channel_mapping(drb_mapping);
}
/* Also tell RLC how many PDCP sequence number bits and whether it should use extended LI */
p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0);
if (p_rlc_lte_info) {
if (drb_mapping->pdcp_sn_size_present) {
set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo,
p_rlc_lte_info->ueid,
drb_mapping->drbid,
drb_mapping->pdcp_sn_size);
}
if (drb_mapping->rlcMode_present) {
set_rlc_lte_drb_li_field(actx->pinfo,
p_rlc_lte_info->ueid,
drb_mapping->drbid,
drb_mapping->rlc_ul_ext_li_field,
drb_mapping->rlc_dl_ext_li_field);
}
}
/* Clear out the struct again */
memset(&drb_mapping, 0, sizeof(drb_mapping));
#.FN_BODY DRB-Identity VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->drbid = (guint8)value;
}
#.FN_BODY RLC-Config VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE;
mapping->rlcMode_present = TRUE;
if (mapping->rlcMode == RLC_AM_MODE) {
mapping->pdcp_sn_size = 12;
mapping->pdcp_sn_size_present = TRUE;
}
}
#.FN_BODY RLC-Config-v1250/ul-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
gboolean ext_li_field;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlc_ul_ext_li_field = ext_li_field;
}
#.FN_BODY RLC-Config-v1250/dl-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
gboolean ext_li_field;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlc_dl_ext_li_field = ext_li_field;
}
#.FN_BODY RLC-Config-v1310/ul-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn
gboolean ext_am_sn;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlc_ul_ext_am_sn = ext_am_sn;
}
#.FN_BODY RLC-Config-v1310/dl-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn
gboolean ext_am_sn;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlc_dl_ext_am_sn = ext_am_sn;
}
#.FN_BODY DRB-ToAddMod/logicalChannelIdentity VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->lcid = (guint8)value;
mapping->lcid_present = TRUE;
}
#.FN_BODY DRB-ToAddMod/eag_5/logicalChannelIdentity-r15 VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->lcid = (guint8)value;
mapping->lcid_present = TRUE;
}
#.FN_BODY SN-FieldLength VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->um_sn_length = (value==0) ? 5 : 10;
mapping->um_sn_length_present = TRUE;
}
#.FN_BODY LogicalChannelConfig/ul-SpecificParameters/priority VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->ul_priority = value;
mapping->ul_priority_present = TRUE;
}
#.TYPE_ATTR
LWA-Config-r13/eag_1/wt-MAC-Address-r14 TYPE=FT_ETHER
#.FN_BODY PDCP-Config/rlc-UM/pdcp-SN-Size VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->pdcp_sn_size = (value==0) ? 7 : 12;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY PDCP-Config/eag_2/pdcp-SN-Size-v1130
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->pdcp_sn_size = 15;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY PDCP-Config/eag_4/pdcp-SN-Size-v1310
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->pdcp_sn_size = 18;
mapping->pdcp_sn_size_present = TRUE;
}
#.TYPE_ATTR
LBT-Config-r14/maxEnergyDetectionThreshold-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
LBT-Config-r14/energyDetectionThresholdOffset-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.FN_BODY NeighCellsInfo-r12/transmissionModeList-r12 VAL_PTR=&tm_list_tvb
tvbuff_t *tm_list_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (tm_list_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_transmissionModeList_r12);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm1, tm_list_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm2, tm_list_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm3, tm_list_tvb, 2, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm4, tm_list_tvb, 3, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm6, tm_list_tvb, 4, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm8, tm_list_tvb, 5, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm9, tm_list_tvb, 6, 1, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm10, tm_list_tvb, 7, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY PUCCH-ConfigDedicated-v1020/simultaneousPUCCH-PUSCH-r10
mac_lte_info* p_mac_lte_info;
%(DEFAULT_BODY)s
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* Tell MAC to use simultaneous PUCCH/PUSCH configuration */
set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, private_data_get_simult_pucch_pusch_cell_type(actx), TRUE, actx->pinfo);
}
#.TYPE_RENAME
PUCCH-ConfigDedicated-r13/pucch-Format-r13/channelSelection-r13/n1PUCCH-AN-CS-r13/setup/n1PUCCH-AN-CS-List-r13 N1PUCCH_AN_CS_List_r13
#.FN_BODY RACH-ConfigCommon/preambleInfo
%(DEFAULT_BODY)s
/* Initialise to invalid value */
private_data_set_ra_preambles(actx, 0);
#.FN_BODY RACH-ConfigCommon/preambleInfo/numberOfRA-Preambles VAL_PTR=&value
guint value;
%(DEFAULT_BODY)s
/* This is mandatory, store value */
private_data_set_ra_preambles(actx, value);
#.FN_BODY RACH-ConfigCommon/preambleInfo/preamblesGroupAConfig/sizeOfRA-PreamblesGroupA VAL_PTR=&value
guint ra_value, value;
%(DEFAULT_BODY)s
/* Retrived stored value for RA (both Group A & Group B) */
ra_value = private_data_get_ra_preambles(actx);
if (value > ra_value) {
/* Something is wrong if A has more RAPIDs than A & B combined! */
expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_too_many_group_a_rapids,
"Group A size (%%s) > Total RA size (%%s)!",
val_to_str_const(value, lte_rrc_T_sizeOfRA_PreamblesGroupA_vals, "Unknown"),
val_to_str_const(ra_value, lte_rrc_T_numberOfRA_Preambles_vals, "Unknown"));
}
/* Tell MAC dissector so that it can say for RAPIDs whether A, B, non-RA */
set_mac_lte_rapid_ranges((value+1)*4, (ra_value+1)*4);
/* Reset again */
private_data_set_ra_preambles(actx, 0);
#.TYPE_ATTR
RACH-ConfigCommon-v1250/txFailParams-r12/connEstFailOffset-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.FN_BODY DRX-Config/setup/onDurationTimer VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
/* Set 'configured' state so that config can be examine once complete! */
config->configured = TRUE;
config->onDurationTimer = drx_lookup_onDurationTimer(value);
#.FN_BODY DRX-Config/setup/drx-InactivityTimer VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->inactivityTimer = drx_lookup_inactivityTimer(value);
#.FN_BODY DRX-Config/setup/drx-RetransmissionTimer VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->retransmissionTimer = drx_lookup_retransmissionTimer(value);
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->longCycle = drx_lookup_longCycle(value);
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf10 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf20 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf32 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf40 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf64 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf80 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf128 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf160 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf256 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf320 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf512 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf640 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1024 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1280 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2048 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2560 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/setup/shortDRX/shortDRX-Cycle VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->shortCycleConfigured = TRUE;
config->shortCycle = drx_lookup_shortCycle(value);
#.FN_BODY DRX-Config/setup/shortDRX/drxShortCycleTimer VAL_PTR=&timer
guint32 timer;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->shortCycleTimer = timer;
#.TYPE_ATTR
DRX-Config/setup/shortDRX/drxShortCycleTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_short_drx_cycles
#.FN_BODY DRX-Config-v1130/drx-RetransmissionTimer-v1130 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->retransmissionTimer = 0;
#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->longCycle = drx_lookup_longCycle_v1130(value);
#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf60-v1130 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf70-v1130 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config-v1130/shortDRX-Cycle-v1130 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
/* Presumably config->shortCycleConfigured will be set... */
config->shortCycle = 4;
#.FN_BODY DRX-Config-v1310/longDRX-CycleStartOffset-v1310
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->longCycle = 60;
#.FN_BODY DRX-Config-v1310/longDRX-CycleStartOffset-v1310/sf60-v1310 VAL_PTR=&value
guint32 value;
drx_config_t* config = private_data_get_drx_config(actx);
%(DEFAULT_BODY)s
config->cycleOffset = value;
#.FN_BODY DRX-Config/release
mac_lte_info* p_mac_lte_info;
%(DEFAULT_BODY)s
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* If found, tell MAC to release DRX config */
set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo);
}
#.FN_BODY RRCConnectionSetup
/* Look for UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info != NULL) {
/* If found, tell MAC to release DRX config coming from a previous RRC connection */
/* We do release the configuration here instead of RRC Connection Release message */
/* as the UE could have locally dropped the previous RRC Connection */
set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo);
/* Also tell MAC to release extended BSR sizes configuration */
set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, FALSE, actx->pinfo);
/* Also tell MAC to release simutaneous PUCCH/PUSCH configuration */
set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PCELL, FALSE, actx->pinfo);
set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PSCELL, FALSE, actx->pinfo);
/* TODO: also release PDCP security config here */
}
%(DEFAULT_BODY)s
#.FN_BODY SecurityAlgorithmConfig
pdcp_lte_info *p_pdcp_lte_info;
pdcp_security_info_t *p_security_algorithms;
%(DEFAULT_BODY)s
p_security_algorithms = private_data_pdcp_security_algorithms(actx);
p_security_algorithms->configuration_frame = actx->pinfo->num;
p_security_algorithms->previous_configuration_frame = 0;
p_security_algorithms->previous_integrity = eia0;
p_security_algorithms->previous_ciphering = eea0;
/* Look for UE identifier */
p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0);
if (p_pdcp_lte_info != NULL) {
/* Configure algorithms */
set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms);
}
#.FN_BODY CipheringAlgorithm-r12 VAL_PTR=&value
guint32 value;
pdcp_security_info_t *p_security_algorithms;
%(DEFAULT_BODY)s
p_security_algorithms = private_data_pdcp_security_algorithms(actx);
p_security_algorithms->ciphering = (enum security_ciphering_algorithm_e)value;
#.FN_BODY SecurityAlgorithmConfig/integrityProtAlgorithm VAL_PTR=&value
guint32 value;
pdcp_security_info_t *p_security_algorithms;
%(DEFAULT_BODY)s
p_security_algorithms = private_data_pdcp_security_algorithms(actx);
p_security_algorithms->integrity = (enum security_integrity_algorithm_e)value;
#.FN_BODY SchedulingRequestConfig/setup/sr-ConfigIndex VAL_PTR=&value
guint32 value;
guint16 periodicity, subframe_offset;
proto_item *ti;
proto_tree *subtree;
gint index_offset = offset;
%(DEFAULT_BODY)s
/* Break config index into its parts */
sr_lookup_configindex(value, &periodicity, &subframe_offset);
/* Show parts as generated fields */
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex);
ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity);
proto_item_set_generated(ti);
ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset);
proto_item_set_generated(ti);
#.FN_BODY SchedulingRequestConfigSCell-r13/setup/sr-ConfigIndex-r13 VAL_PTR=&value
guint32 value;
guint16 periodicity, subframe_offset;
proto_item *ti;
proto_tree *subtree;
gint index_offset = offset;
%(DEFAULT_BODY)s
/* Break config index into its parts */
sr_lookup_configindex(value, &periodicity, &subframe_offset);
/* Show parts as generated fields */
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex);
ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity);
proto_item_set_generated(ti);
ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset);
proto_item_set_generated(ti);
#.FN_BODY FreqBandIndicator VAL_PTR=&value
guint32 value;
%(DEFAULT_BODY)s
set_freq_band_indicator(value, actx);
#.FN_FTR BandParameters-r10/bandEUTRA-r10
remove_last_freq_band_indicator(actx);
#.FN_BODY InterFreqBandInfo
meas_capabilities_item_band_mappings_t *mappings;
proto_item *it;
%(DEFAULT_BODY)s
mappings = private_data_meas_capabilities_item_band_mappings(actx);
if (mappings->number_of_interfreq_serving_read < mappings->number_of_bands_set) {
guint16 serving_band = mappings->band_by_item[mappings->number_of_interfreq_serving_read];
guint16 target_band = mappings->band_by_item[mappings->number_of_interfreq_target_read++];
if (mappings->number_of_interfreq_target_read == mappings->number_of_bands_set) {
mappings->number_of_interfreq_target_read = 0;
mappings->number_of_interfreq_serving_read++;
}
/* Add a generated item showing serving & target band for this entry */
it = proto_tree_add_uint(tree, hf_lte_rrc_bandEUTRA, tvb, 0, 0, serving_band);
proto_item_append_text(it, " -> band %%u", target_band);
proto_item_set_generated(it);
}
#.FN_BODY UE-EUTRA-Capability/measParameters
meas_capabilities_item_band_mappings_t *mappings;
%(DEFAULT_BODY)s
/* Clear band mapping once measParameters IE has been decoded */
mappings = private_data_meas_capabilities_item_band_mappings(actx);
mappings->number_of_bands_set = 0;
#.FN_BODY ReleaseCause VAL_PTR=&value
guint32 value;
%(DEFAULT_BODY)s
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [cause=%%s]",
val_to_str(value, lte_rrc_ReleaseCause_vals, "Unknown"));
#.TYPE_ATTR
LWA-Parameters-r13/wlan-MAC-Address-r13 TYPE=FT_ETHER
#.TYPE_ATTR
VisitedCellInfo-r12/timeSpent-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationLow-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, " (BSS load)");
#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationHigh-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, " (BSS load)");
#.TYPE_ATTR
WLAN-OffloadConfig-r12/thresholdWLAN-RSSI-r12/thresholdWLAN-RSSI-Low-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_thresholdWLAN_RSSI_fmt)
#.TYPE_ATTR
WLAN-OffloadConfig-r12/thresholdWLAN-RSSI-r12/thresholdWLAN-RSSI-High-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_thresholdWLAN_RSSI_fmt)
#.FN_BODY MeasParameters-v1520/measGapPatterns-r15 VAL_PTR = &meas_gap_pattern_tvb
tvbuff_t *meas_gap_pattern_tvb = NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
#.FN_BODY MeasParameters-v1520/measGapPatterns-r15
if (meas_gap_pattern_tvb) {
static int * const lte_rrc_meas_gap_pattern_flags[] = {
&hf_lte_rrc_measGapPatterns_r15_bit1,
&hf_lte_rrc_measGapPatterns_r15_bit2,
&hf_lte_rrc_measGapPatterns_r15_bit3,
&hf_lte_rrc_measGapPatterns_r15_bit4,
&hf_lte_rrc_measGapPatterns_r15_bit5,
&hf_lte_rrc_measGapPatterns_r15_bit6,
&hf_lte_rrc_measGapPatterns_r15_bit7,
&hf_lte_rrc_measGapPatterns_r15_bit8,
NULL
};
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measGapPatterns_r15);
proto_tree_add_bitmask_list(subtree, meas_gap_pattern_tvb, 0, 1, lte_rrc_meas_gap_pattern_flags, ENC_NA);
}
#.TYPE_ATTR
MBMS-Parameters-v1470/mbms-MaxBW-r14/explicitValue DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_mbms_MaxBW_r14_fmt)
#.FN_BODY WLAN-backhaulRate-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "Kbps");
#.TYPE_ATTR
SL-CBR-PSSCH-TxConfig-r14/cr-Limit-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_cr_Limit_r14_fmt)
#.TYPE_ATTR
SL-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_SL_CBR_r14_fmt)
#.TYPE_ATTR
SL-CommResourcePoolV2X-r14/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
#.TYPE_ATTR
SL-DiscResourcePool-r12/eag_1/txParamsAddNeighFreq-r13/setup/referenceSignalPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
SL-DiscSysInfoReport-r13/cellSelectionInfo-r13/q-RxLevMinOffset-r13 STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals)
#.TYPE_ATTR
SL-DiscSysInfoReport-r13/referenceSignalPower-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
SL-V2X-InterFreqUE-Config-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
#.TYPE_ATTR
P0-SL-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-Config-r15/setup/nr-SecondaryCellGroupConfig-r15 VAL_PTR = &rrc_reconfiguration_tvb
tvbuff_t *rrc_reconfiguration_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_SecondaryCellGroupConfig_r15);
dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-RadioBearerConfig1-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfig_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionReconfiguration-v1510-IEs/nr-RadioBearerConfig2-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfigS_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionReconfiguration-v1610-IEs/sl-ConfigDedicatedForNR-r16 VAL_PTR = &rrc_reconfiguration_tvb
tvbuff_t *rrc_reconfiguration_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ConfigDedicatedForNR_r16);
dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionReconfigurationComplete-v1510-IEs/scg-ConfigResponseNR-r15 VAL_PTR = &rrc_reconfiguration_complete_tvb
tvbuff_t *rrc_reconfiguration_complete_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_complete_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_scg_ConfigResponseNR_r15);
dissect_nr_rrc_RRCReconfigurationComplete_PDU(rrc_reconfiguration_complete_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionResume-v1510-IEs/nr-RadioBearerConfig1-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfig_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionResume-v1510-IEs/nr-RadioBearerConfig2-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_RadioBearerConfigS_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionResume-v1610-IEs/nr-SecondaryCellGroupConfig VAL_PTR = &rrc_reconfiguration_tvb
tvbuff_t *rrc_reconfiguration_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nr_SecondaryCellGroupConfig);
dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY RRCConnectionResumeComplete-v1610-IEs/scg-ConfigResponseNR-r16 VAL_PTR = &rrc_reconfiguration_complete_tvb
tvbuff_t *rrc_reconfiguration_complete_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_complete_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_scg_ConfigResponseNR_r16);
dissect_nr_rrc_RRCReconfigurationComplete_PDU(rrc_reconfiguration_complete_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY FailureReportSCG-NR-r15/measResultSCG-r15 VAL_PTR = &meas_results_tvb
tvbuff_t *meas_results_tvb = NULL;
%(DEFAULT_BODY)s
if (meas_results_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measResultSCG_r15);
dissect_nr_rrc_MeasResultSCG_Failure_PDU(meas_results_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY FailureReportMCG-r16/measResultSCG-r16 VAL_PTR = &meas_results_tvb
tvbuff_t *meas_results_tvb = NULL;
%(DEFAULT_BODY)s
if (meas_results_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_measResultSCG_r16);
dissect_nr_rrc_MeasResultSCG_Failure_PDU(meas_results_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY ULInformationTransferMRDC-r15-IEs/ul-DCCH-MessageNR-r15 VAL_PTR = &nr_ul_dcch_tvb
tvbuff_t *nr_ul_dcch_tvb = NULL;
%(DEFAULT_BODY)s
if (nr_ul_dcch_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ul_DCCH_MessageNR_r15);
dissect_nr_rrc_UL_DCCH_Message_PDU(nr_ul_dcch_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY ULInformationTransferIRAT-r16-IEs/ul-DCCH-MessageNR-r16 VAL_PTR = &nr_ul_dcch_tvb
tvbuff_t *nr_ul_dcch_tvb = NULL;
%(DEFAULT_BODY)s
if (nr_ul_dcch_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ul_DCCH_MessageNR_r16);
dissect_nr_rrc_UL_DCCH_Message_PDU(nr_ul_dcch_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY SL-Parameters-v1610/sl-ParameterNR-r16 VAL_PTR = &sl_params_nr_tvb
tvbuff_t *sl_params_nr_tvb = NULL;
%(DEFAULT_BODY)s
if (sl_params_nr_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sl_ParameterNR_r16);
dissect_nr_rrc_SidelinkParametersNR_r16_PDU(sl_params_nr_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY V2X-BandCombinationParametersNR-r16/nr/v2x-BandParametersNR-r16 VAL_PTR = &v2x_band_params_nr_tvb
tvbuff_t *v2x_band_params_nr_tvb = NULL;
%(DEFAULT_BODY)s
if (v2x_band_params_nr_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_v2x_BandParametersNR_r16);
dissect_nr_rrc_BandParametersSidelink_r16_PDU(v2x_band_params_nr_tvb, actx->pinfo, subtree, NULL);
}
#
# EUTRA-InterNodeDefinitions
#
#.FN_BODY HandoverPreparationInformation-v1540-IEs/sourceRB-ConfigIntra5GC-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigIntra5GC_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-ConfigNR-r15/sourceRB-ConfigNR-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigNR_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-ConfigNR-r15/sourceRB-ConfigSN-NR-r15 VAL_PTR = &radio_bearer_config_tvb
tvbuff_t *radio_bearer_config_tvb = NULL;
%(DEFAULT_BODY)s
if (radio_bearer_config_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceRB_ConfigSN_NR_r15);
dissect_nr_rrc_RadioBearerConfig_PDU(radio_bearer_config_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-ConfigNR-r15/sourceOtherConfigSN-NR-r15 VAL_PTR = &rrc_reconfiguration_tvb
tvbuff_t *rrc_reconfiguration_tvb = NULL;
%(DEFAULT_BODY)s
if (rrc_reconfiguration_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceOtherConfigSN_NR_r15);
dissect_nr_rrc_RRCReconfiguration_PDU(rrc_reconfiguration_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-Context-v1130/eag_2/sourceContextEN-DC-r15 VAL_PTR = &scg_config_info_tvb
tvbuff_t *scg_config_info_tvb = NULL;
%(DEFAULT_BODY)s
if (scg_config_info_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sourceContextEN_DC_r15);
dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(scg_config_info_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-Context-v1130/eag_3/selectedbandCombinationInfoEN-DC-v1540 VAL_PTR = &band_comb_info_sn_tvb
tvbuff_t *band_comb_info_sn_tvb = NULL;
%(DEFAULT_BODY)s
if (band_comb_info_sn_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_selectedbandCombinationInfoEN_DC_v1540);
dissect_nr_rrc_BandCombinationInfoSN_PDU(band_comb_info_sn_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-Context-v1610/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_lte_rrc_sidelinkUEInformationNR_r16);
dissect_nr_rrc_SidelinkUEInformationNR_r16_PDU(sidelink_ue_info_nr_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-Context-v1610/ueAssistanceInformationNR-r16 VAL_PTR = &ue_assist_info_nr_tvb
tvbuff_t *ue_assist_info_nr_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_assist_info_nr_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_r16);
dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL);
}
#.FN_BODY AS-Context-v1620/ueAssistanceInformationNR-SCG-r16 VAL_PTR = &ue_assist_info_nr_tvb
tvbuff_t *ue_assist_info_nr_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_assist_info_nr_tvb) {
proto_tree *subtree;
subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_ueAssistanceInformationNR_SCG_r16);
dissect_nr_rrc_UEAssistanceInformation_PDU(ue_assist_info_nr_tvb, actx->pinfo, subtree, NULL);
}
#
# EUTRA-Sidelink-Preconf
#
#.TYPE_ATTR
SL-V2X-PreconfigFreqInfo-r14/offsetDFN-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_offsetDFN_r14_fmt)
#.TYPE_ATTR
SL-V2X-PreconfigCommPool-r14/threshS-RSSI-CBR-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_threshS_RSSI_CBR_r14_fmt)
#
# PC5-RRC-Definitions
#
#.FN_HDR MasterInformationBlock-SL
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-SL");
#.FN_HDR MasterInformationBlock-SL-V2X-r14
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-SL-V2X-r14");
#
# NBIOT-RRC-Definitions
#
#.FN_HDR UL-CCCH-Message-NB
actx->pinfo->link_dir = P2P_DIR_UL;
#.FN_HDR UL-DCCH-Message-NB
actx->pinfo->link_dir = P2P_DIR_UL;
#.FN_HDR DL-CCCH-Message-NB
actx->pinfo->link_dir = P2P_DIR_DL;
#.FN_HDR DL-DCCH-Message-NB
actx->pinfo->link_dir = P2P_DIR_DL;
#.FN_HDR MasterInformationBlock-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MasterInformationBlock-NB");
#.FN_HDR SystemInformation-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SystemInformation-NB [");
#.FN_BODY SystemInformation-NB
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " ]");
#.FN_HDR SystemInformationBlockType1-NB
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1-NB");
#.FN_HDR SystemInformationBlockType2-NB-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2");
#.FN_HDR SystemInformationBlockType3-NB-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3");
#.FN_HDR SystemInformationBlockType4-NB-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4");
#.FN_HDR SystemInformationBlockType5-NB-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5");
#.FN_HDR SystemInformationBlockType14-NB-r13
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB14");
#.FN_HDR Paging-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging-NB");
#.FN_HDR RRCConnectionReestablishment-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishment-NB");
#.FN_HDR RRCConnectionReject-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReject-NB");
#.FN_HDR RRCConnectionSetup-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetup-NB");
#.FN_HDR RRCEarlyDataComplete-NB-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataComplete-NB-r15");
#.FN_HDR DLInformationTransfer-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLInformationTransfer-NB");
#.FN_HDR RRCConnectionReconfiguration-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfiguration-NB");
#.FN_HDR RRCConnectionRelease-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRelease-NB");
#.FN_HDR UECapabilityEnquiry-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityEnquiry-NB");
#.FN_HDR RRCConnectionResume-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResume-NB");
#.FN_HDR UEInformationRequest-NB-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationRequest-NB-r16");
#.FN_HDR RRCConnectionReestablishmentRequest-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentRequest-NB");
#.FN_HDR RRCConnectionRequest-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionRequest-NB");
#.FN_HDR RRCConnectionResumeRequest-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeRequest-NB");
#.FN_HDR RRCEarlyDataRequest-NB-r15
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCEarlyDataRequest-NB-r15");
#.FN_HDR SCPTMConfiguration-NB-r14
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCPTMConfiguration-NB-r14");
#.FN_HDR RRCConnectionReconfigurationComplete-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReconfigurationComplete-NB");
#.FN_HDR RRCConnectionReestablishmentComplete-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionReestablishmentComplete-NB");
#.FN_HDR RRCConnectionSetupComplete-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionSetupComplete-NB");
#.FN_HDR UECapabilityInformation-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInformation-NB");
#.FN_HDR ULInformationTransfer-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULInformationTransfer-NB");
#.FN_HDR RRCConnectionResumeComplete-NB
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRCConnectionResumeComplete-NB");
#.FN_HDR UEInformationResponse-NB-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationResponse-NB-r16");
#.FN_HDR PURConfigurationRequest-NB-r16
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PURConfigurationRequest-NB-r16");
#.FN_HDR SystemInformationBlockType15-NB-r14
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB15");
#.FN_HDR SystemInformationBlockType20-NB-r14
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB20");
#.FN_HDR SystemInformationBlockType22-NB-r14
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB22");
#.FN_HDR SystemInformationBlockType23-NB-r15
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB23");
#.FN_HDR SystemInformationBlockType27-NB-r16
col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB27");
#.TYPE_ATTR
MasterInformationBlock-NB/schedulingInfoSIB1-r13 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_NB_r13_vals_ext
#.TYPE_ATTR
MasterInformationBlock-TDD-NB-r15/schedulingInfoSIB1-r15 TYPE=FT_UINT32 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_schedulingInfoSIB1_NB_r13_vals_ext
#.TYPE_ATTR
RRCConnectionReject-NB-r13-IEs/extendedWaitTime-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCConnectionRelease-NB-r13-IEs/extendedWaitTime-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCConnectionRelease-NB-v1430-IEs/extendedWaitTime-CPdata-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
RRCEarlyDataComplete-NB-r15-IEs/extendedWaitTime-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.TYPE_ATTR
CellSelectionInfo-NB-v1350/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
#.TYPE_RENAME
SystemInformationBlockType2-NB-r13/multiBandInfoList-r13 AdditionalSpectrumEmission_r13
#.TYPE_ATTR
IntraFreqCellReselectionInfo-NB-v1350/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
#.TYPE_ATTR
SystemInformationBlockType5/eag_1/scptm-FreqOffset-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_scptm_FreqOffset_r14_fmt)
#.TYPE_ATTR
InterFreqCarrierFreqInfo-NB-r13/eag_1/delta-RxLevMin-v1350 STRINGS=VALS(lte_rrc_delta_RxLevMin_vals)
#.TYPE_ATTR
AB-Config-NB-r13/ab-Category-r13 STRINGS=VALS(lte_rrc_eab_category_vals)
#.TYPE_ATTR
NPDSCH-ConfigCommon-NB-r13/nrs-Power-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
RACH-ConfigCommon-NB-r13/connEstFailOffset-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
SR-WithoutHARQ-ACK-Config-NB-r15/setup/sr-ProhibitTimer-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_sr_periods
#.TYPE_ATTR
SR-NPRACH-Resource-NB-r15/p0-SR-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.FN_BODY DRB-ToAddMod-NB-r13
struct mac_lte_info *p_mac_lte_info;
struct rlc_lte_info *p_rlc_lte_info;
/* Get the struct and clear it out */
drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx);
memset(drb_mapping, 0, sizeof(*drb_mapping));
%(DEFAULT_BODY)s
/* Need UE identifier */
p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0);
if (p_mac_lte_info) {
drb_mapping->ueid = p_mac_lte_info->ueid;
/* Tell MAC about this mapping */
set_mac_lte_channel_mapping(drb_mapping);
}
/* Also tell RLC how many PDCP sequence number bits and whether it should use extended LI */
p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0);
if (p_rlc_lte_info) {
if (drb_mapping->pdcp_sn_size_present) {
set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo,
p_rlc_lte_info->ueid,
drb_mapping->drbid,
drb_mapping->pdcp_sn_size);
}
if (drb_mapping->rlcMode_present) {
set_rlc_lte_drb_li_field(actx->pinfo,
p_rlc_lte_info->ueid,
drb_mapping->drbid,
drb_mapping->rlc_ul_ext_li_field,
drb_mapping->rlc_dl_ext_li_field);
}
}
/* Clear out the struct again */
memset(&drb_mapping, 0, sizeof(drb_mapping));
#.FN_BODY RLC-Config-NB-r13/am
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlcMode = RLC_AM_MODE;
mapping->rlcMode_present = TRUE;
mapping->pdcp_sn_size = 7;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY RLC-Config-NB-r13/um-Bi-Directional-r15
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlcMode = RLC_UM_MODE;
mapping->rlcMode_present = TRUE;
mapping->um_sn_length = 5;
mapping->um_sn_length_present = TRUE;
mapping->pdcp_sn_size = 7;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY RLC-Config-NB-r13/um-Uni-Directional-UL-r15
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlcMode = RLC_UM_MODE;
mapping->rlcMode_present = TRUE;
mapping->um_sn_length = 5;
mapping->um_sn_length_present = TRUE;
mapping->pdcp_sn_size = 7;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY RLC-Config-NB-r13/um-Uni-Directional-DL-r15
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->rlcMode = RLC_UM_MODE;
mapping->rlcMode_present = TRUE;
mapping->um_sn_length = 5;
mapping->um_sn_length_present = TRUE;
mapping->pdcp_sn_size = 7;
mapping->pdcp_sn_size_present = TRUE;
}
#.FN_BODY DRB-ToAddMod-NB-r13/logicalChannelIdentity-r13 VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->lcid = (guint8)value;
mapping->lcid_present = TRUE;
}
#.FN_BODY LogicalChannelConfig-NB-r13/priority-r13 VAL_PTR=&value
guint32 value;
drb_mapping_t *mapping = private_data_get_drb_mapping(actx);
%(DEFAULT_BODY)s
if (mapping != NULL) {
mapping->ul_priority = value;
mapping->ul_priority_present = TRUE;
}
#.TYPE_ATTR
UplinkPowerControlCommon-NB-r13/p0-NominalNPUSCH-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm
#.TYPE_ATTR
UplinkPowerControlCommon-NB-r13/deltaPreambleMsg3-r13 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals)
#.TYPE_ATTR
UplinkPowerControlDedicated-NB-r13/p0-UE-NPUSCH-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels
#.TYPE_ATTR
ReselectionThreshold-NB-v1360 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_ReselectionThreshold_NB_vals_ext
#.TYPE_ATTR
NRSRP-Range-NB-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_NRSRP_Range_NB_r14_fmt)
#.TYPE_ATTR
NRSRQ-Range-NB-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_NRSRQ_Range_NB_r14_fmt)
#.TYPE_ATTR
PUR-Config-NB-r16/pur-PhysicalConfig-r16/p0-UE-NPUSCH-r16 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels