LTE RRC: upgrade dissector to v12.4.0

Change-Id: I0bd6c124bd3aa0efe09db81135adc690751e08ae
Reviewed-on: https://code.wireshark.org/review/6477
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2015-01-10 19:19:04 +01:00
parent d07364d042
commit aa9376e0b4
6 changed files with 8464 additions and 2106 deletions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 36.331 V12.3.0 (2014-09)
-- 3GPP TS 36.331 V12.4.0 (2014-12)
--
EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
@ -12,18 +12,32 @@ IMPORTS
CellIdentity,
C-RNTI,
DL-DCCH-Message,
DRB-Identity,
DRB-ToReleaseList,
InDeviceCoexIndication-r11,
MasterInformationBlock,
maxFreq,
maxDRB,
maxSCell-r10,
maxServCell-r10,
MBMSInterestIndication-r11,
MeasConfig,
MeasGapConfig,
OtherConfig-r9,
PhysCellId,
P-Max,
PowerCoordinationInfo-r12,
RadioResourceConfigDedicated,
RRCConnectionReconfigurationComplete,
RSRP-Range,
RSRQ-Range,
RSRQ-Range-v12xy,
SCellToAddModList-r10,
SCG-ConfigPartSCG-r12,
SecurityAlgorithmConfig,
SCellIndex-r10,
SCellToReleaseList-r10,
ServCellIndex-r10,
ShortMAC-I,
SystemInformationBlockType1,
SystemInformationBlockType1-v890-IEs,
@ -32,7 +46,7 @@ IMPORTS
UECapabilityInformation,
UE-CapabilityRAT-ContainerList,
UE-RadioPagingInfo-r12,
WLAN-OffloadConfig-r12
WLAN-OffloadConfig-r12
FROM EUTRA-RRC-Definitions;
@ -68,16 +82,16 @@ HandoverPreparationInformation ::= SEQUENCE {
HandoverPreparationInformation-r8-IEs ::= SEQUENCE {
ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList,
as-Config AS-Config OPTIONAL, -- Cond HO
as-Config AS-Config OPTIONAL, -- Cond HO
rrm-Config RRM-Config OPTIONAL,
as-Context AS-Context OPTIONAL, -- Cond HO
as-Context AS-Context OPTIONAL, -- Cond HO
nonCriticalExtension HandoverPreparationInformation-v920-IEs OPTIONAL
}
HandoverPreparationInformation-v920-IEs ::= SEQUENCE {
ue-ConfigRelease-r9 ENUMERATED {
rel9, rel10, rel11, spare5, spare4, spare3,
spare2, spare1, ...} OPTIONAL, -- Cond HO2
spare2, spare1, ...} OPTIONAL, -- Cond HO2
nonCriticalExtension HandoverPreparationInformation-v9d0-IEs OPTIONAL
}
@ -97,12 +111,106 @@ HandoverPreparationInformation-v1130-IEs ::= SEQUENCE {
}
HandoverPreparationInformation-v12xy-IEs ::= SEQUENCE {
ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3
as-Config-v12xy AS-Config-v12xy OPTIONAL, -- Cond HO2
ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3
as-Config-v12xy AS-Config-v12xy OPTIONAL, -- Cond HO2
nonCriticalExtension SEQUENCE {} OPTIONAL
}
SCG-Config-r12 ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
scg-Config-r12 SCG-Config-r12-IEs,
spare7 NULL,
spare6 NULL, spare5 NULL, spare4 NULL,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
SCG-Config-r12-IEs ::= SEQUENCE {
scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
SCG-ConfigInfo-r12 ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
scg-ConfigInfo-r12 SCG-ConfigInfo-r12-IEs,
spare7 NULL,
spare6 NULL, spare5 NULL, spare4 NULL,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
SCG-ConfigInfo-r12-IEs ::= SEQUENCE {
-- Current dedicated MCG configuration
radioResourceConfigDedMCG-r12 RadioResourceConfigDedicated OPTIONAL,
securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL,
sCellToAddModListMCG-r12 SCellToAddModList-r10 OPTIONAL,
measGapConfig-r12 MeasGapConfig OPTIONAL,
-- MeNB controlled SCG configuration relevant for SeNB
powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL,
-- Current SCG configuration (as delta signalling is used upon SCG change)
scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL,
-- UE capability related information
eutra-CapabilityInfo-r12 OCTET STRING (CONTAINING UECapabilityInformation) OPTIONAL,
scg-ConfigRestrictInfo-r12 SCG-ConfigRestrictInfo-r12 OPTIONAL,
-- AS-Context information
mbmsInterestIndication-r11 OCTET STRING (CONTAINING
MBMSInterestIndication-r11) OPTIONAL,
-- RRM config alike fields
measResultServCellListSCG-r12 MeasResultServCellListSCG-r12 OPTIONAL,
-- Fields for different SCG configuration request
drb-ToAddModListSCG-r12 DRB-InfoListSCG-r12 OPTIONAL,
drb-ToReleaseListSCG-r12 DRB-ToReleaseList OPTIONAL,
sCellToAddModListSCG-r12 SCellToAddModListSCG-r12 OPTIONAL,
sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL,
-- Other fields
p-Max P-Max OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
DRB-InfoListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-InfoSCG-r12
DRB-InfoSCG-r12 ::= SEQUENCE {
eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup
drb-Identity-r12 DRB-Identity,
drb-Type-r12 ENUMERATED {split, scg} OPTIONAL -- Cond DRB-Setup
}
SCellToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF Cell-ToAddMod-r12
Cell-ToAddMod-r12 ::= SEQUENCE {
sCellIndex-r12 SCellIndex-r10,
cellIdentification-r12 SEQUENCE {
physCellId-r12 PhysCellId,
dl-CarrierFreq-r12 ARFCN-ValueEUTRA
} OPTIONAL, -- Cond SCellAdd
measResultCellToAdd-r12 SEQUENCE {
rsrpResult-r12 RSRP-Range,
rsrqResult-r12 RSRQ-Range
} OPTIONAL -- Cond SCellAdd
}
MeasResultServCellListSCG-r12 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServCellSCG-r12
MeasResultServCellSCG-r12 ::= SEQUENCE {
servCellId-r12 ServCellIndex-r10,
measResultSCell-r12 SEQUENCE {
rsrpResultSCell-r12 RSRP-Range,
rsrqResultSCell-r12 RSRQ-Range
}
}
SCG-ConfigRestrictInfo-r12 ::= SEQUENCE {
maxSCH-TB-BitsDL-r12 INTEGER (1..100),
maxSCH-TB-BitsUL-r12 INTEGER (1..100)
}
UERadioAccessCapabilityInformation ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
@ -160,6 +268,8 @@ AS-Config ::= SEQUENCE {
-- e.g. from a legacy source eNB
]],
[[ sourceSCellConfigList-r10 SCellToAddModList-r10 OPTIONAL
]],
[[ sourceConfigSCG-r12 SCG-Config-r12 OPTIONAL
]]
}
@ -232,6 +342,8 @@ CandidateCellInfo-r10 ::= SEQUENCE {
rsrqResult-r10 RSRQ-Range OPTIONAL,
...,
[[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL
]],
[[ rsrqResult-v12xy RSRQ-Range-v12xy OPTIONAL
]]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
-- 3GPP TS 36.331 V12.3.0 (2014-09)
-- 3GPP TS 36.331 V12.4.0 (2014-12)
--
EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
@ -16,10 +16,14 @@ IMPORTS
LoggingDuration-r10,
LoggingInterval-r10,
LogMeasInfo-r10,
MeasCSI-RS-Id-r12,
MeasId,
MeasId-v12xy,
MeasIdToAddModList,
MeasIdToAddModListExt-r12,
MeasObjectToAddModList,
MeasObjectToAddModList-v9e0,
MeasScaleFactor-r12,
MobilityStateParameters,
NeighCellConfig,
PhysCellId,
@ -37,7 +41,9 @@ IMPORTS
TraceReference-r10,
VisitedCellInfoList-r12,
maxCellMeas,
maxMeasId
maxCSI-RS-Meas-r12,
maxMeasId,
maxMeasId-r12
FROM EUTRA-RRC-Definitions;
@ -93,6 +99,7 @@ LogMeasInfoList2-r10 ::= SEQUENCE (SIZE (1..maxLogMeas-r10)) OF LogMeasInfo-r
VarMeasConfig ::= SEQUENCE {
-- Measurement identities
measIdList MeasIdToAddModList OPTIONAL,
measIdListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL,
-- Measurement objects
measObjectList MeasObjectToAddModList OPTIONAL,
measObjectList-v9i0 MeasObjectToAddModList-v9e0 OPTIONAL,
@ -100,6 +107,7 @@ VarMeasConfig ::= SEQUENCE {
reportConfigList ReportConfigToAddModList OPTIONAL,
-- Other parameters
quantityConfig QuantityConfig OPTIONAL,
measScaleFactor-r12 MeasScaleFactor-r12 OPTIONAL,
s-Measure INTEGER (-140..-44) OPTIONAL,
speedStatePars CHOICE {
release NULL,
@ -107,16 +115,20 @@ VarMeasConfig ::= SEQUENCE {
mobilityStateParameters MobilityStateParameters,
timeToTrigger-SF SpeedStateScaleFactors
}
} OPTIONAL
} OPTIONAL,
allowInterruptions-r11 BOOLEAN OPTIONAL
}
VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport
VarMeasReportList-r12 ::= SEQUENCE (SIZE (1..maxMeasId-r12)) OF VarMeasReport
VarMeasReport ::= SEQUENCE {
-- List of measurement that have been triggered
measId MeasId,
measId-v12xy MeasId-v12xy OPTIONAL,
cellsTriggeredList CellsTriggeredList OPTIONAL,
csi-RS-TriggeredList-r12 CSI-RS-TriggeredList-r12 OPTIONAL,
numberOfReportsSent INTEGER
}
@ -132,6 +144,9 @@ CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CHOICE {
},
physCellIdCDMA2000 PhysCellIdCDMA2000
}
CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12
VarMobilityHistoryReport-r12 ::= VisitedCellInfoList-r12
@ -153,7 +168,7 @@ VarShortMAC-Input ::= SEQUENCE {
}
maxLogMeas-r10 INTEGER ::= 4060-- Maximum number of logged measurement entries
-- that can be stored by the UE
-- that can be stored by the UE
END

