From Pascal Quantin:

Update of 3GPP RRC and LTE RRC dissectors.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6333

svn path=/trunk/; revision=38964
This commit is contained in:
Anders Broman 2011-09-11 19:09:02 +00:00
parent 21ad6d3c35
commit 900484d992
18 changed files with 5380 additions and 3047 deletions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 36.331 V9.6.0 (2011-03)
-- 3GPP TS 36.331 V9.7.0 (2011-06)
-- $Id$
--
EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=

View File

@ -1,4 +1,4 @@
-- 3GPP TS 36.331 V9.6.0 (2011-03)
-- 3GPP TS 36.331 V9.7.0 (2011-06)
-- $Id$
--
EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=

View File

@ -1,4 +1,4 @@
-- 3GPP TS 36.331 V9.6.0 (2011-03)
-- 3GPP TS 36.331 V9.7.0 (2011-06)
-- $Id$
--
EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=

View File

@ -223,6 +223,74 @@ if(ue_eutra_cap_tvb){
curr_bit_offset++;
}
#.FN_BODY Handover
lte_rrc_ho_target_rat_type_value = -1;
%(DEFAULT_BODY)s
#.FN_BODY Handover/targetRAT-Type VAL_PTR = &lte_rrc_ho_target_rat_type_value
%(DEFAULT_BODY)s
#.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){
switch(lte_rrc_ho_target_rat_type_value){
case 0:
/* utra */
if (rrc_irat_ho_to_utran_cmd_handle)
call_dissector(rrc_irat_ho_to_utran_cmd_handle, target_rat_msg_cont_tvb, actx->pinfo, tree);
break;
case 1:
/* geran */
break;
case 2:
/* cdma2000-1XRTT */
break;
case 3:
/* cdma2000-HRPD */
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_item *item;
proto_tree *subtree;
%(DEFAULT_BODY)s
length = tvb_length(nas_sec_param_from_eutra_tvb);
item = proto_tree_add_text(tree, nas_sec_param_from_eutra_tvb, 0, length, "NAS security parameters from E-UTRA");
subtree = proto_item_add_subtree(item, hf_lte_rrc_nas_SecurityParamFromEUTRA);
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_item *item;
proto_tree *subtree;
%(DEFAULT_BODY)s
length = tvb_length(nas_sec_param_to_eutra_tvb);
item = proto_tree_add_text(tree, nas_sec_param_to_eutra_tvb, 0, length, "NAS security parameters to E-UTRA");
subtree = proto_item_add_subtree(item, hf_lte_rrc_nas_SecurityParamToEUTRA);
de_emm_sec_par_to_eutra(nas_sec_param_to_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
#.FN_BODY CellInfoUTRA-FDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
tvbuff_t *utra_bcch_cont_tvb = NULL;
%(DEFAULT_BODY)s
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle)
call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, tree);
#.FN_BODY CellInfoUTRA-TDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb
tvbuff_t *utra_bcch_cont_tvb = NULL;
%(DEFAULT_BODY)s
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle)
call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, tree);
#.FN_HDR MasterInformationBlock
col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock ");

View File

@ -1,7 +1,7 @@
/* packet-lte-rrc-template.c
* Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
* Radio Resource Control (RRC) protocol specification
* (3GPP TS 36.331 V9.6.0 Release 9) packet dissection
* (3GPP TS 36.331 V9.7.0 Release 9) packet dissection
* Copyright 2008, Vincent Helfre
*
* $Id$
@ -46,7 +46,10 @@
#define PFNAME "lte_rrc"
static dissector_handle_t nas_eps_handle = NULL;
static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle;
static dissector_handle_t rrc_sys_info_cont_handle;
static guint32 lte_rrc_rat_type_value = -1;
static guint32 lte_rrc_ho_target_rat_type_value = -1;
/* Include constants */
#include "packet-lte-rrc-val.h"
@ -218,8 +221,8 @@ static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
"Semi-Persistent Scheduling - Not supported"
};
static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
"Undefined - Supported",
"Undefined - Not supported"
"Handover between FDD and TDD - Supported",
"Handover between FDD and TDD - Not supported"
};
static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
"Undefined - Supported",
@ -505,6 +508,8 @@ proto_reg_handoff_lte_rrc(void)
lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
dissector_add_handle("udp.port", lte_rrc_dl_ccch_handle);
nas_eps_handle = find_dissector("nas-eps");
rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
}

View File

@ -1,7 +1,7 @@
-- $Id$
-- Class-definitions.asn
--
-- 3GPP TS 25.331 V9.2.1 (2010-04)
-- 3GPP TS 25.331 V9.7.0 (2011-06)
-- http://www.3gpp.org/ftp/Specs/html-info/25331.htm
--
-- 11.1 General message structure

View File

@ -1,7 +1,7 @@
-- $Id$
-- Constant-definitions.asn
--
-- 3GPP TS 25.331 V9.2.1 (2010-04)
-- 3GPP TS 25.331 V9.7.0 (2011-06)
-- http://www.3gpp.org/ftp/Specs/html-info/25331.htm
--
-- 11.4 Constant definitions

View File

@ -1,7 +1,7 @@
-- $Id$
-- InformationElements.asn
--
-- 3GPP TS 25.331 V9.2.1 (2010-04)
-- 3GPP TS 25.331 V9.7.0 (2011-06)
-- http://www.3gpp.org/ftp/Specs/html-info/25331.htm
--
-- 11.3 Information element definitions
@ -2202,8 +2202,12 @@ UE-CapabilityContainer-IEs ::= SEQUENCE {
UE-RadioAccessCapability-v890ext-IEs,
v920NonCriticalExtensions SEQUENCE {
ue-RadioAccessCapability-v920ext
UE-RadioAccessCapability-v920ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
UE-RadioAccessCapability-v920ext-IEs,
v970NonCriticalExtensions SEQUENCE {
ue-RadioAccessCapability-v970ext
UE-RadioAccessCapability-v970ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -2280,6 +2284,11 @@ UE-RadioAccessCapability-v920ext-IEs ::= SEQUENCE {
neighCellSI-AcquisitionCapability NeighCellSI-AcquisitionCapability OPTIONAL
}
UE-RadioAccessCapability-v970ext-IEs ::= SEQUENCE {
-- UE physical channel capability
ue-ExtendedMeasurementSupport ENUMERATED { true } OPTIONAL
}
UE-ConnTimersAndConstants ::= SEQUENCE {
-- Optional is used also for parameters for which the default value is the last one read in SIB1
-- t-301 and n-301 should not be used by the UE in this version of the specification
@ -2441,6 +2450,8 @@ UE-RadioAccessCapability-v7e0ext ::= SEQUENCE {
UE-RadioAccessCapability-v7f0ext ::= SEQUENCE {
supportofTxDivOnNonMIMOChannel ENUMERATED { true } OPTIONAL,
-- IE physicalChannelCapability-LCR and ue-RadioAccessCapabilityComp-TDD128 shall only be
-- included in InterRATHandoverInfo for 1.28 Mcps TDD, otherwise these IEs are not needed here.
physicalChannelCapability-LCR PhysicalChannelCapability-LCR-r4 OPTIONAL,
ue-RadioAccessCapabilityComp-TDD128 UE-RadioAccessCapabilityComp-TDD128-v7f0ext OPTIONAL
}
@ -2453,6 +2464,13 @@ UE-RadioAccessCapabilityInfo-v770ext ::= SEQUENCE {
ue-SpecificCapabilityInformation UE-SpecificCapabilityInformation-LCRTDD OPTIONAL
}
UE-RadioAccessCapabilityInfo-TDD128-v8b0ext ::= SEQUENCE {
-- INTER RAT HANDOVER INFO
measurementCapabilityTDD MeasurementCapabilityTDD OPTIONAL,
hSDSCH-physical-layer-category-extension
HSDSCH-physical-layer-category-extension OPTIONAL
}
UE-RadioAccessCapability-v860ext ::= SEQUENCE {
ue-RadioAccessCapabBandFDDList3 UE-RadioAccessCapabBandFDDList3
}
@ -5504,10 +5522,10 @@ CodeWordSet ::= ENUMERATED {
ssdtOff }
Common-E-DCH-ResourceInfoList ::= SEQUENCE {
s-offset INTEGER (0..9),
f-dpch-ChannelisationCodeNumber INTEGER (0..255),
e-RGCH-Information E-RGCH-Information OPTIONAL,
e-hich-Info E-HICH-Information,
s-offset INTEGER (0..9) OPTIONAL,
f-dpch-ChannelisationCodeNumber INTEGER (0..255) OPTIONAL,
e-RGCH-Information E-RGCH-Information-CommonEdch OPTIONAL,
e-hich-Info E-HICH-Information-CommonEdch,
ul-DPCH-CodeInfoForCommonEDCH UL-DPCH-CodeInfoForCommonEDCH
}
@ -5518,35 +5536,14 @@ Common-E-RNTI-Info ::= SEQUENCE (SIZE (1..maxERUCCH)) OF
number-of-ENRTI-per-group INTEGER (1..maxERNTIperGroup)
}
-- For FDD, the network should not include the IE CommonEDCHSystemInfo.
-- Instead, the IE commonEDCHSystemInfoFDD should be used.
-- If included, the UE behavior is unspecified.
CommonEDCHSystemInfo ::= SEQUENCE {
ul-InterferenceForCommonEDCH UL-Interference OPTIONAL,
common-E-DCH-MAC-d-FlowList Common-E-DCH-MAC-d-FlowList,
modeSpecificInfo CHOICE {
fdd SEQUENCE {
prach-PreambleForEnhancedUplink PRACH-PreambleForEnhancedUplink,
initialServingGrantValue INTEGER (0..37),
e-dch-TTI E-DCH-TTI,
e-agch-Information E-AGCH-Information,
harq-Info ENUMERATED { rv0, rvtable },
ul-DPCHpowerControlInfoForCommonEDCH
UL-DPCHpowerControlInfoForCommonEDCH,
e-dpcch-Info E-DPCCH-Info-r7,
e-dpdch-Info E-DPDCH-Info-r8,
-- Actual value dl-FDPCH-TPCcommandErrorRate = IE value * 0.01
dl-FDPCH-TPCcommandErrorRate INTEGER (1..10),
additional-E-DCH-TransmitBackoff INTEGER (0..15),
max-CCCH-ResourceAllocation ENUMERATED {
tti8, tti12, tti16, tti24, tti32, tti40,
tti80, tti120 },
max-PeriodForCollisionResolution INTEGER (8..24),
e-dch-TransmitContinuationOffset ENUMERATED {
tti0, tti8, tti16, tti24, tti40, tti80,
tti120, infinity },
ack-nack-support-on-HS-DPCCH BOOLEAN,
measurement-Feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
common-E-DCH-ResourceInfoList SEQUENCE (SIZE (1..maxEDCHs)) OF
Common-E-DCH-ResourceInfoList
},
dummy SEQUENCE {},
tdd CHOICE {
tdd768 NULL,
tdd384 NULL,
@ -5573,6 +5570,34 @@ CommonEDCHSystemInfo ::= SEQUENCE {
}
}
CommonEDCHSystemInfoFDD ::= SEQUENCE {
ul-InterferenceForCommonEDCH UL-Interference OPTIONAL,
common-E-DCH-MAC-d-FlowList Common-E-DCH-MAC-d-FlowList,
prach-PreambleForEnhancedUplink PRACH-PreambleForEnhancedUplink,
initialServingGrantValue INTEGER (0..37),
e-dch-TTI E-DCH-TTI,
e-agch-Information E-AGCH-Information,
harq-Info ENUMERATED { rv0, rvtable },
ul-DPCHpowerControlInfoForCommonEDCH
UL-DPCHpowerControlInfoForCommonEDCH,
e-dpcch-Info E-DPCCH-Info-r7,
e-dpdch-Info E-DPDCH-Info-r8,
-- Actual value dl-FDPCH-TPCcommandErrorRate = IE value * 0.01
dl-FDPCH-TPCcommandErrorRate INTEGER (1..10),
additional-E-DCH-TransmitBackoff INTEGER (0..15),
max-CCCH-ResourceAllocation ENUMERATED {
tti8, tti12, tti16, tti20, tti24, tti32,
tti40, tti80 },
max-PeriodForCollisionResolution INTEGER (8..24),
e-dch-TransmitContinuationOffset ENUMERATED {
tti0, tti4, tti8, tti16, tti24, tti40,
tti80,infinity },
ack-nack-support-on-HS-DPCCH BOOLEAN,
measurement-Feedback-Info Measurement-Feedback-Info-r7 OPTIONAL,
common-E-DCH-ResourceInfoList SEQUENCE (SIZE (1..maxEDCHs)) OF
Common-E-DCH-ResourceInfoList
}
CommonTimeslotInfo ::= SEQUENCE {
-- TABULAR: secondInterleavingMode is MD, but since it can be encoded in a single
-- bit it is not defined as OPTIONAL.
@ -7262,6 +7287,11 @@ E-HICH-Information ::= SEQUENCE {
signatureSequence E-HICH-RGCH-SignatureSequence
}
E-HICH-Information-CommonEdch ::= SEQUENCE {
channelisationCode E-HICH-ChannelisationCode OPTIONAL,
signatureSequence E-HICH-RGCH-SignatureSequence OPTIONAL
}
E-HICH-Information-TDD384-768 ::= SEQUENCE {
n-E-HICH INTEGER (4..44),
tS-Number INTEGER (0..14),
@ -7394,6 +7424,10 @@ E-RGCH-Information ::= SEQUENCE {
rg-CombinationIndex E-RGCH-CombinationIndex
}
E-RGCH-Information-CommonEdch ::= SEQUENCE {
signatureSequence E-HICH-RGCH-SignatureSequence OPTIONAL
}
E-RUCCH-AccessServiceClass ::= PRACH-Partitioning-LCR-r4
E-RUCCH-Info ::= SEQUENCE {
@ -8941,10 +8975,10 @@ PRACH-PowerOffset ::= SEQUENCE {
}
PRACH-PreambleForEnhancedUplink ::= SEQUENCE {
availableSignatures AvailableSignatures,
availableSignatures AvailableSignatures OPTIONAL,
e-ai-Indication BOOLEAN,
preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber,
availableSubChannelNumbers AvailableSubChannelNumbers,
preambleScramblingCodeWordNumber PreambleScramblingCodeWordNumber OPTIONAL,
availableSubChannelNumbers AvailableSubChannelNumbers OPTIONAL,
prach-Partitioning PRACH-Partitioning-r7 OPTIONAL,
persistenceScalingFactorList PersistenceScalingFactorList OPTIONAL,
ac-To-ASC-MappingTable AC-To-ASC-MappingTable OPTIONAL,
@ -9491,6 +9525,10 @@ RL-AdditionInformation-v890ext ::= SEQUENCE {
targetCellPreconfigInfo TargetCellPreconfigInfo-v890ext OPTIONAL
}
RL-AdditionInformation-v950ext ::= SEQUENCE {
targetCellPreconfigInfo TargetCellPreconfigInfo-v950ext OPTIONAL
}
RL-AdditionInformationList ::= SEQUENCE (SIZE (1..maxRL-1)) OF
RL-AdditionInformation
@ -9512,6 +9550,9 @@ RL-AdditionInformationList-v890ext ::= SEQUENCE (SIZE (1..maxRL-1)) OF
RL-AdditionInformationList-r9 ::= SEQUENCE (SIZE(1..maxRL-1)) OF
RL-AdditionInformation-r9
RL-AdditionInformationList-v950ext ::= SEQUENCE (SIZE(1..maxRL-1)) OF
RL-AdditionInformation-v950ext
RL-AdditionInformationList-SecULFreq ::= SEQUENCE (SIZE(1..maxEDCHRL-1)) OF
RL-AdditionInformation-SecULFreq
@ -9821,6 +9862,10 @@ SecondaryCellMIMOparametersFDD ::= CHOICE {
}
}
SecondaryCellMIMOparametersFDD-v950ext ::= SEQUENCE {
precodingWeightSetRestriction ENUMERATED { true } OPTIONAL
}
SecondInterleavingMode ::= ENUMERATED {
frameRelated, timeslotRelated }
@ -10022,6 +10067,8 @@ TargetCellPreconfigInfo-r9 ::= SEQUENCE {
E-DCH-ReconfigurationInfo-SecULFrequency OPTIONAL
}
TargetCellPreconfigInfo-v950ext ::= SecondaryCellMIMOparametersFDD-v950ext
TDD-FPACH-CCode16-r4 ::= ENUMERATED {
cc16-1, cc16-2, cc16-3, cc16-4,
cc16-5, cc16-6, cc16-7, cc16-8,
@ -10537,7 +10584,7 @@ UL-DPCCH-SlotFormat ::= ENUMERATED {
UL-DPCH-CodeInfoForCommonEDCH ::= SEQUENCE {
ul-DPCCHscramblingCodeType ScramblingCodeType,
ul-DPCCHscramblingCode UL-ScramblingCode
ul-DPCCHscramblingCode UL-ScramblingCode OPTIONAL
}
UL-DPCH-Info ::= SEQUENCE {
@ -11227,6 +11274,9 @@ AcquisitionSatInfoList ::= SEQUENCE (SIZE (1..maxSat)) OF
AdditionalMeasurementID-List ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
MeasurementIdentity
AdditionalMeasurementID-List-r9 ::= SEQUENCE (SIZE (1..maxAdditionalMeas)) OF
MeasurementIdentity-r9
AlmanacSatInfo ::= SEQUENCE {
dataID INTEGER (0..3),
satID SatID,
@ -12114,7 +12164,6 @@ EUTRA-FrequencyAndPriorityInfo ::= SEQUENCE {
}
EUTRA-FrequencyAndPriorityInfo-v920ext ::= SEQUENCE {
-- Actual value = IE value * 2
qqualMinEUTRA INTEGER (-34..-3) OPTIONAL,
threshXhigh2 INTEGER (0..31) OPTIONAL,
threshXlow2 INTEGER (0..31) OPTIONAL
@ -14485,6 +14534,10 @@ MeasurementControlSysInfo-LCR-r4-ext ::= SEQUENCE {
MeasurementIdentity ::= INTEGER (1..16)
MeasurementIdentityExt ::= INTEGER (17..32)
MeasurementIdentity-r9 ::= INTEGER (1..32)
MeasurementOccasionPatternParameter ::= SEQUENCE {
measurement-Occasion-Coeff INTEGER (1..9),
measurement-Occasion-Offset INTEGER (0..511),
@ -18025,7 +18078,15 @@ SysInfoType5 ::= SEQUENCE {
sysInfoType5-v860ext SysInfoType5-v860ext-IEs,
v890NonCriticalExtensions SEQUENCE {
sysInfoType5-v890ext SysInfoType5-v890ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v8b0NonCriticalExtensions SEQUENCE {
sysInfoType5-v8b0ext
SysInfoType5-v8b0ext-IEs,
v8d0NonCriticalExtensions SEQUENCE {
sysInfoType5-v8d0ext
SysInfoType5-v8d0ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -18142,6 +18203,15 @@ SysInfoType5-v890ext-IEs ::= SEQUENCE {
commonEDCHSystemInfo CommonEDCHSystemInfo OPTIONAL
}
SysInfoType5-v8b0ext-IEs ::= SEQUENCE {
tresetUsageIndicator ENUMERATED { true } OPTIONAL,
upPCHpositionInfo UpPCHposition-LCR OPTIONAL
}
SysInfoType5-v8d0ext-IEs ::= SEQUENCE {
commonEDCHSystemInfoFDD CommonEDCHSystemInfoFDD OPTIONAL
}
-- SysInfoType5bis uses the same structure as SysInfoType5
SysInfoType5bis ::= SysInfoType5

View File

@ -1,7 +1,7 @@
-- $Id$
-- Internode-definitions.asn
--
-- 3GPP TS 25.331 V9.2.1 (2010-04)
-- 3GPP TS 25.331 V9.7.0 (2011-06)
-- http://www.3gpp.org/ftp/Specs/html-info/25331.htm
--
-- 11.5 RRC information between network nodes
@ -96,6 +96,7 @@ FROM PDU-definitions
UL-PhysChCapabilityTDD,
UL-PhysChCapabilityTDD-LCR-r4,
-- Radio Bearer IEs :
PDCP-ROHC-TargetMode,
PredefinedConfigStatusList,
PredefinedConfigValueTag,
RAB-InformationSetupList,
@ -148,6 +149,7 @@ FROM PDU-definitions
InterRATCellInfoIndication,
MeasuredResultsOnRACHinterFreq,
MeasurementIdentity,
MeasurementIdentity-r9,
MeasurementReportingMode,
MeasurementType,
MeasurementType-r4,
@ -156,6 +158,7 @@ FROM PDU-definitions
MeasurementType-r8,
MeasurementType-r9,
AdditionalMeasurementID-List,
AdditionalMeasurementID-List-r9,
PositionEstimate,
ReportingCellStatus,
ThresholdSFN-GPS-TOW-us,
@ -505,7 +508,11 @@ SRNC-RelocationInfo-r3 ::= CHOICE {
v7f0NonCriticalExtensions SEQUENCE {
sRNC-RelocationInfo-v7f0ext
SRNC-RelocationInfo-v7f0ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v8d0NonCriticalExtensions SEQUENCE {
sRNC-RelocationInfo-v8d0ext
SRNC-RelocationInfo-v8d0ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
},
@ -513,7 +520,15 @@ SRNC-RelocationInfo-r3 ::= CHOICE {
r9 SEQUENCE {
sRNC-RelocationInfo-r9 SRNC-RelocationInfo-r9-IEs,
sRNC-RelocationInfo-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v8d0NonCriticalExtensions SEQUENCE {
sRNC-RelocationInfo-v8d0ext SRNC-RelocationInfo-v8d0ext-IEs,
v970NonCriticalExtensions SEQUENCE {
sRNC-RelocationInfo-v970ext
SRNC-RelocationInfo-v970ext-IEs,
nonCriticalExtensions
SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -1166,6 +1181,11 @@ SRNC-RelocationInfo-v860ext-IEs ::= SEQUENCE {
e-RGCH-CombinationInfoList E-RGCH-CombinationInfoList OPTIONAL
}
SRNC-RelocationInfo-v8d0ext-IEs ::= SEQUENCE {
--Radio Bearer IEs
pdcp-ROHC-TargetMode PDCP-ROHC-TargetMode OPTIONAL
}
SRNC-RelocationInfo-r9-IEs ::= SEQUENCE {
-- Non-RRC IEs
-- IE rb-IdentityForHOMessage includes the identity of the RB used by the source SRNC
@ -1249,6 +1269,11 @@ SRNC-RelocationInfo-r9-IEs ::= SEQUENCE {
mbmsSelectedServiceInfo MBMS-SelectedServiceInfo OPTIONAL
}
SRNC-RelocationInfo-v970ext-IEs ::= SEQUENCE {
-- Measurement IEs
ongoingMeasRepList OngoingMeasRepList-v970ext-IE OPTIONAL
}
-- IE definitions
CalculationTimeForCiphering ::= SEQUENCE {
@ -1527,9 +1552,27 @@ OngoingMeasRep-r9 ::= SEQUENCE {
measurementIdentity MeasurementIdentity,
measurementCommandWithType MeasurementCommandWithType-r9,
measurementReportingMode MeasurementReportingMode OPTIONAL,
-- if any of the additional measurement ID is within the range 17 to 32,
-- "OngoingMeasRep-v970ext-IEs" should be present and should include
-- the IE "measurementIdentity" and "additionalMeasurementID-List".
-- The value of the IE "measurementIdentity" in "OngoingMeasRep-v970ext-IEs"
-- should be the same as the "measurementIdentity" value in "OngoingMeasRep-r9",
-- and "additionalMeasurementID-List" should contain the complete list.
-- The IE "additionalMeasurementID-List" in "OngoingMeasRep-r9" should still
-- contain the additional measurement ID which value is within the range 1 to 16.
additionalMeasurementID-List AdditionalMeasurementID-List OPTIONAL
}
-- The IE "OngoingMeasRep-v970ext-IEs" should be included to report
-- measurementIdentity values within the range 17 to 32 and when a
-- "measurementIdentity" in "OngoingMeasRep-r9" needs to contain one of the
-- values within the range 17 to 32 in the IE "additionalMeasurementID-List".
OngoingMeasRep-v970ext-IEs ::= SEQUENCE {
measurementIdentity MeasurementIdentity-r9 OPTIONAL,
additionalMeasurementID-List AdditionalMeasurementID-List-r9 OPTIONAL
}
OngoingMeasRepList ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
OngoingMeasRep
@ -1551,6 +1594,9 @@ OngoingMeasRepList-r8 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
OngoingMeasRepList-r9 ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
OngoingMeasRep-r9
OngoingMeasRepList-v970ext-IE ::= SEQUENCE (SIZE (1..maxNoOfMeas)) OF
OngoingMeasRep-v970ext-IEs
PDCP-Capability-r4 ::= SEQUENCE {
losslessSRNS-RelocationSupport BOOLEAN,
supportForRfc2507 CHOICE {

View File

@ -1,7 +1,7 @@
-- $Id$
-- PDU-definitions.asn
--
-- 3GPP TS 25.331 V9.2.1 (2010-04)
-- 3GPP TS 25.331 V9.7.0 (2011-06)
-- http://www.3gpp.org/ftp/Specs/html-info/25331.htm
--
-- 11.2 PDU definitions
@ -77,6 +77,7 @@ IMPORTS
PagingCause,
PagingRecordList,
PagingRecord2List-r5,
PDCP-Capability-r4-ext,
PDCP-Capability-v770ext,
Pre-RedirectionInfo,
ProtocolErrorIndicator,
@ -135,6 +136,7 @@ IMPORTS
UE-RadioAccessCapabilityComp2-v920ext,
UE-RadioAccessCapabilityComp-TDD128,
UE-RadioAccessCapabilityInfo-v770ext,
UE-RadioAccessCapabilityInfo-TDD128-v8b0ext,
UE-SecurityInformation,
UE-SecurityInformation2,
UE-SpecificCapabilityInformation-LCRTDD,
@ -326,9 +328,11 @@ IMPORTS
RL-AdditionInformationList-r8,
RL-AdditionInformationList-v890ext,
RL-AdditionInformationList-r9,
RL-AdditionInformationList-v950ext,
RL-AdditionInformationList-SecULFreq,
RL-RemovalInformationList,
RL-RemovalInformationList-SecULFreq,
SecondaryCellMIMOparametersFDD-v950ext,
Serving-HSDSCH-CellInformation,
Serving-HSDSCH-CellInformation-r7,
Serving-HSDSCH-CellInformation-r8,
@ -373,6 +377,7 @@ IMPORTS
UpPCHposition-LCR,
-- Measurement IEs :
AdditionalMeasurementID-List,
AdditionalMeasurementID-List-r9,
CellDCHMeasOccasionInfo-TDD128-r9,
CSGProximityIndication,
DeltaRSCP,
@ -415,6 +420,8 @@ IMPORTS
MeasurementCommand-r8,
MeasurementCommand-r9,
MeasurementIdentity,
MeasurementIdentity-r9,
MeasurementIdentityExt,
MeasurementReportingMode,
NewInterFreqCellList-v7b0ext,
NewInterFreqCellList-LCR-v8a0ext,
@ -584,7 +591,10 @@ ActiveSetUpdate ::= CHOICE {
activeSetUpdate-r9 ActiveSetUpdate-r9-IEs,
-- Container for adding non critical extensions after freezing REL-10
activeSetUpdate-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
activeSetUpdate-v950ext ActiveSetUpdate-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -775,7 +785,13 @@ ActiveSetUpdate-r9-IEs ::= SEQUENCE {
e-dch-ReconfInfoSameCell E-DCH-RL-InfoSameServingCell OPTIONAL,
e-TFC-Boost-Info E-TFC-Boost-Info-r7 OPTIONAL,
e-DPDCH-PowerInterpolation E-DPDCH-PowerInterpolation OPTIONAL,
dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL
dl-SecondaryCellInfoFDD DL-SecondaryCellInfoFDD-r9 OPTIONAL
}
ActiveSetUpdate-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL,
rl-AdditionInformationList RL-AdditionInformationList-v950ext OPTIONAL
}
-- ***************************************************
@ -1180,7 +1196,10 @@ CellUpdateConfirm ::= CHOICE {
-- Container for adding non critical extensions after
-- freezing REL-10
cellUpdateConfirm-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
cellUpdateConfirm-v950ext CellUpdateConfirm-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -1670,6 +1689,11 @@ CellUpdateConfirm-r9-IEs ::= SEQUENCE {
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
CellUpdateConfirm-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- CELL UPDATE CONFIRM for CCCH
@ -1768,7 +1792,15 @@ CellUpdateConfirm-CCCH ::= CHOICE {
v8a0NonCriticalExtensions SEQUENCE {
cellUpdateConfirm-v8a0ext
CellUpdateConfirm-v8a0ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v7f0NonCriticalExtensions SEQUENCE {
cellUpdateConfirm-v7f0ext
CellUpdateConfirm-v7f0ext-IEs,
v7g0NonCriticalExtensions SEQUENCE {
cellUpdateConfirm-v7g0ext
CellUpdateConfirm-v7g0ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -2822,7 +2854,7 @@ InterRATHandoverInfo ::= SEQUENCE {
},
ue-CapabilityContainer CHOICE {
absent NULL,
-- present is an octet aligned string containing IE UE-RadioAccessCapabilityInfo
-- present is an octet aligned string containing Ie UE-RadioAccessCapabilityInfo
present OCTET STRING (SIZE (0..63))
},
-- Non critical extensions
@ -2937,7 +2969,15 @@ InterRATHandoverInfo-NonCriticalExtension-v6b0-IEs ::= SEQUENCE {
interRATHandoverInfo-v880ext InterRATHandoverInfo-v880ext-IEs,
v920NonCriticalExtensions SEQUENCE {
interRATHandoverInfo-v920ext InterRATHandoverInfo-v920ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v8b0NonCriticalExtensions SEQUENCE {
interRATHandoverInfo-v8b0ext
InterRATHandoverInfo-v8b0ext-IEs,
v950NonCriticalExtensions SEQUENCE {
interRATHandoverInfo-v950ext
InterRATHandoverInfo-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -2994,6 +3034,16 @@ InterRATHandoverInfo-v920ext-IEs ::= SEQUENCE {
ue-RadioAccessCapabilityComp2 UE-RadioAccessCapabilityComp2-v920ext OPTIONAL
}
InterRATHandoverInfo-v8b0ext-IEs ::= SEQUENCE {
-- UE radio access capability
ue-RadioAccessCapabilityInfo UE-RadioAccessCapabilityInfo-TDD128-v8b0ext OPTIONAL
}
InterRATHandoverInfo-v950ext-IEs ::= SEQUENCE {
-- User equipment IEs
pdcp-Capability PDCP-Capability-r4-ext OPTIONAL
}
-- ***************************************************
--
-- MEASUREMENT CONTROL
@ -3086,7 +3136,12 @@ MeasurementControl ::= CHOICE {
measurementControl-r9 MeasurementControl-r9-IEs,
-- Container for adding non critical extensions after freezing REL-10
measurementControl-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v970NonCriticalExtensions SEQUENCE {
measurementControl-v970ext
MeasurementControl-v970ext-IEs,
nonCriticalExtensions
SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -3200,16 +3255,28 @@ MeasurementControl-v8a0ext-IEs ::= SEQUENCE {
MeasurementControl-r9-IEs ::= SEQUENCE {
-- Measurement IEs
-- if the UE supports extended measurements, "measurementIdentity"
-- shall be ignored if "measurementIdentity" in MeasurementControl-v970ext-IEs
-- is present, and the value of that element shall be used instead.
measurementIdentity MeasurementIdentity,
-- TABULAR: The measurement type is included in measurementCommand.
measurementCommand MeasurementCommand-r9,
measurementReportingMode MeasurementReportingMode OPTIONAL,
-- if the UE supports extended measurements, "additionalMeasurementList"
-- shall be ignored if "additionalMeasurementList" in MeasurementControl-v970ext-IEs
-- is present, and the value of that element shall be used instead.
additionalMeasurementList AdditionalMeasurementID-List OPTIONAL,
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL,
-- Physical channel IEs
dpch-CompressedModeStatusInfo DPCH-CompressedModeStatusInfo OPTIONAL
}
MeasurementControl-v970ext-IEs ::= SEQUENCE {
-- Measurement IEs
measurementIdentity MeasurementIdentity-r9 OPTIONAL,
additionalMeasurementList AdditionalMeasurementID-List-r9 OPTIONAL
}
-- ***************************************************
--
-- MEASUREMENT CONTROL FAILURE
@ -3248,6 +3315,9 @@ MeasurementControlFailure-v590ext-IEs ::= SEQUENCE {
MeasurementReport ::= SEQUENCE {
-- Measurement IEs
-- if the UE supports extended measurements, "measurementIdentity"
-- shall be ignored if "measurementIdentity" in MeasurementReport-v970ext-IEs
-- is present, and the value of that element shall be used instead.
measurementIdentity MeasurementIdentity,
measuredResults MeasuredResults OPTIONAL,
measuredResultsOnRACH MeasuredResultsOnRACH OPTIONAL,
@ -3274,7 +3344,12 @@ MeasurementReport ::= SEQUENCE {
measurementReport-v860ext MeasurementReport-v860ext-IEs,
v920NonCriticalExtensions SEQUENCE {
measurementReport-v920ext MeasurementReport-v920ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v970NonCriticalExtensions SEQUENCE {
measurementReport-v970ext-IE
MeasurementReport-v970ext-IEs,
nonCriticalExtensions
SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -3339,6 +3414,10 @@ MeasurementReport-v920ext-IEs ::= SEQUENCE {
eutra-MeasuredResults EUTRA-MeasuredResults-v920ext OPTIONAL
}
MeasurementReport-v970ext-IEs ::= SEQUENCE {
measurementIdentity MeasurementIdentityExt OPTIONAL
}
-- ***************************************************
--
-- PAGING TYPE 1
@ -3544,7 +3623,11 @@ PhysicalChannelReconfiguration ::= CHOICE {
-- freezing REL-10
physicalChannelReconfiguration-r9-add-ext
BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
physicalChannelReconfiguration-v950ext
PhysicalChannelReconfiguration-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -3918,6 +4001,11 @@ PhysicalChannelReconfiguration-r9-IEs ::= SEQUENCE {
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
PhysicalChannelReconfiguration-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- PHYSICAL CHANNEL RECONFIGURATION COMPLETE
@ -4246,12 +4334,17 @@ RadioBearerReconfiguration ::= CHOICE {
},
criticalExtensions CHOICE {
r9 SEQUENCE {
radioBearerReconfiguration-r9 RadioBearerReconfiguration-r9-IEs,
radioBearerReconfiguration-r9
RadioBearerReconfiguration-r9-IEs,
-- Container for adding non critical extensions after
-- freezing REL-10
radioBearerReconfiguration-r9-add-ext
BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
radioBearerReconfiguration-v950ext
RadioBearerReconfiguration-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -4826,6 +4919,11 @@ RadioBearerReconfiguration-r9-IEs ::= SEQUENCE {
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
RadioBearerReconfiguration-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- RADIO BEARER RECONFIGURATION COMPLETE
@ -5008,7 +5106,13 @@ RadioBearerRelease ::= CHOICE {
-- Container for adding non critical extensions after
-- freezing REL-10
radioBearerRelease-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
radioBearerRelease-v950ext RadioBearerRelease-v950ext-IEs,
v970NonCriticalExtensions SEQUENCE {
radioBearerRelease-v970ext RadioBearerRelease-v970ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -5477,6 +5581,16 @@ RadioBearerRelease-r9-IEs ::= SEQUENCE {
RB-InformationReleaseList OPTIONAL
}
RadioBearerRelease-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
RadioBearerRelease-v970ext-IEs ::= SEQUENCE {
-- Measurement IEs for LCR
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
-- ***************************************************
--
-- RADIO BEARER RELEASE COMPLETE
@ -5650,7 +5764,10 @@ RadioBearerSetup ::= CHOICE {
-- Container for adding non critical extensions after
-- freezing REL-10
radioBearerSetup-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
radioBearerSetup-v950ext RadioBearerSetup-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -6153,6 +6270,11 @@ RadioBearerSetup-r9-IEs ::= SEQUENCE {
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
RadioBearerSetup-v950ext-IEs::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- RADIO BEARER SETUP COMPLETE
@ -6495,8 +6617,12 @@ RRCConnectionRequest ::= SEQUENCE {
v920NonCriticalExtensions SEQUENCE {
rrcConnectionRequest-v920ext
RRCConnectionRequest-v920ext-IEs,
nonCriticalExtensions
v940NonCriticalExtensions SEQUENCE {
rrcConnectionRequest-v940ext
RRCConnectionRequest-v940ext-IEs,
nonCriticalExtensions
SEQUENCE {} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
} OPTIONAL
@ -6585,6 +6711,11 @@ RRCConnectionRequest-v920ext-IEs ::= SEQUENCE {
supportOfDualCellMIMO ENUMERATED { true } OPTIONAL
}
RRCConnectionRequest-v940ext-IEs ::= SEQUENCE {
-- User equipment IEs
systemInformationContainerStoredIndicator ENUMERATED { true } OPTIONAL
}
-- ***************************************************
--
-- RRC CONNECTION SETUP
@ -6683,8 +6814,11 @@ RRCConnectionSetup ::= CHOICE {
rrcConnectionSetup-r9 RRCConnectionSetup-r9-IEs,
-- Container for adding non critical extensions after
-- freezing REL-10
rrcConnectionSetup-r9-add-ext BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
rrcConnectionSetup-r9-add-ext BIT STRING OPTIONAL,
v950NonCriticalExtensions SEQUENCE {
rrcConnectionSetup-v950ext RRCConnectionSetup-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -7054,6 +7188,11 @@ RRCConnectionSetup-r9-IEs ::= SEQUENCE {
sps-Information-TDD128 SPS-Information-TDD128-r8 OPTIONAL
}
RRCConnectionSetup-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- RRC CONNECTION SETUP COMPLETE
@ -7725,7 +7864,11 @@ TransportChannelReconfiguration ::= CHOICE {
-- freezing REL-10
transportChannelReconfiguration-r9-add-ext
BIT STRING OPTIONAL,
nonCriticalExtensions SEQUENCE {} OPTIONAL
v950NonCriticalExtensions SEQUENCE {
transportChannelReconfiguration-v950ext
TransportChannelReconfiguration-v950ext-IEs,
nonCriticalExtensions SEQUENCE {} OPTIONAL
} OPTIONAL
},
criticalExtensions SEQUENCE {}
}
@ -8149,6 +8292,11 @@ TransportChannelReconfiguration-r9-IEs ::= SEQUENCE {
cellDCHMeasOccasionInfo-TDD128 CellDCHMeasOccasionInfo-TDD128-r9 OPTIONAL
}
TransportChannelReconfiguration-v950ext-IEs ::= SEQUENCE {
-- Physical channel IEs
secondaryCellMimoParameters SecondaryCellMIMOparametersFDD-v950ext OPTIONAL
}
-- ***************************************************
--
-- TRANSPORT CHANNEL RECONFIGURATION COMPLETE

View File

@ -24,7 +24,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Ref: 3GPP TS 25.331 V8.8.0 (2009-09)
* Ref: 3GPP TS 25.331 V9.7.0 (2011-06)
*/
#ifdef HAVE_CONFIG_H
@ -58,9 +58,21 @@ static dissector_handle_t rrc_ul_ccch_handle=NULL;
static dissector_handle_t rrc_dl_ccch_handle=NULL;
static dissector_handle_t rrc_ul_dcch_handle=NULL;
static dissector_handle_t rrc_dl_dcch_handle=NULL;
static dissector_handle_t lte_rrc_ue_eutra_cap_handle=NULL;
static dissector_handle_t lte_rrc_dl_dcch_handle=NULL;
/* Forward declarations */
static void dissect_UE_RadioAccessCapabilityInfo_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_UE_RadioAccessCapabilityInfo_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_MasterInformationBlock_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoTypeSB1_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoTypeSB2_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType1_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType3_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType5_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType7_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType11_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType11bis_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static int dissect_SysInfoType12_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
/* Include constants */
#include "packet-rrc-val.h"
@ -75,9 +87,33 @@ static int ett_rrc = -1;
#include "packet-rrc-ett.c"
static gint ett_rrc_eutraFeatureGroupIndicators = -1;
/* Global variables */
static proto_tree *top_tree;
static int hf_rrc_eutra_feat_group_ind_1 = -1;
static int hf_rrc_eutra_feat_group_ind_2 = -1;
static int hf_rrc_eutra_feat_group_ind_3 = -1;
static int hf_rrc_eutra_feat_group_ind_4 = -1;
static const true_false_string rrc_eutra_feat_group_ind_1_val = {
"UTRA CELL_PCH to EUTRA RRC_IDLE cell reselection - Supported",
"UTRA CELL_PCH to EUTRA RRC_IDLE cell reselection - Not supported"
};
static const true_false_string rrc_eutra_feat_group_ind_2_val = {
"EUTRAN measurements and reporting in connected mode - Supported",
"EUTRAN measurements and reporting in connected mode - Not supported"
};
static const true_false_string rrc_eutra_feat_group_ind_3_val = {
"Undefined - Supported",
"Undefined - Not supported"
};
static const true_false_string rrc_eutra_feat_group_ind_4_val = {
"Undefined - Supported",
"Undefined - Not supported"
};
#include "packet-rrc-fn.c"
#include "packet-rrc.h"
@ -135,13 +171,29 @@ void proto_register_rrc(void) {
{ "RAB Test", "rrc.RAB.test",
FT_UINT8, BASE_DEC, NULL, 0,
"rrc.RAB_Info_r6", HFILL }},
{ &hf_rrc_eutra_feat_group_ind_1,
{ "Indicator 1", "rrc.eutra_feat_group_ind_1",
FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_1_val), 0,
"EUTRA Feature Group Indicator 1", HFILL }},
{ &hf_rrc_eutra_feat_group_ind_2,
{ "Indicator 2", "rrc.eutra_feat_group_ind_2",
FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_2_val), 0,
"EUTRA Feature Group Indicator 2", HFILL }},
{ &hf_rrc_eutra_feat_group_ind_3,
{ "Indicator 3", "rrc.eutra_feat_group_ind_3",
FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_3_val), 0,
"EUTRA Feature Group Indicator 3", HFILL }},
{ &hf_rrc_eutra_feat_group_ind_4,
{ "Indicator 4", "rrc.eutra_feat_group_ind_4",
FT_BOOLEAN, BASE_NONE, TFS(&rrc_eutra_feat_group_ind_4_val), 0,
"EUTRA Feature Group Indicator 4", HFILL }},
};
/* List of subtrees */
static gint *ett[] = {
&ett_rrc,
&ett_rrc,
#include "packet-rrc-ettarr.c"
&ett_rrc_eutraFeatureGroupIndicators,
};
@ -162,15 +214,16 @@ void proto_register_rrc(void) {
void
proto_reg_handoff_rrc(void)
{
gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
rrc_pcch_handle = find_dissector("rrc.pcch");
rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch");
rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch");
rrc_ul_dcch_handle = find_dissector("rrc.ul.dcch");
rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info");
rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
rrc_pcch_handle = find_dissector("rrc.pcch");
rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch");
rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch");
rrc_ul_dcch_handle = find_dissector("rrc.ul.dcch");
rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info");
rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
lte_rrc_ue_eutra_cap_handle = find_dissector("lte-rrc.ue_eutra_cap");
lte_rrc_dl_dcch_handle = find_dissector("lte-rrc.dl.dcch");
}

View File

@ -20,17 +20,15 @@ HandoverToUTRANCommand_PDU
# MasterInformationBlock @si.mib
# :
# for some reason
System-Information-Container
UE-RadioAccessCapability-v890ext
UL-PhysChCapabilityFDD-r6
GSMCellGroupingList
UE-Positioning-GANSS-Data
GANSSDecipheringKeys
GSM-CellID
CellMeasuredResultsListOnSecULFreq
#.END
#.PDU
#.PDU_NEW
DL-DCCH-Message @dl.dcch
UL-DCCH-Message @ul.dcch
@ -44,6 +42,7 @@ BCCH-BCH-Message @bcch.bch
MCCH-Message @mcch
MSCH-Message @msch
SystemInformation-BCH @sysinfo
System-Information-Container @sysinfo.cont
MasterInformationBlock @si.mib
SysInfoType1 @si.sib1
SysInfoType2 @si.sib2
@ -169,6 +168,10 @@ HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Me
col_append_str(actx->pinfo->cinfo, COL_INFO, "DownlinkDirectTransfer");
%(DEFAULT_BODY)s
#.FN_BODY ETWSPrimaryNotificationWithSecurity
col_append_str(actx->pinfo->cinfo, COL_INFO, "ETWSPrimaryNotificationWithSecurity");
%(DEFAULT_BODY)s
#.FN_BODY HandoverToUTRANComplete
col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverToUTRANComplete");
%(DEFAULT_BODY)s
@ -205,10 +208,6 @@ HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Me
col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCurrentCellPTMRBInformation");
%(DEFAULT_BODY)s
#.FN_BODY MBMSCurrentCellPTMRBInformation
col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCurrentCellPTMRBInformation");
%(DEFAULT_BODY)s
#.FN_BODY MBMSGeneralInformation
col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSGeneralInformation");
%(DEFAULT_BODY)s
@ -496,6 +495,7 @@ tvbuff_t *parameter_tvb=NULL;
if (parameter_tvb){
de_ms_cm_3(parameter_tvb, tree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0);
}
#.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
@ -504,5 +504,41 @@ tvbuff_t *parameter_tvb=NULL;
dissect_rrc_InterRATHandoverInfo_PDU(parameter_tvb, actx->pinfo, tree);
}
#.FN_BODY EUTRA-RadioAccessCapability/ue-EUTRA-Capability VAL_PTR = &ue_eutra_cap_tvb
tvbuff_t *ue_eutra_cap_tvb = NULL;
%(DEFAULT_BODY)s
if (ue_eutra_cap_tvb && lte_rrc_ue_eutra_cap_handle)
call_dissector(lte_rrc_ue_eutra_cap_handle, ue_eutra_cap_tvb, actx->pinfo, tree);
#.FN_BODY HandoverFromUTRANCommand-EUTRA-r8-IEs/eutra-Message VAL_PTR = &eutra_message_tvb
tvbuff_t *eutra_message_tvb = NULL;
%(DEFAULT_BODY)s
if (eutra_message_tvb && lte_rrc_dl_dcch_handle)
call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree);
#.FN_BODY HandoverFromUtranFailure-v860ext-IEs/eutra-Message VAL_PTR = &eutra_message_tvb
tvbuff_t *eutra_message_tvb = NULL;
%(DEFAULT_BODY)s
if (eutra_message_tvb && lte_rrc_dl_dcch_handle)
call_dissector(lte_rrc_dl_dcch_handle, eutra_message_tvb, actx->pinfo, tree);
#.FN_BODY MultiModeRAT-Capability-v860ext/eutraFeatureGroupIndicators VAL_PTR = &eutraFeatureGroupIndicators_tvb
tvbuff_t *eutraFeatureGroupIndicators_tvb=NULL;
%(DEFAULT_BODY)s
if(eutraFeatureGroupIndicators_tvb){
/* Dissect eutraFeatureGroupIndicators */
proto_tree *subtree;
gint curr_bit_offset = 0;
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_eutraFeatureGroupIndicators);
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_1, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_2, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_3, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
curr_bit_offset++;
proto_tree_add_bits_item(subtree, hf_rrc_eutra_feat_group_ind_4, eutraFeatureGroupIndicators_tvb, curr_bit_offset, 1, FALSE);
curr_bit_offset++;
}
#.END

View File

@ -696,6 +696,8 @@ guint16 de_d_gb_call_ref(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, gu
guint16 de_emm_ue_net_cap(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_emm_trac_area_id(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string, int string_len);
guint16 de_emm_sec_par_from_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_);
guint16 de_emm_sec_par_to_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_);
void dtap_rr_ho_cmd(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);
void dtap_rr_cip_mode_cpte(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len);

View File

@ -9,7 +9,7 @@
/* packet-lte-rrc-template.c
* Routines for Evolved Universal Terrestrial Radio Access (E-UTRA);
* Radio Resource Control (RRC) protocol specification
* (3GPP TS 36.331 V9.6.0 Release 9) packet dissection
* (3GPP TS 36.331 V9.7.0 Release 9) packet dissection
* Copyright 2008, Vincent Helfre
*
* $Id$
@ -54,7 +54,10 @@
#define PFNAME "lte_rrc"
static dissector_handle_t nas_eps_handle = NULL;
static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle;
static dissector_handle_t rrc_sys_info_cont_handle;
static guint32 lte_rrc_rat_type_value = -1;
static guint32 lte_rrc_ho_target_rat_type_value = -1;
/* Include constants */
@ -94,7 +97,7 @@ static guint32 lte_rrc_rat_type_value = -1;
#define maxReestabInfo 32
/*--- End of included file: packet-lte-rrc-val.h ---*/
#line 53 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 56 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
/* Initialize the protocol and registered fields */
static int proto_lte_rrc = -1;
@ -267,8 +270,8 @@ static int hf_lte_rrc_nonCriticalExtension_20 = -1; /* MobilityFromEUTRACommand
static int hf_lte_rrc_nonCriticalExtension_21 = -1; /* MobilityFromEUTRACommand_v960_IEs */
static int hf_lte_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_09 */
static int hf_lte_rrc_targetRAT_Type = -1; /* T_targetRAT_Type */
static int hf_lte_rrc_targetRAT_MessageContainer = -1; /* OCTET_STRING */
static int hf_lte_rrc_nas_SecurityParamFromEUTRA = -1; /* OCTET_STRING_SIZE_1 */
static int hf_lte_rrc_targetRAT_MessageContainer = -1; /* T_targetRAT_MessageContainer */
static int hf_lte_rrc_nas_SecurityParamFromEUTRA = -1; /* T_nas_SecurityParamFromEUTRA */
static int hf_lte_rrc_systemInformation_01 = -1; /* SI_OrPSI_GERAN */
static int hf_lte_rrc_t304 = -1; /* T_t304 */
static int hf_lte_rrc_targetRAT_Type_01 = -1; /* T_targetRAT_Type_01 */
@ -326,7 +329,7 @@ static int hf_lte_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig
static int hf_lte_rrc_keyChangeIndicator = -1; /* BOOLEAN */
static int hf_lte_rrc_nextHopChainingCount = -1; /* NextHopChainingCount */
static int hf_lte_rrc_interRAT = -1; /* T_interRAT */
static int hf_lte_rrc_nas_SecurityParamToEUTRA = -1; /* OCTET_STRING_SIZE_6 */
static int hf_lte_rrc_nas_SecurityParamToEUTRA = -1; /* T_nas_SecurityParamToEUTRA */
static int hf_lte_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */
static int hf_lte_rrc_rrcConnectionReconfigurationComplete_r8 = -1; /* RRCConnectionReconfigurationComplete_r8_IEs */
static int hf_lte_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */
@ -410,9 +413,10 @@ static int hf_lte_rrc_carrierFreq_r9_01 = -1; /* CarrierFreqGERAN */
static int hf_lte_rrc_systemInformation_r9 = -1; /* SystemInfoListGERAN */
static int hf_lte_rrc_CellInfoListUTRA_FDD_r9_item = -1; /* CellInfoUTRA_FDD_r9 */
static int hf_lte_rrc_physCellId_r9_01 = -1; /* PhysCellIdUTRA_FDD */
static int hf_lte_rrc_utra_BCCH_Container_r9 = -1; /* OCTET_STRING */
static int hf_lte_rrc_utra_BCCH_Container_r9 = -1; /* T_utra_BCCH_Container_r9 */
static int hf_lte_rrc_CellInfoListUTRA_TDD_r9_item = -1; /* CellInfoUTRA_TDD_r9 */
static int hf_lte_rrc_physCellId_r9_02 = -1; /* PhysCellIdUTRA_TDD */
static int hf_lte_rrc_utra_BCCH_Container_r9_01 = -1; /* T_utra_BCCH_Container_r9_01 */
static int hf_lte_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */
static int hf_lte_rrc_rrcConnectionRequest_r8 = -1; /* RRCConnectionRequest_r8_IEs */
static int hf_lte_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */
@ -1370,7 +1374,7 @@ static int hf_lte_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */
static int hf_lte_rrc_dummy_eag_field = -1; /* never registered */
/*--- End of included file: packet-lte-rrc-hf.c ---*/
#line 58 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 61 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1;
static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1;
@ -2081,7 +2085,7 @@ static gint ett_lte_rrc_AdditionalReestabInfo = -1;
static gint ett_lte_rrc_RRM_Config = -1;
/*--- End of included file: packet-lte-rrc-ett.c ---*/
#line 96 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 99 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
static gint ett_lte_rrc_featureGroupIndicators = -1;
@ -2207,8 +2211,8 @@ static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = {
"Semi-Persistent Scheduling - Not supported"
};
static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = {
"Undefined - Supported",
"Undefined - Not supported"
"Handover between FDD and TDD - Supported",
"Handover between FDD and TDD - Not supported"
};
static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = {
"Undefined - Supported",
@ -10899,7 +10903,63 @@ static const value_string lte_rrc_T_targetRAT_Type_vals[] = {
static int
dissect_lte_rrc_T_targetRAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, NULL, TRUE, 0, NULL);
8, &lte_rrc_ho_target_rat_type_value, TRUE, 0, NULL);
return offset;
}
static int
dissect_lte_rrc_T_targetRAT_MessageContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
tvbuff_t *target_rat_msg_cont_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &target_rat_msg_cont_tvb);
if(target_rat_msg_cont_tvb){
switch(lte_rrc_ho_target_rat_type_value){
case 0:
/* utra */
if (rrc_irat_ho_to_utran_cmd_handle)
call_dissector(rrc_irat_ho_to_utran_cmd_handle, target_rat_msg_cont_tvb, actx->pinfo, tree);
break;
case 1:
/* geran */
break;
case 2:
/* cdma2000-1XRTT */
break;
case 3:
/* cdma2000-HRPD */
break;
default:
break;
}
}
return offset;
}
static int
dissect_lte_rrc_T_nas_SecurityParamFromEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
tvbuff_t *nas_sec_param_from_eutra_tvb = NULL;
guint32 length;
proto_item *item;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 1, FALSE, &nas_sec_param_from_eutra_tvb);
length = tvb_length(nas_sec_param_from_eutra_tvb);
item = proto_tree_add_text(tree, nas_sec_param_from_eutra_tvb, 0, length, "NAS security parameters from E-UTRA");
subtree = proto_item_add_subtree(item, hf_lte_rrc_nas_SecurityParamFromEUTRA);
de_emm_sec_par_from_eutra(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
return offset;
}
@ -10953,17 +11013,20 @@ dissect_lte_rrc_SI_OrPSI_GERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static const per_sequence_t Handover_sequence[] = {
{ &hf_lte_rrc_targetRAT_Type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_targetRAT_Type },
{ &hf_lte_rrc_targetRAT_MessageContainer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OCTET_STRING },
{ &hf_lte_rrc_nas_SecurityParamFromEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING_SIZE_1 },
{ &hf_lte_rrc_targetRAT_MessageContainer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_targetRAT_MessageContainer },
{ &hf_lte_rrc_nas_SecurityParamFromEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nas_SecurityParamFromEUTRA },
{ &hf_lte_rrc_systemInformation_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SI_OrPSI_GERAN },
{ NULL, 0, 0, NULL }
};
static int
dissect_lte_rrc_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
lte_rrc_ho_target_rat_type_value = -1;
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_Handover, Handover_sequence);
return offset;
}
@ -13255,9 +13318,21 @@ dissect_lte_rrc_T_intraLTE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_lte_rrc_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
dissect_lte_rrc_T_nas_SecurityParamToEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
tvbuff_t *nas_sec_param_to_eutra_tvb = NULL;
guint32 length;
proto_item *item;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6, 6, FALSE, NULL);
6, 6, FALSE, &nas_sec_param_to_eutra_tvb);
length = tvb_length(nas_sec_param_to_eutra_tvb);
item = proto_tree_add_text(tree, nas_sec_param_to_eutra_tvb, 0, length, "NAS security parameters to E-UTRA");
subtree = proto_item_add_subtree(item, hf_lte_rrc_nas_SecurityParamToEUTRA);
de_emm_sec_par_to_eutra(nas_sec_param_to_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0);
return offset;
}
@ -13265,7 +13340,7 @@ dissect_lte_rrc_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static const per_sequence_t T_interRAT_sequence[] = {
{ &hf_lte_rrc_securityAlgorithmConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SecurityAlgorithmConfig },
{ &hf_lte_rrc_nas_SecurityParamToEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OCTET_STRING_SIZE_6 },
{ &hf_lte_rrc_nas_SecurityParamToEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_nas_SecurityParamToEUTRA },
{ NULL, 0, 0, NULL }
};
@ -13832,9 +13907,24 @@ dissect_lte_rrc_CellInfoListGERAN_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
static int
dissect_lte_rrc_T_utra_BCCH_Container_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
tvbuff_t *utra_bcch_cont_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &utra_bcch_cont_tvb);
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle)
call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, tree);
return offset;
}
static const per_sequence_t CellInfoUTRA_FDD_r9_sequence[] = {
{ &hf_lte_rrc_physCellId_r9_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_FDD },
{ &hf_lte_rrc_utra_BCCH_Container_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OCTET_STRING },
{ &hf_lte_rrc_utra_BCCH_Container_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_utra_BCCH_Container_r9 },
{ NULL, 0, 0, NULL }
};
@ -13861,9 +13951,24 @@ dissect_lte_rrc_CellInfoListUTRA_FDD_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
static int
dissect_lte_rrc_T_utra_BCCH_Container_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
tvbuff_t *utra_bcch_cont_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &utra_bcch_cont_tvb);
if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle)
call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, tree);
return offset;
}
static const per_sequence_t CellInfoUTRA_TDD_r9_sequence[] = {
{ &hf_lte_rrc_physCellId_r9_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_TDD },
{ &hf_lte_rrc_utra_BCCH_Container_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OCTET_STRING },
{ &hf_lte_rrc_utra_BCCH_Container_r9_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_utra_BCCH_Container_r9_01 },
{ NULL, 0, 0, NULL }
};
@ -19537,7 +19642,7 @@ static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, p
/*--- End of included file: packet-lte-rrc-fn.c ---*/
#line 233 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 236 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
static void
dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
@ -20308,11 +20413,11 @@ void proto_register_lte_rrc(void) {
{ &hf_lte_rrc_targetRAT_MessageContainer,
{ "targetRAT-MessageContainer", "lte-rrc.targetRAT_MessageContainer",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
"T_targetRAT_MessageContainer", HFILL }},
{ &hf_lte_rrc_nas_SecurityParamFromEUTRA,
{ "nas-SecurityParamFromEUTRA", "lte-rrc.nas_SecurityParamFromEUTRA",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_1", HFILL }},
NULL, HFILL }},
{ &hf_lte_rrc_systemInformation_01,
{ "systemInformation", "lte-rrc.systemInformation",
FT_UINT32, BASE_DEC, VALS(lte_rrc_SI_OrPSI_GERAN_vals), 0,
@ -20544,7 +20649,7 @@ void proto_register_lte_rrc(void) {
{ &hf_lte_rrc_nas_SecurityParamToEUTRA,
{ "nas-SecurityParamToEUTRA", "lte-rrc.nas_SecurityParamToEUTRA",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_6", HFILL }},
NULL, HFILL }},
{ &hf_lte_rrc_criticalExtensions_10,
{ "criticalExtensions", "lte-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_10_vals), 0,
@ -20880,7 +20985,7 @@ void proto_register_lte_rrc(void) {
{ &hf_lte_rrc_utra_BCCH_Container_r9,
{ "utra-BCCH-Container-r9", "lte-rrc.utra_BCCH_Container_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING", HFILL }},
NULL, HFILL }},
{ &hf_lte_rrc_CellInfoListUTRA_TDD_r9_item,
{ "CellInfoUTRA-TDD-r9", "lte-rrc.CellInfoUTRA_TDD_r9",
FT_NONE, BASE_NONE, NULL, 0,
@ -20889,6 +20994,10 @@ void proto_register_lte_rrc(void) {
{ "physCellId-r9", "lte-rrc.physCellId_r9",
FT_UINT32, BASE_DEC, NULL, 0,
"PhysCellIdUTRA_TDD", HFILL }},
{ &hf_lte_rrc_utra_BCCH_Container_r9_01,
{ "utra-BCCH-Container-r9", "lte-rrc.utra_BCCH_Container_r9",
FT_BYTES, BASE_NONE, NULL, 0,
"T_utra_BCCH_Container_r9_01", HFILL }},
{ &hf_lte_rrc_criticalExtensions_17,
{ "criticalExtensions", "lte-rrc.criticalExtensions",
FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_17_vals), 0,
@ -24707,7 +24816,7 @@ void proto_register_lte_rrc(void) {
NULL, HFILL }},
/*--- End of included file: packet-lte-rrc-hfarr.c ---*/
#line 338 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 341 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
{ &hf_lte_rrc_eutra_cap_feat_group_ind_1,
{ "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1",
@ -25515,7 +25624,7 @@ void proto_register_lte_rrc(void) {
&ett_lte_rrc_RRM_Config,
/*--- End of included file: packet-lte-rrc-ettarr.c ---*/
#line 473 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 476 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
&ett_lte_rrc_featureGroupIndicators,
};
@ -25553,7 +25662,7 @@ void proto_register_lte_rrc(void) {
/*--- End of included file: packet-lte-rrc-dis-reg.c ---*/
#line 495 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
#line 498 "../../asn1/lte-rrc/packet-lte-rrc-template.c"
}
@ -25567,6 +25676,8 @@ proto_reg_handoff_lte_rrc(void)
lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch");
dissector_add_handle("udp.port", lte_rrc_dl_ccch_handle);
nas_eps_handle = find_dissector("nas-eps");
rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd");
rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont");
}

View File

@ -438,8 +438,8 @@ de_eps_cmn_eps_be_ctx_status(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo
/*
* 9.9.2.6 NAS security parameters from E-UTRA
*/
static guint16
de_sec_par_from_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
guint16
de_emm_sec_par_from_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
@ -458,8 +458,8 @@ de_sec_par_from_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, g
/*
* 9.9.2.7 NAS security parameters to E-UTRA
*/
static guint16
de_sec_par_to_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
guint16
de_emm_sec_par_to_eutra(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
@ -522,8 +522,8 @@ guint16 (*nas_eps_common_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_inf
de_mid, /* 9.9.2.3 Mobile identity See subclause 10.5.1.4 in 3GPP TS 24.008*/
de_ms_cm_2, /* 9.9.2.4 Mobile station classmark 2 */
de_ms_cm_3, /* 9.9.2.5 Mobile station classmark 3 */
de_sec_par_from_eutra, /* 9.9.2.6 NAS security parameters from E-UTRA */
de_sec_par_to_eutra, /* 9.9.2.7 NAS security parameters to E-UTRA */
de_emm_sec_par_from_eutra, /* 9.9.2.6 NAS security parameters from E-UTRA */
de_emm_sec_par_to_eutra, /* 9.9.2.7 NAS security parameters to E-UTRA */
de_plmn_list, /* 9.9.2.8 PLMN list */
NULL, /* 9.9.2.10 Supported codec list (packet-gsm_a_dtap.c) */

File diff suppressed because it is too large Load Diff

View File

@ -38,10 +38,10 @@ extern int proto_rrc;
/*--- Included file: packet-rrc-exp.h ---*/
#line 1 "../../asn1/rrc/packet-rrc-exp.h"
int dissect_rrc_InterRATHandoverInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
void dissect_rrc_HandoverToUTRANCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
void dissect_rrc_InterRATHandoverInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
void dissect_rrc_ToTargetRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
void dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
int dissect_rrc_HandoverToUTRANCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
int dissect_rrc_InterRATHandoverInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
int dissect_rrc_ToTargetRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
int dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
/*--- End of included file: packet-rrc-exp.h ---*/
#line 30 "../../asn1/rrc/packet-rrc-template.h"

View File

@ -33,6 +33,50 @@ typedef struct _epan_dissect_t epan_dissect_t;
#include "dfilter/dfilter.h"
/**
@mainpage Wireshark EPAN the packet analyzing engine. Source code can be found in the epan directory
@section Introduction
XXX
@b Sections:
- \ref proto_pub
*/
/*
Ref 1
Epan
Ethereal Packet ANalyzer (XXX - is this correct?) the packet analyzing engine. Source code can be found in the epan directory.
Protocol-Tree - Keep data of the capture file protocol information.
Dissectors - The various protocol dissectors in epan/dissectors.
Plugins - Some of the protocol dissectors are implemented as plugins. Source code can be found at plugins.
Display-Filters - the display filter engine at epan/dfilter
Ref2 for further edits - delete when done
\section Introduction
This document describes the data structures and the functions exported by the CACE Technologies AirPcap library.
The AirPcap library provides low-level access to the AirPcap driver including advanced capabilities such as channel setting,
link type control and WEP configuration.<br>
This manual includes the following sections:
\note throughout this documentation, \e device refers to a physical USB AirPcap device, while \e adapter is an open API
instance. Most of the AirPcap API operations are adapter-specific but some of them, like setting the channel, are
per-device and will be reflected on all the open adapters. These functions will have "Device" in their name, e.g.
AirpcapSetDeviceChannel().
\b Sections:
- \ref airpcapfuncs
- \ref airpcapdefs
- \ref radiotap
*/
/** init the whole epan module, this is used to be called only once in a program */
void epan_init(void (*register_all_protocols_func)(register_cb cb, gpointer client_data),
void (*register_all_handoffs_func)(register_cb cb, gpointer client_data),