View File

@ -1,6 +1,6 @@
# lte-rrc.cnf
# lte-rrc conformation file
# Copyright 2008 Vincent Helfre, 2009-2014 Pascal Quantin
# Copyright 2008 Vincent Helfre, 2009-2015 Pascal Quantin
#.OPT
PER
@ -10,6 +10,7 @@ UNALIGNED
#.USE_VALS_EXT
BandclassCDMA2000
DRX-Config/setup/drx-InactivityTimer
PDCP-Config/eag_3/t-Reordering-r12
Q-OffsetRange
RRM-Config/ue-InactiveTime
SupportedBandUTRA-FDD
@ -47,23 +48,34 @@ UE-EUTRA-Capability @ue_eutra_cap
#.OMIT_ASSIGNMENT
# Get rid of unused code warnings
VarShortMAC-Input
VarMeasConfig
VarMeasReportList
VarMeasReport
Cell-ToAddMod-r12
CellsTriggeredList
VarConnEstFailReport-r11
VarLogMeasConfig-r10
VarLogMeasReport-r10
CSI-RS-TriggeredList-r12
DRB-InfoListSCG-r12
DRB-InfoSCG-r12
LogMeasInfoList2-r10
VarRLF-Report-r10
VarLogMeasConfig-r11
VarLogMeasReport-r11
VarRLF-Report-r11
VarLogMeasConfig-r12
VarMobilityHistoryReport-r12
MeasResultServCellListSCG-r12
MeasResultServCellSCG-r12
SCellToAddModListSCG-r12
SCG-ConfigInfo-r12
SCG-ConfigInfo-r12-IEs
SCG-ConfigRestrictInfo-r12
UERadioPagingInformation
UERadioPagingInformation-r12-IEs
VarConnEstFailReport-r11
VarLogMeasConfig-r10
VarLogMeasConfig-r11
VarLogMeasConfig-r12
VarLogMeasReport-r10
VarLogMeasReport-r11
VarMeasConfig
VarMeasReportList
VarMeasReportList-r12
VarMeasReport
VarMobilityHistoryReport-r12
VarRLF-Report-r10
VarRLF-Report-r11
VarShortMAC-Input
#.MAKE_ENUM
RAT-Type TYPE_PREFIX
@ -247,6 +259,46 @@ if(ue_cap_tvb){
proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2, pcellduplex_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);
}
#.FN_BODY Handover
/* Initialise to invalid value */
private_data_set_rat_target_type(actx, 0xFF);
@ -508,11 +560,14 @@ NeighCellConfig TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_neighCellCon
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],
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
@ -747,6 +802,9 @@ RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=&lte_rrc_tim
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "s");
#.TYPE_ATTR
BLER-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_BLER_Range_r12_vals_ext
#.FN_BODY TimeSinceFailure-r11
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "s");
@ -754,21 +812,39 @@ RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=&lte_rrc_tim
#.TYPE_ATTR
CarrierFreqUTRA-FDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqUTRA-TDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.TYPE_ATTR
CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_utra_q_RxLevMin_vals_ext
#.FN_BODY CarrierFreqUTRA-FDD/p-MaxUTRA
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY CarrierFreqUTRA-FDD-Ext-r12/p-MaxUTRA-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY CarrierFreqUTRA-TDD/p-MaxUTRA
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY CarrierFreqUTRA-TDD-r12/p-MaxUTRA-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY CarrierFreqUTRA-FDD/q-QualMin
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dB");
#.FN_BODY CarrierFreqUTRA-FDD-Ext-r12/q-QualMin-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dB");
#.TYPE_ATTR
CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_geran_q_RxLevMin_vals_ext
@ -843,11 +919,11 @@ CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPD
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dB");
#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-Persistent-SubframeSet2-r12/p0-NominalPUSCH-Persistent-SubframeSet2-r12
#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/p0-NominalPUSCH-PersistentSubframeSet2-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-Persistent-SubframeSet2-r12/p0-UE-PUSCH-Persistent-SubframeSet2-r12
#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/p0-UE-PUSCH-PersistentSubframeSet2-r12
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dB");
@ -865,6 +941,10 @@ UplinkPowerControlCommonSCell-v11x0/deltaPreambleMsg3-r11 STRINGS=VALS(lte_rrc_d
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY UplinkPowerControlCommonPSCell-r12/p0-NominalPUCCH
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
#.FN_BODY UplinkPowerControlCommonSCell-r10/p0-NominalPUSCH-r10
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
@ -914,6 +994,12 @@ ReselectionThreshold DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_Reselecti
#.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
@ -930,10 +1016,13 @@ MeasResultUTRA/measResult/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lt
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_Offset_vals_ext
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_Offset_vals_ext
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_RENAME
ThresholdEUTRA/threshold-RSRP Threshold_RSRP_Range
@ -968,6 +1057,9 @@ RSRP-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRP_Range_vals_ext
#.TYPE_ATTR
RSRQ-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
#.TYPE_ATTR
RSRQ-Range-v12xy DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lte_rrc_RSRQ_Range_vals_ext
#.TYPE_ATTR
MeasResultForECID-r9/ue-RxTxTimeDiffResult-r9 DISPLAY=BASE_CUSTOM STRINGS=&lte_rrc_ue_RxTxTimeDiffResult_fmt
@ -1230,6 +1322,10 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSInterestIndication-r11");
#.FN_HDR SCGFailureInformation-r12
col_append_str(actx->pinfo->cinfo, COL_INFO, "SCGFailureInformation-r12");
#.FN_BODY Paging/systemInfoModification
%(DEFAULT_BODY)s
col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification)");
@ -1344,7 +1440,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
}
}
#.FN_BODY UL-AM-RLC-r12/extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
#.FN_BODY RLC-Config-v12xy/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
@ -1352,7 +1448,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
mapping->rlc_ul_ext_li_field = ext_li_field;
}
#.FN_BODY DL-AM-RLC-r12/extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field
#.FN_BODY RLC-Config-v12xy/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
@ -1404,6 +1500,21 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
mapping->pdcp_sn_size_present = TRUE;
}
#.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 RACH-ConfigCommon/preambleInfo
%(DEFAULT_BODY)s
@ -1649,7 +1760,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms);
}
#.FN_BODY SecurityAlgorithmConfig/cipheringAlgorithm VAL_PTR=&value
#.FN_BODY CipheringAlgorithm-r12 VAL_PTR=&value
guint32 value;
pdcp_security_info_t *p_security_algorithms;
%(DEFAULT_BODY)s

View File

@ -1,9 +1,9 @@
/* packet-lte-rrc-template.c
* Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
* Radio Resource Control (RRC) protocol specification
* (3GPP TS 36.331 V12.3.0 Release 12) packet dissection
* (3GPP TS 36.331 V12.4.0 Release 12) packet dissection
* Copyright 2008, Vincent Helfre
* Copyright 2009-2014, Pascal Quantin
* Copyright 2009-2015, Pascal Quantin
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
@ -193,6 +193,46 @@ static int hf_lte_rrc_cdma_time = -1;
static int hf_lte_rrc_utc_time = -1;
static int hf_lte_rrc_local_time = -1;
static int hf_lte_rrc_absolute_time = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm1 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm2 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm3 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm4 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm6 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm8 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm9 = -1;
static int hf_lte_rrc_transmissionModeList_r12_tm10 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30 = -1;
static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31 = -1;
/* Initialize the subtree pointers */
static int ett_lte_rrc = -1;
@ -215,6 +255,8 @@ static gint ett_lte_rrc_warningMessageSegment = -1;
static gint ett_lte_rrc_interBandTDD_CA_WithDifferentConfig = -1;
static gint ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12 = -1;
static gint ett_lte_rrc_sr_ConfigIndex = -1;
static gint ett_lte_rrc_transmissionModeList_r12 = -1;
static gint ett_lte_rrc_modifiedMPR_Behavior_r10 = -1;
static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT;
static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT;
@ -688,6 +730,43 @@ lte_rrc_timeConnFailure_r10_fmt(gchar *s, guint32 v)
g_snprintf(s, ITEM_LABEL_LENGTH, "%ums (%u)", 100*v, v);
}
static const value_string lte_rrc_BLER_Range_r12_vals[] = {
{ 0, "BLER < 0.1%"},
{ 1, "0.1% <= BLER < 0.123%"},
{ 2, "0.123% <= BLER < 0.151%"},
{ 3, "0.151% <= BLER < 0.186%"},
{ 4, "0.186% <= BLER < 0.229%"},
{ 5, "0.229% <= BLER < 0.282%"},
{ 6, "0.282% <= BLER < 0.347%"},
{ 7, "0.347% <= BLER < 0.426%"},
{ 8, "0.426% <= BLER < 0.525%"},
{ 9, "0.525% <= BLER < 0.645%"},
{ 10, "0.645% <= BLER < 0.794%"},
{ 11, "0.794% <= BLER < 0.976%"},
{ 12, "0.976% <= BLER < 1.201%"},
{ 13, "1.201% <= BLER < 1.478%"},
{ 14, "1.478% <= BLER < 1.818%"},
{ 15, "1.818% <= BLER < 2.236%"},
{ 16, "2.236% <= BLER < 2.751%"},
{ 17, "2.751% <= BLER < 3.384%"},
{ 18, "3.384% <= BLER < 4.163%"},
{ 19, "4.163% <= BLER < 5.121%"},
{ 20, "5.121% <= BLER < 6.300%"},
{ 21, "6.300% <= BLER < 7.750%"},
{ 22, "7.750% <= BLER < 9.533%"},
{ 23, "9.533% <= BLER < 11.728%"},
{ 24, "11.728% <= BLER < 14.427%"},
{ 25, "14.427% <= BLER < 17.478%"},
{ 26, "17.478% <= BLER < 21.833%"},
{ 27, "21.833% <= BLER < 26.858%"},
{ 28, "26.858% <= BLER < 33.040%"},
{ 29, "33.040% <= BLER < 40.645%"},
{ 30, "40.645% <= BLER < 50%"},
{ 31, "50% <= BLER"},
{ 0, NULL}
};
static value_string_ext lte_rrc_BLER_Range_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_BLER_Range_r12_vals);
static const value_string lte_rrc_utra_q_RxLevMin_vals[] = {
{ -60, "-119dBm"},
{ -59, "-117dBm"},
@ -1149,7 +1228,7 @@ static const value_string lte_rrc_utra_RSCP_vals[] = {
};
static value_string_ext lte_rrc_utra_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_RSCP_vals);
static const value_string lte_rrc_a3_a6_Offset_vals[] = {
static const value_string lte_rrc_a3_a6_c2_Offset_vals[] = {
{ -30, "-15dB"},
{ -29, "-14.5dB"},
{ -28, "-14dB"},
@ -1213,7 +1292,7 @@ static const value_string lte_rrc_a3_a6_Offset_vals[] = {
{ 30, "15dB"},
{ 0, NULL}
};
static value_string_ext lte_rrc_a3_a6_Offset_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_a3_a6_Offset_vals);
static value_string_ext lte_rrc_a3_a6_c2_Offset_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_a3_a6_c2_Offset_vals);
static const value_string lte_rrc_threshold_RSRP_vals[] = {
{ 0, "-140dBm"},
@ -1688,6 +1767,40 @@ static const value_string lte_rrc_RSRP_Range_vals[] = {
static value_string_ext lte_rrc_RSRP_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRP_Range_vals);
static const value_string lte_rrc_RSRQ_Range_vals[] = {
{-34, "RSRQ < -36dB"},
{-33, "-36dB <= RSRQ < -35.5dB"},
{-32, "-35.5dB <= RSRQ < -35dB"},
{-31, "-35dB <= RSRQ < -34.5dB"},
{-30, "-34.5dB <= RSRQ < -34dB"},
{-29, "-34dB <= RSRQ < -33.5dB"},
{-28, "-33.5dB <= RSRQ < -33dB"},
{-27, "-33dB <= RSRQ < -32.5dB"},
{-26, "-32.5dB <= RSRQ < -32dB"},
{-25, "-32dB <= RSRQ < -31.5dB"},
{-24, "-31.5dB <= RSRQ < -31dB"},
{-23, "-31dB <= RSRQ < -30.5dB"},
{-22, "-30.5dB <= RSRQ < -30dB"},
{-21, "-30dB <= RSRQ < -29.5dB"},
{-20, "-29.5dB <= RSRQ < -29dB"},
{-19, "-29dB <= RSRQ < -28.5dB"},
{-18, "-28.5dB <= RSRQ < -28dB"},
{-17, "-28dB <= RSRQ < -27.5dB"},
{-16, "-27.5dB <= RSRQ < -27dB"},
{-15, "-27dB <= RSRQ < -26.5dB"},
{-14, "-26.5dB <= RSRQ < -26dB"},
{-13, "-26dB <= RSRQ < -25.5dB"},
{-12, "-25.5dB <= RSRQ < -25dB"},
{-11, "-25dB <= RSRQ < -24.5dB"},
{-10, "-24.5dB <= RSRQ < -24dB"},
{ -9, "-24dB <= RSRQ < -23.5dB"},
{ -8, "-23.5dB <= RSRQ < -23dB"},
{ -7, "-23dB <= RSRQ < -22.5dB"},
{ -6, "-22.5dB <= RSRQ < -22dB"},
{ -5, "-22dB <= RSRQ < -21.5dB"},
{ -4, "-21.5dB <= RSRQ < -21dB"},
{ -3, "-21dB <= RSRQ < -20.5dB"},
{ -2, "-20.5dB <= RSRQ < -20dB"},
{ -1, "-20dB <= RSRQ < -19.5dB"},
{ 0, "RSRQ < -19.5dB"},
{ 1, "-19.5dB <= RSRQ < -19dB"},
{ 2, "-19dB <= RSRQ < -18.5dB"},
@ -1723,10 +1836,59 @@ static const value_string lte_rrc_RSRQ_Range_vals[] = {
{ 32, "-4dB <= RSRQ < -3.5dB"},
{ 33, "-3.5dB <= RSRQ < -3dB"},
{ 34, "-3dB <= RSRQ"},
{ 35, "-3dB <= RSRQ < -2.5dB"},
{ 36, "-2.5dB <= RSRQ < -2dB"},
{ 37, "-2dB <= RSRQ < -1.5dB"},
{ 38, "-1.5dB <= RSRQ < -1dB"},
{ 39, "-1dB <= RSRQ < -0.5dB"},
{ 40, "-0.5dB <= RSRQ < 0dB"},
{ 41, "0dB <= RSRQ < 0.5dB"},
{ 42, "0.5dB <= RSRQ < 1dB"},
{ 43, "1dB <= RSRQ < 1.5dB"},
{ 44, "1.5dB <= RSRQ < 2dB"},
{ 45, "2dB <= RSRQ < 2.5dB"},
{ 46, "2.5dB <= RSRQ"},
{ 0, NULL}
};
static value_string_ext lte_rrc_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRQ_Range_vals);
static const value_string lte_rrc_MBSFN_RSRQ_Range_vals[] = {
{ 0, "RSRQ < -23dB"},
{ 1, "-23dB <= RSRQ < -22.5dB"},
{ 2, "-22.5dB <= RSRQ < -22dB"},
{ 3, "-22dB <= RSRQ < -21.5dB"},
{ 4, "-21.5dB <= RSRQ < -21dB"},
{ 5, "-21dB <= RSRQ < -20.5dB"},
{ 6, "-20.5dB <= RSRQ < -20dB"},
{ 7, "-20dB <= RSRQ < -19.5dB"},
{ 8, "-19.5dB <= RSRQ < -19dB"},
{ 9, "-19dB <= RSRQ < -18.5dB"},
{ 10, "-18.5dB <= RSRQ < -18dB"},
{ 11, "-18dB <= RSRQ < -17.5dB"},
{ 12, "-17.5dB <= RSRQ < -17dB"},
{ 13, "-17dB <= RSRQ < -16.5dB"},
{ 14, "-16.5dB <= RSRQ < -16dB"},
{ 15, "-16dB <= RSRQ < -15.5dB"},
{ 16, "-15.5dB <= RSRQ < -15dB"},
{ 17, "-15dB <= RSRQ < -14.5dB"},
{ 18, "-14.5dB <= RSRQ < -14dB"},
{ 19, "-14dB <= RSRQ < -13.5dB"},
{ 20, "-13.5dB <= RSRQ < -13dB"},
{ 21, "-13dB <= RSRQ < -12.5dB"},
{ 22, "-12.5dB <= RSRQ < -12dB"},
{ 23, "-12dB <= RSRQ < -11.5dB"},
{ 24, "-11.5dB <= RSRQ < -11dB"},
{ 25, "-11dB <= RSRQ < -10.5dB"},
{ 26, "-10.5dB <= RSRQ < -10dB"},
{ 27, "-10dB <= RSRQ < -9.5dB"},
{ 28, "-9.5dB <= RSRQ < -9dB"},
{ 29, "-9dB <= RSRQ < -8.5dB"},
{ 30, "-8.5dB <= RSRQ < -8dB"},
{ 31, "-8dB <= RSRQ"},
{ 0, NULL}
};
static value_string_ext lte_rrc_MBSFN_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_MBSFN_RSRQ_Range_vals);
static void
lte_rrc_ue_RxTxTimeDiffResult_fmt(gchar *s, guint32 v)
{
@ -1838,6 +2000,11 @@ static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val = {
"FDD PCell - Not supported"
};
static const true_false_string lte_rrc_transmissionModeList_r12_val = {
"NeighCellsInfo applies",
"NeighCellsInfo does not apply"
};
/*****************************************************************************/
/* Packet private data */
/* For this dissector, all access to actx->private_data should be made */
@ -1845,10 +2012,10 @@ static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val = {
/*****************************************************************************/
typedef struct meas_capabilities_item_band_mappings_t {
guint16 number_of_bands_set;
guint16 number_of_interfreq_serving_read;
guint16 number_of_interfreq_target_read;
guint16 band_by_item[256];
guint16 number_of_bands_set;
guint16 number_of_interfreq_serving_read;
guint16 number_of_interfreq_target_read;
guint16 band_by_item[256];
} meas_capabilities_item_band_mappings_t;
@ -1856,139 +2023,139 @@ typedef struct meas_capabilities_item_band_mappings_t {
/* Struct to store all current uses of packet private data */
typedef struct lte_rrc_private_data_t
{
guint8 rat_type;
guint8 target_rat_type;
guint8 si_or_psi_geran;
guint8 ra_preambles;
guint16 message_identifier;
drb_mapping_t drb_mapping;
drx_config_t drx_config;
pdcp_security_info_t pdcp_security;
meas_capabilities_item_band_mappings_t meas_capabilities_item_band_mappings;
guint8 rat_type;
guint8 target_rat_type;
guint8 si_or_psi_geran;
guint8 ra_preambles;
guint16 message_identifier;
drb_mapping_t drb_mapping;
drx_config_t drx_config;
pdcp_security_info_t pdcp_security;
meas_capabilities_item_band_mappings_t meas_capabilities_item_band_mappings;
} lte_rrc_private_data_t;
/* Helper function to get or create a struct that will be actx->private_data */
static lte_rrc_private_data_t* lte_rrc_get_private_data(asn1_ctx_t *actx)
{
if (actx->private_data != NULL) {
return (lte_rrc_private_data_t*)actx->private_data;
}
else {
lte_rrc_private_data_t* new_struct =
(lte_rrc_private_data_t*)wmem_alloc0(wmem_packet_scope(), sizeof(lte_rrc_private_data_t));
actx->private_data = new_struct;
return new_struct;
}
if (actx->private_data != NULL) {
return (lte_rrc_private_data_t*)actx->private_data;
}
else {
lte_rrc_private_data_t* new_struct =
(lte_rrc_private_data_t*)wmem_alloc0(wmem_packet_scope(), sizeof(lte_rrc_private_data_t));
actx->private_data = new_struct;
return new_struct;
}
}
/* DRX config data */
static drx_config_t* private_data_get_drx_config(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->drx_config;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->drx_config;
}
/* DRB mapping info */
static drb_mapping_t* private_data_get_drb_mapping(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->drb_mapping;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->drb_mapping;
}
/* RAT type */
static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->rat_type;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->rat_type;
}
static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->rat_type = rat_type;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->rat_type = rat_type;
}
/* Target RAT type */
static guint8 private_data_get_rat_target_type(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->target_rat_type;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->target_rat_type;
}
static void private_data_set_rat_target_type(asn1_ctx_t *actx, guint8 target_rat_type)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->target_rat_type = target_rat_type;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->target_rat_type = target_rat_type;
}
/* si_or_psi_geran */
static guint8 private_data_get_si_or_psi_geran(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->si_or_psi_geran;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->si_or_psi_geran;
}
static void private_data_set_si_or_psi_geran(asn1_ctx_t *actx, guint8 si_or_psi_geran)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->si_or_psi_geran = si_or_psi_geran;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->si_or_psi_geran = si_or_psi_geran;
}
/* Message identifier */
static guint16 private_data_get_message_identifier(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->message_identifier;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->message_identifier;
}
static void private_data_set_message_identifier(asn1_ctx_t *actx, guint16 message_identifier)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->message_identifier = message_identifier;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->message_identifier = message_identifier;
}
/* Number of RA-preambles */
static guint8 private_data_get_ra_preambles(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->ra_preambles;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return private_data->ra_preambles;
}
static void private_data_set_ra_preambles(asn1_ctx_t *actx, guint8 ra_preambles)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->ra_preambles = ra_preambles;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
private_data->ra_preambles = ra_preambles;
}
/* PDCP Security info */
static pdcp_security_info_t* private_data_pdcp_security_algorithms(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->pdcp_security;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->pdcp_security;
}
/* Measurement UE capabilities item -> band mappings */
static meas_capabilities_item_band_mappings_t* private_data_meas_capabilities_item_band_mappings(asn1_ctx_t *actx)
{
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->meas_capabilities_item_band_mappings;
lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx);
return &private_data->meas_capabilities_item_band_mappings;
}
static void set_freq_band_indicator(guint32 value, asn1_ctx_t *actx)
{
/* Store band mapping for this item in the next position */
meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx);
if (mappings->number_of_bands_set < 256) {
mappings->band_by_item[mappings->number_of_bands_set++] = (guint16)value;
}
/* Store band mapping for this item in the next position */
meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx);
if (mappings->number_of_bands_set < 256) {
mappings->band_by_item[mappings->number_of_bands_set++] = (guint16)value;
}
}
/*****************************************************************************/
@ -2918,6 +3085,166 @@ void proto_register_lte_rrc(void) {
{ "Absolute time", "lte-rrc.absolute_time",
FT_STRING, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm1,
{ "TM1", "lte-rrc.transmissionModeList_r12.tm1",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm2,
{ "TM2", "lte-rrc.transmissionModeList_r12.tm2",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm3,
{ "TM3", "lte-rrc.transmissionModeList_r12.tm3",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm4,
{ "TM4", "lte-rrc.transmissionModeList_r12.tm4",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm6,
{ "TM6", "lte-rrc.transmissionModeList_r12.tm6",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm8,
{ "TM8", "lte-rrc.transmissionModeList_r12.tm8",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm9,
{ "TM9", "lte-rrc.transmissionModeList_r12.tm9",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_transmissionModeList_r12_tm10,
{ "TM10", "lte-rrc.transmissionModeList_r12.tm10",
FT_BOOLEAN, BASE_NONE, TFS(&lte_rrc_transmissionModeList_r12_val), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0,
{ "MPR/A-MPR behavior 0", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_0",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1,
{ "MPR/A-MPR behavior 1", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_1",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2,
{ "MPR/A-MPR behavior 2", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_2",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3,
{ "MPR/A-MPR behavior 3", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_3",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4,
{ "MPR/A-MPR behavior 4", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_4",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5,
{ "MPR/A-MPR behavior 5", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_5",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6,
{ "MPR/A-MPR behavior 6", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_6",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7,
{ "MPR/A-MPR behavior 7", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_7",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8,
{ "MPR/A-MPR behavior 8", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_8",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9,
{ "MPR/A-MPR behavior 9", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_9",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10,
{ "MPR/A-MPR behavior 10", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_10",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11,
{ "MPR/A-MPR behavior 11", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_11",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12,
{ "MPR/A-MPR behavior 12", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_12",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13,
{ "MPR/A-MPR behavior 13", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_13",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14,
{ "MPR/A-MPR behavior 14", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_14",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15,
{ "MPR/A-MPR behavior 15", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_15",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16,
{ "MPR/A-MPR behavior 16", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_16",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17,
{ "MPR/A-MPR behavior 17", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_17",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18,
{ "MPR/A-MPR behavior 18", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_18",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19,
{ "MPR/A-MPR behavior 19", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_19",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20,
{ "MPR/A-MPR behavior 20", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_20",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21,
{ "MPR/A-MPR behavior 21", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_21",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22,
{ "MPR/A-MPR behavior 22", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_22",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23,
{ "MPR/A-MPR behavior 23", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_23",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24,
{ "MPR/A-MPR behavior 24", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_24",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25,
{ "MPR/A-MPR behavior 25", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_25",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26,
{ "MPR/A-MPR behavior 26", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_26",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27,
{ "MPR/A-MPR behavior 27", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_27",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28,
{ "MPR/A-MPR behavior 28", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_28",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29,
{ "MPR/A-MPR behavior 29", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_29",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30,
{ "MPR/A-MPR behavior 30", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_30",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
{ &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31,
{ "MPR/A-MPR behavior 31", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_31",
FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0,
NULL, HFILL }},
};
/* List of subtrees */
@ -2940,7 +3267,9 @@ void proto_register_lte_rrc(void) {
&ett_lte_rrc_warningMessageSegment,
&ett_lte_rrc_interBandTDD_CA_WithDifferentConfig,
&ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12,
&ett_lte_rrc_sr_ConfigIndex
&ett_lte_rrc_sr_ConfigIndex,
&ett_lte_rrc_transmissionModeList_r12,
&ett_lte_rrc_modifiedMPR_Behavior_r10
};
static ei_register_info ei[] = {

File diff suppressed because it is too large Load Diff