From 9aa624d1179b19ac38eb8b3efe82b1bf8f2fd3a1 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Tue, 31 Mar 2015 22:05:43 +0200 Subject: [PATCH] LTE RRC: upgrade dissector to v12.5.0 Change-Id: I9e3dfb17b4b7f96be999ccea88fec754a936d312 Reviewed-on: https://code.wireshark.org/review/7869 Petri-Dish: Pascal Quantin Reviewed-by: Pascal Quantin --- asn1/lte-rrc/CMakeLists.txt | 6 +- asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn | 65 +- asn1/lte-rrc/EUTRA-RRC-Definitions.asn | 1159 +- asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn | 81 + asn1/lte-rrc/EUTRA-UE-Variables.asn | 9 +- asn1/lte-rrc/Makefile.common | 4 +- asn1/lte-rrc/PC5-RRC-Definitions.asn | 31 + asn1/lte-rrc/lte-rrc.cnf | 90 +- asn1/lte-rrc/packet-lte-rrc-template.c | 72 +- epan/dissectors/packet-lte-rrc.c | 40435 ++++++++++-------- epan/dissectors/packet-lte-rrc.h | 6 +- tools/extract_asn1_from_spec.pl | 2 +- 12 files changed, 22689 insertions(+), 19271 deletions(-) create mode 100644 asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn create mode 100644 asn1/lte-rrc/PC5-RRC-Definitions.asn diff --git a/asn1/lte-rrc/CMakeLists.txt b/asn1/lte-rrc/CMakeLists.txt index 4319f4c623..7879c75a7d 100644 --- a/asn1/lte-rrc/CMakeLists.txt +++ b/asn1/lte-rrc/CMakeLists.txt @@ -31,9 +31,11 @@ set( EXT_ASN_FILE_LIST ) set( ASN_FILE_LIST - EUTRA-RRC-Definitions.asn - EUTRA-UE-Variables.asn EUTRA-InterNodeDefinitions.asn + EUTRA-RRC-Definitions.asn + EUTRA-Sidelink-Preconf.asn + EUTRA-UE-Variables.asn + PC5-RRC-Definitions.asn ) set( EXTRA_DIST diff --git a/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn b/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn index a63057c8a6..5ac340dfef 100644 --- a/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn +++ b/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.331 V12.4.0 (2014-12) +-- 3GPP TS 36.331 V12.5.0 (2015-03) -- EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= @@ -27,11 +27,13 @@ IMPORTS PhysCellId, P-Max, PowerCoordinationInfo-r12, + SidelinkUEInformation-r12, + SL-CommConfig-r12, + SL-DiscConfig-r12, RadioResourceConfigDedicated, - RRCConnectionReconfigurationComplete, RSRP-Range, RSRQ-Range, - RSRQ-Range-v12xy, + RSRQ-Range-v1250, SCellToAddModList-r10, SCG-ConfigPartSCG-r12, SecurityAlgorithmConfig, @@ -46,7 +48,7 @@ IMPORTS UECapabilityInformation, UE-CapabilityRAT-ContainerList, UE-RadioPagingInfo-r12, - WLAN-OffloadConfig-r12 + WLAN-OffloadConfig-r12 FROM EUTRA-RRC-Definitions; @@ -82,16 +84,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 + rel9, rel10, rel11, rel12, spare4, spare3, + spare2, spare1, ...} OPTIONAL, -- Cond HO2 nonCriticalExtension HandoverPreparationInformation-v9d0-IEs OPTIONAL } @@ -107,12 +109,12 @@ HandoverPreparationInformation-v9e0-IEs ::= SEQUENCE { HandoverPreparationInformation-v1130-IEs ::= SEQUENCE { as-Context-v1130 AS-Context-v1130 OPTIONAL, -- Cond HO2 - nonCriticalExtension HandoverPreparationInformation-v12xy-IEs OPTIONAL + nonCriticalExtension HandoverPreparationInformation-v1250-IEs OPTIONAL } -HandoverPreparationInformation-v12xy-IEs ::= SEQUENCE { - ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3 - as-Config-v12xy AS-Config-v12xy OPTIONAL, -- Cond HO2 +HandoverPreparationInformation-v1250-IEs ::= SEQUENCE { + ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3 + as-Config-v1250 AS-Config-v1250 OPTIONAL, -- Cond HO2 nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -148,30 +150,21 @@ SCG-ConfigInfo-r12 ::= 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-r12 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, + p-Max-r12 P-Max OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -180,29 +173,34 @@ 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 + 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 + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9 } OPTIONAL, -- Cond SCellAdd measResultCellToAdd-r12 SEQUENCE { rsrpResult-r12 RSRP-Range, rsrqResult-r12 RSRQ-Range - } OPTIONAL -- Cond SCellAdd + } OPTIONAL, -- Cond SCellAdd2 + ... } 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 { @@ -277,8 +275,10 @@ AS-Config-v9e0 ::= SEQUENCE { sourceDl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 } -AS-Config-v12xy ::= SEQUENCE { - sourceWlan-OffloadConfig-r12 WLAN-OffloadConfig-r12 OPTIONAL +AS-Config-v1250 ::= SEQUENCE { + sourceWlan-OffloadConfig-r12 WLAN-OffloadConfig-r12 OPTIONAL, + sourceSL-CommConfig-r12 SL-CommConfig-r12 OPTIONAL, + sourceSL-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL } @@ -293,7 +293,10 @@ AS-Context-v1130 ::= SEQUENCE { MBMSInterestIndication-r11) OPTIONAL, -- Cond HO2 powerPrefIndication-r11 OCTET STRING (CONTAINING UEAssistanceInformation-r11) OPTIONAL, -- Cond HO2 - ... + ..., + [[ sidelinkUEInformation-r12 OCTET STRING (CONTAINING + SidelinkUEInformation-r12) OPTIONAL -- Cond HO2 + ]] } @@ -343,7 +346,7 @@ CandidateCellInfo-r10 ::= SEQUENCE { ..., [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL ]], - [[ rsrqResult-v12xy RSRQ-Range-v12xy OPTIONAL + [[ rsrqResult-v1250 RSRQ-Range-v1250 OPTIONAL ]] } diff --git a/asn1/lte-rrc/EUTRA-RRC-Definitions.asn b/asn1/lte-rrc/EUTRA-RRC-Definitions.asn index a096dc2b37..e63f32b67b 100644 --- a/asn1/lte-rrc/EUTRA-RRC-Definitions.asn +++ b/asn1/lte-rrc/EUTRA-RRC-Definitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.331 V12.4.0 (2014-12) +-- 3GPP TS 36.331 V12.5.0 (2015-03) -- EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= @@ -25,7 +25,7 @@ BCCH-DL-SCH-MessageType ::= CHOICE { } -MCCH-Message ::= SEQUENCE { +MCCH-Message ::= SEQUENCE { message MCCH-MessageType } @@ -136,7 +136,8 @@ UL-DCCH-MessageType ::= CHOICE { inDeviceCoexIndication-r11 InDeviceCoexIndication-r11, mbmsInterestIndication-r11 MBMSInterestIndication-r11, scgFailureInformation-r12 SCGFailureInformation-r12, - spare12 NULL, spare11 NULL, spare10 NULL, + sidelinkUEInformation-r12 SidelinkUEInformation-r12, + spare11 NULL, spare10 NULL, spare9 NULL, spare8 NULL, spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL @@ -413,19 +414,20 @@ LoggedMeasurementConfiguration-v1080-IEs ::= SEQUENCE { LoggedMeasurementConfiguration-v1130-IEs ::= SEQUENCE { plmn-IdentityList-r11 PLMN-IdentityList3-r11 OPTIONAL, -- Need OR areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, -- Need OR - nonCriticalExtension LoggedMeasurementConfiguration-v12xy-IEs OPTIONAL + nonCriticalExtension LoggedMeasurementConfiguration-v1250-IEs OPTIONAL } -LoggedMeasurementConfiguration-v12xy-IEs ::= SEQUENCE { - targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, -- Need OR +LoggedMeasurementConfiguration-v1250-IEs ::= SEQUENCE { + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, -- Need OP nonCriticalExtension SEQUENCE {} OPTIONAL } -TargetMBSFN-AreaList-r12 ::= SEQUENCE (SIZE (0..8)) OF TargetMBSFN-Area-r12 +TargetMBSFN-AreaList-r12 ::= SEQUENCE (SIZE (0..maxMBSFN-Area)) OF TargetMBSFN-Area-r12 TargetMBSFN-Area-r12 ::= SEQUENCE { - mbsfn-AreaId-r12 INTEGER (0..255) OPTIONAL, -- Need OR - carrierFreq-r12 ARFCN-ValueEUTRA-r9 + mbsfn-AreaId-r12 MBSFN-AreaId-r12 OPTIONAL, -- Need OR + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + ... } @@ -464,7 +466,7 @@ MBMSCountingResponse-r10 ::= SEQUENCE { } MBMSCountingResponse-r10-IEs ::= SEQUENCE { - mbsfn-AreaIndex-r10 INTEGER (0..maxMBSFN-Area-1) OPTIONAL, + mbsfn-AreaIndex-r10 INTEGER (0..maxMBSFN-Area-1) OPTIONAL, countingResponseList-r10 CountingResponseList-r10 OPTIONAL, lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL @@ -506,11 +508,11 @@ MBSFNAreaConfiguration-r9 ::= SEQUENCE { MBSFNAreaConfiguration-v930-IEs ::= SEQUENCE { lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension MBSFNAreaConfiguration-v12xy-IEs OPTIONAL + nonCriticalExtension MBSFNAreaConfiguration-v1250-IEs OPTIONAL } -MBSFNAreaConfiguration-v12xy-IEs ::= SEQUENCE { - pmch-InfoListExt-r12 PMCH-InfoListExt-r12 OPTIONAL, +MBSFNAreaConfiguration-v1250-IEs ::= SEQUENCE { + pmch-InfoListExt-r12 PMCH-InfoListExt-r12 OPTIONAL, -- Need OR nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -545,8 +547,8 @@ MobilityFromEUTRACommand ::= SEQUENCE { criticalExtensions CHOICE { c1 CHOICE{ mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs, - mobilityFromEUTRACommand-r9 MobilityFromEUTRACommand-r9-IEs, - spare2 NULL, spare1 NULL + mobilityFromEUTRACommand-r9 MobilityFromEUTRACommand-r9-IEs, + spare2 NULL, spare1 NULL }, criticalExtensionsFuture SEQUENCE {} } @@ -597,7 +599,7 @@ Handover ::= SEQUENCE { utra, geran, cdma2000-1XRTT, cdma2000-HRPD, spare4, spare3, spare2, spare1, ...}, targetRAT-MessageContainer OCTET STRING, - nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERAN + nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERAN systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO } @@ -609,7 +611,7 @@ CellChangeOrder ::= SEQUENCE { geran SEQUENCE { physCellId PhysCellIdGERAN, carrierFreq CarrierFreqGERAN, - networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP + networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP }, ... @@ -622,17 +624,17 @@ SI-OrPSI-GERAN ::= CHOICE { } E-CSFB-r9 ::= SEQUENCE { - messageContCDMA2000-1XRTT-r9 OCTET STRING OPTIONAL, -- Need ON + messageContCDMA2000-1XRTT-r9 OCTET STRING OPTIONAL, -- Need ON mobilityCDMA2000-HRPD-r9 ENUMERATED { handover, redirection } OPTIONAL, -- Need OP - messageContCDMA2000-HRPD-r9 OCTET STRING OPTIONAL, -- Cond concHO + messageContCDMA2000-HRPD-r9 OCTET STRING OPTIONAL, -- Cond concHO redirectCarrierCDMA2000-HRPD-r9 CarrierFreqCDMA2000 OPTIONAL -- Cond concRedir } Paging ::= SEQUENCE { - pagingRecordList PagingRecordList OPTIONAL, -- Need ON + pagingRecordList PagingRecordList OPTIONAL, -- Need ON systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON nonCriticalExtension Paging-v890-IEs OPTIONAL @@ -783,23 +785,30 @@ RRCConnectionReconfiguration-v1020-IEs ::= SEQUENCE { RRCConnectionReconfiguration-v1130-IEs ::= SEQUENCE { systemInfomationBlockType1Dedicated-r11 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON - nonCriticalExtension RRCConnectionReconfiguration-v12xy-IEs OPTIONAL + nonCriticalExtension RRCConnectionReconfiguration-v1250-IEs OPTIONAL } -RRCConnectionReconfiguration-v12xy-IEs ::= SEQUENCE { - wlan-OffloadDedicated-r12 CHOICE { - release NULL, +RRCConnectionReconfiguration-v1250-IEs ::= SEQUENCE { + wlan-OffloadInfo-r12 CHOICE { + release NULL, setup SEQUENCE { - wlan-OffloadConfig-r12 WLAN-OffloadConfig-r12, + wlan-OffloadConfigDedicated-r12 WLAN-OffloadConfig-r12, t350-r12 ENUMERATED {min5, min10, min20, min30, min60, - min120, min180, spare1} OPTIONAL-- Need ON + min120, min180, spare1} OPTIONAL-- Need OR } } OPTIONAL, -- Need ON - scg-Configuration-r12 SCG-Configuration-r12 OPTIONAL, -- Cond nonFullConfig + scg-Configuration-r12 SCG-Configuration-r12 OPTIONAL, -- Cond nonFullConfig + sl-SyncTxControl-r12 SL-SyncTxControl-r12 OPTIONAL, -- Need ON + sl-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL, -- Need ON + sl-CommConfig-r12 SL-CommConfig-r12 OPTIONAL, -- Need ON nonCriticalExtension SEQUENCE {} OPTIONAL } -PSCell-r12 ::= SEQUENCE { +SL-SyncTxControl-r12 ::= SEQUENCE { + networkControlledSyncTx-r12 ENUMERATED {on, off} OPTIONAL -- Need OP +} + +PSCellToAddMod-r12 ::= SEQUENCE { sCellIndex-r12 SCellIndex-r10, cellIdentification-r12 SEQUENCE { physCellId-r12 PhysCellId, @@ -836,22 +845,21 @@ SCellToReleaseList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellIndex-r10 SCG-Configuration-r12 ::= CHOICE { release NULL, setup SEQUENCE { - scg-ConfigPartMCG SEQUENCE { - scg-Counter-r12 INTEGER (0.. 65535) OPTIONAL, -- Cond SCG-Est4 - powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, -- Cond SCG-Est + scg-ConfigPartMCG-r12 SEQUENCE { + scg-Counter-r12 INTEGER (0.. 65535) OPTIONAL, -- Need ON + powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, -- Need ON ... - } OPTIONAL, -- Cond SCG-Est6 - scg-ConfigPartSCG SCG-ConfigPartSCG-r12 OPTIONAL -- Cond SCG-Est5 + } OPTIONAL, -- Need ON + scg-ConfigPartSCG-r12 SCG-ConfigPartSCG-r12 OPTIONAL -- Need ON } } SCG-ConfigPartSCG-r12 ::= SEQUENCE { - cipheringAlgorithmSCG-r12 CipheringAlgorithm-r12 OPTIONAL, -- Cond SCG-Est4 - radioResourceConfigDedicatedSCG-r12 RadioResourceConfigDedicatedSCG-r12 OPTIONAL, -- Cond SCG-Est + radioResourceConfigDedicatedSCG-r12 RadioResourceConfigDedicatedSCG-r12 OPTIONAL, -- Need ON sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, -- Need ON - psCellToAddMod-r12 PSCell-r12 OPTIONAL, -- Cond SCG-Est - sCellToAddModListSCG-r12 SCellToAddModList-r10 OPTIONAL, -- Cond SCG-Est - mobilityControlInfoSCG-r12 MobilityControlInfoSCG-r12 OPTIONAL, -- Cond SCG-Est2 + pSCellToAddMod-r12 PSCellToAddMod-r12 OPTIONAL, -- Need ON + sCellToAddModListSCG-r12 SCellToAddModList-r10 OPTIONAL, -- Need ON + mobilityControlInfoSCG-r12 MobilityControlInfoSCG-r12 OPTIONAL, -- Need ON ... } @@ -898,10 +906,10 @@ RRCConnectionReconfigurationComplete-v1020-IEs ::= SEQUENCE { RRCConnectionReconfigurationComplete-v1130-IEs ::= SEQUENCE { connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, - nonCriticalExtension RRCConnectionReconfigurationComplete-v12xy-IEs OPTIONAL + nonCriticalExtension RRCConnectionReconfigurationComplete-v1250-IEs OPTIONAL } -RRCConnectionReconfigurationComplete-v12xy-IEs ::= SEQUENCE { +RRCConnectionReconfigurationComplete-v1250-IEs ::= SEQUENCE { logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -913,8 +921,8 @@ RRCConnectionReestablishment ::= SEQUENCE { c1 CHOICE{ rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs, spare7 NULL, - spare6 NULL, spare5 NULL, spare4 NULL, - spare3 NULL, spare2 NULL, spare1 NULL + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL }, criticalExtensionsFuture SEQUENCE {} } @@ -962,10 +970,10 @@ RRCConnectionReestablishmentComplete-v1020-IEs ::= SEQUENCE { RRCConnectionReestablishmentComplete-v1130-IEs ::= SEQUENCE { connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, - nonCriticalExtension RRCConnectionReestablishmentComplete-v12xy-IEs OPTIONAL + nonCriticalExtension RRCConnectionReestablishmentComplete-v1250-IEs OPTIONAL } -RRCConnectionReestablishmentComplete-v12xy-IEs ::= SEQUENCE { +RRCConnectionReestablishmentComplete-v1250-IEs ::= SEQUENCE { logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -1298,10 +1306,10 @@ RRCConnectionSetupComplete-v1020-IEs ::= SEQUENCE { RRCConnectionSetupComplete-v1130-IEs ::= SEQUENCE { connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, - nonCriticalExtension RRCConnectionSetupComplete-v12xy-IEs OPTIONAL + nonCriticalExtension RRCConnectionSetupComplete-v1250-IEs OPTIONAL } -RRCConnectionSetupComplete-v12xy-IEs ::= SEQUENCE { +RRCConnectionSetupComplete-v1250-IEs ::= SEQUENCE { mobilityState-r12 ENUMERATED {normal, medium, high, spare} OPTIONAL, mobilityHistoryAvail-r12 ENUMERATED {true} OPTIONAL, logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, @@ -1326,17 +1334,15 @@ SCGFailureInformation-r12 ::= SEQUENCE { } SCGFailureInformation-r12-IEs ::= SEQUENCE { - failureReportSCG-r12 FailureReportSCG-r12 OPTIONAL, + failureReportSCG-r12 FailureReportSCG-r12 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } -FailureReportSCG-r12 ::= SEQUENCE { +FailureReportSCG-r12 ::= SEQUENCE { failureType-r12 ENUMERATED {t313-Expiry, randomAccessProblem, - rlc-MaxNumRetx, scg-ChangeFailure } OPTIONAL, + rlc-MaxNumRetx, scg-ChangeFailure }, measResultServFreqList-r12 MeasResultServFreqList-r10 OPTIONAL, - measResultNeighCells-r12 SEQUENCE { - measResultListEUTRA-r12 MeasResultList2EUTRA-r9 OPTIONAL - }, + measResultNeighCells-r12 MeasResultList2EUTRA-r9 OPTIONAL, ... } @@ -1404,6 +1410,35 @@ SecurityModeFailure-v8a0-IEs ::= SEQUENCE { } +SidelinkUEInformation-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + sidelinkUEInformation-r12 SidelinkUEInformation-r12-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SidelinkUEInformation-r12-IEs ::= SEQUENCE { + commRxInterestedFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, + commTxResourceReq-r12 SL-CommTxResourceReq-r12 OPTIONAL, + discRxInterest-r12 ENUMERATED {true} OPTIONAL, + discTxResourceReq-r12 INTEGER (1..63) OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SL-CommTxResourceReq-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, + destinationInfoList-r12 SL-DestinationInfoList-r12 +} + +SL-DestinationInfoList-r12 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-DestinationIdentity-r12 + +SL-DestinationIdentity-r12 ::= BIT STRING (SIZE (24)) + + SystemInformation ::= SEQUENCE { criticalExtensions CHOICE { systemInformation-r8 SystemInformation-r8-IEs, @@ -1428,7 +1463,9 @@ SystemInformation-r8-IEs ::= SEQUENCE { sib14-v1130 SystemInformationBlockType14-r11, sib15-v1130 SystemInformationBlockType15-r11, sib16-v1130 SystemInformationBlockType16-r11, - sib17-v12xy SystemInformationBlockType17-r12 + sib17-v1250 SystemInformationBlockType17-r12, + sib18-v1250 SystemInformationBlockType18-r12, + sib19-v1250 SystemInformationBlockType19-r12 }, nonCriticalExtension SystemInformation-v8a0-IEs OPTIONAL } @@ -1491,14 +1528,15 @@ SystemInformationBlockType1-v920-IEs ::= SEQUENCE { SystemInformationBlockType1-v1130-IEs ::= SEQUENCE { tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR cellSelectionInfo-v1130 CellSelectionInfo-v1130 OPTIONAL, -- Cond WB-RSRQ - nonCriticalExtension SystemInformationBlockType1-v12xy-IEs OPTIONAL + nonCriticalExtension SystemInformationBlockType1-v1250-IEs OPTIONAL } -SystemInformationBlockType1-v12xy-IEs ::= SEQUENCE { - cellAccessRelatedInfo-v12xy SEQUENCE { - category0Allowed-r12 ENUMERATED {true} OPTIONAL -- Need OR +SystemInformationBlockType1-v1250-IEs ::= SEQUENCE { + cellAccessRelatedInfo-v1250 SEQUENCE { + category0Allowed-r12 ENUMERATED {true} OPTIONAL -- Need OP }, - cellSelectionInfo-v12xy CellSelectionInfo-v12xy OPTIONAL, -- Cond RSRQ2 + cellSelectionInfo-v1250 CellSelectionInfo-v1250 OPTIONAL, -- Cond RSRQ2 + freqBandIndicatorPriority-r12 ENUMERATED {true} OPTIONAL, -- Cond mFBI nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -1524,7 +1562,8 @@ SIB-Type ::= ENUMERATED { sibType7, sibType8, sibType9, sibType10, sibType11, sibType12-v920, sibType13-v920, sibType14-v1130, sibType15-v1130, - sibType16-v1130, sibType17-v12xy, spare1, ...} + sibType16-v1130, sibType17-v1250, sibType18-v1250, + ..., sibType19-v1250} CellSelectionInfo-v920 ::= SEQUENCE { q-QualMin-r9 Q-QualMin-r9, @@ -1535,7 +1574,7 @@ CellSelectionInfo-v1130 ::= SEQUENCE { q-QualMinWB-r11 Q-QualMin-r9 } -CellSelectionInfo-v12xy ::= SEQUENCE { +CellSelectionInfo-v1250 ::= SEQUENCE { q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 } @@ -1606,10 +1645,10 @@ UECapabilityInformation-r8-IEs ::= SEQUENCE { UECapabilityInformation-v8a0-IEs ::= SEQUENCE { lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension UECapabilityInformation-v12xy-IEs OPTIONAL + nonCriticalExtension UECapabilityInformation-v1250-IEs OPTIONAL } -UECapabilityInformation-v12xy-IEs ::= SEQUENCE { +UECapabilityInformation-v1250-IEs ::= SEQUENCE { ue-RadioPagingInfo-r12 UE-RadioPagingInfo-r12 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -1644,10 +1683,10 @@ UEInformationRequest-v1020-IEs ::= SEQUENCE { UEInformationRequest-v1130-IEs ::= SEQUENCE { connEstFailReportReq-r11 ENUMERATED {true} OPTIONAL, -- Need ON - nonCriticalExtension UEInformationRequest-v12xy-IEs OPTIONAL + nonCriticalExtension UEInformationRequest-v1250-IEs OPTIONAL } -UEInformationRequest-v12xy-IEs ::= SEQUENCE { +UEInformationRequest-v1250-IEs ::= SEQUENCE { mobilityHistoryReportReq-r12 ENUMERATED {true} OPTIONAL, -- Need ON nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -1692,15 +1731,15 @@ UEInformationResponse-v1020-IEs ::= SEQUENCE { UEInformationResponse-v1130-IEs ::= SEQUENCE { connEstFailReport-r11 ConnEstFailReport-r11 OPTIONAL, - nonCriticalExtension UEInformationResponse-v12xy-IEs OPTIONAL + nonCriticalExtension UEInformationResponse-v1250-IEs OPTIONAL } -UEInformationResponse-v12xy-IEs ::= SEQUENCE { +UEInformationResponse-v1250-IEs ::= SEQUENCE { mobilityHistoryReport-r12 MobilityHistoryReport-r12 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } -RLF-Report-r9 ::= SEQUENCE { +RLF-Report-r9 ::= SEQUENCE { measResultLastServCell-r9 SEQUENCE { rsrpResult-r9 RSRP-Range, rsrqResult-r9 RSRQ-Range OPTIONAL @@ -1752,17 +1791,17 @@ RLF-Report-r9 ::= SEQUENCE { } } OPTIONAL ]], - [[ failedPCellId-v12xy SEQUENCE { + [[ failedPCellId-v1250 SEQUENCE { tac-FailedPCell-r12 TrackingAreaCode } OPTIONAL, - measResultLastServCell-v12xy RSRQ-Range-v12xy OPTIONAL, + measResultLastServCell-v1250 RSRQ-Range-v1250 OPTIONAL, lastServCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, - measResultListEUTRA-v12xy MeasResultList2EUTRA-v12xy OPTIONAL + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL ]] } -RLF-Report-v9e0 ::= SEQUENCE { +RLF-Report-v9e0 ::= SEQUENCE { measResultListEUTRA-v9e0 MeasResultList2EUTRA-v9e0 } @@ -1770,7 +1809,7 @@ MeasResultList2EUTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA- MeasResultList2EUTRA-v9e0 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v9e0 -MeasResultList2EUTRA-v12xy ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v12xy +MeasResultList2EUTRA-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v1250 MeasResult2EUTRA-r9 ::= SEQUENCE { carrierFreq-r9 ARFCN-ValueEUTRA, @@ -1781,8 +1820,8 @@ MeasResult2EUTRA-v9e0 ::= SEQUENCE { carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL } -MeasResult2EUTRA-v12xy ::= SEQUENCE { - rsrqType-r12 RSRQ-Type-r12 OPTIONAL +MeasResult2EUTRA-v1250 ::= SEQUENCE { + rsrq-Type-r12 RSRQ-Type-r12 OPTIONAL } MeasResultList2UTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-r9 @@ -1794,12 +1833,12 @@ MeasResult2UTRA-r9 ::= SEQUENCE { MeasResultList2CDMA2000-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2CDMA2000-r9 -MeasResult2CDMA2000-r9 ::= SEQUENCE { +MeasResult2CDMA2000-r9 ::= SEQUENCE { carrierFreq-r9 CarrierFreqCDMA2000, measResultList-r9 MeasResultsCDMA2000 } -LogMeasReport-r10 ::= SEQUENCE { +LogMeasReport-r10 ::= SEQUENCE { absoluteTimeStamp-r10 AbsoluteTimeInfo-r10, traceReference-r10 TraceReference-r10, traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), @@ -1809,9 +1848,9 @@ LogMeasReport-r10 ::= SEQUENCE { ... } -LogMeasInfoList-r10 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r10)) OF LogMeasInfo-r10 +LogMeasInfoList-r10 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r10)) OF LogMeasInfo-r10 -LogMeasInfo-r10 ::= SEQUENCE { +LogMeasInfo-r10 ::= SEQUENCE { locationInfo-r10 LocationInfo-r10 OPTIONAL, relativeTimeStamp-r10 INTEGER (0..7200), servCellIdentity-r10 CellGlobalIdEUTRA, @@ -1829,43 +1868,47 @@ LogMeasInfo-r10 ::= SEQUENCE { [[ measResultListEUTRA-v1090 MeasResultList2EUTRA-v9e0 OPTIONAL ]], [[ measResultListMBSFN-r12 MeasResultListMBSFN-r12 OPTIONAL, - measResultServCell-v12xy RSRQ-Range-v12xy OPTIONAL, + measResultServCell-v1250 RSRQ-Range-v1250 OPTIONAL, servCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, - measResultListEUTRA-v12xy MeasResultList2EUTRA-v12xy OPTIONAL + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL ]] } -MeasResultListMBSFN-r12 ::= SEQUENCE (SIZE (1..8)) OF MeasResultMBSFN-r12 +MeasResultListMBSFN-r12 ::= SEQUENCE (SIZE (1..maxMBSFN-Area)) OF MeasResultMBSFN-r12 -MeasResultMBSFN-r12 ::= SEQUENCE { +MeasResultMBSFN-r12 ::= SEQUENCE { mbsfn-Area-r12 SEQUENCE { - mbsfn-AreaId-r12 INTEGER(0..255), + mbsfn-AreaId-r12 MBSFN-AreaId-r12, carrierFreq-r12 ARFCN-ValueEUTRA-r9 }, rsrpResultMBSFN-r12 RSRP-Range, rsrqResultMBSFN-r12 MBSFN-RSRQ-Range-r12, signallingBLER-Result-r12 BLER-Result-r12 OPTIONAL, - dataBLER-MCH-ResultList-r12 DataBLER-MCH-ResultList-r12 OPTIONAL + dataBLER-MCH-ResultList-r12 DataBLER-MCH-ResultList-r12 OPTIONAL, + ... } DataBLER-MCH-ResultList-r12 ::= SEQUENCE (SIZE (1.. maxPMCH-PerMBSFN)) OF DataBLER-MCH-Result-r12 -DataBLER-MCH-Result-r12 ::= SEQUENCE { +DataBLER-MCH-Result-r12 ::= SEQUENCE { mch-Index-r12 INTEGER (1..maxPMCH-PerMBSFN), dataBLER-Result-r12 BLER-Result-r12 } BLER-Result-r12 ::= SEQUENCE { bler-r12 BLER-Range-r12, - blocksReceived-r12 BIT STRING (SIZE (11)) + blocksReceived-r12 SEQUENCE { + n-r12 BIT STRING (SIZE (3)), + m-r12 BIT STRING (SIZE (8)) + } } BLER-Range-r12 ::= INTEGER(0..31) MeasResultList2GERAN-r10 ::= SEQUENCE (SIZE (1..maxCellListGERAN)) OF MeasResultListGERAN -ConnEstFailReport-r11 ::= SEQUENCE { +ConnEstFailReport-r11 ::= SEQUENCE { failedCellId-r11 CellGlobalIdEUTRA, locationInfo-r11 LocationInfo-r10 OPTIONAL, measResultFailedCell-r11 SEQUENCE { @@ -1884,9 +1927,9 @@ ConnEstFailReport-r11 ::= SEQUENCE { timeSinceFailure-r11 TimeSinceFailure-r11, measResultListEUTRA-v1130 MeasResultList2EUTRA-v9e0 OPTIONAL, ..., - [[ measResultFailedCell-v12xy RSRQ-Range-v12xy OPTIONAL, + [[ measResultFailedCell-v1250 RSRQ-Range-v1250 OPTIONAL, failedCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, - measResultListEUTRA-v12xy MeasResultList2EUTRA-v12xy OPTIONAL + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL ]] } @@ -1959,7 +2002,7 @@ SystemInformationBlockType2 ::= SEQUENCE { OPTIONAL, -- Need OP additionalSpectrumEmission AdditionalSpectrumEmission }, - mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR + mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR timeAlignmentTimerCommon TimeAlignmentTimer, ..., lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v8h0-IEs) OPTIONAL, @@ -1969,10 +2012,10 @@ SystemInformationBlockType2 ::= SEQUENCE { [[ ac-BarringForCSFB-r10 AC-BarringConfig OPTIONAL -- Need OP ]], [[ - ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP - ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP - ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP - ac-BarringPerPLMNList-r12 AC-BarringPerPLMNList-r12 OPTIONAL -- Need OP + ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringPerPLMN-List-r12 AC-BarringPerPLMN-List-r12 OPTIONAL -- Need OP ]] } @@ -1994,9 +2037,9 @@ AC-BarringConfig ::= SEQUENCE { ac-BarringForSpecialAC BIT STRING (SIZE(5)) } -MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig +MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig -AC-BarringPerPLMNList-r12 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF AC-BarringPerPLMN-r12 +AC-BarringPerPLMN-List-r12 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF AC-BarringPerPLMN-r12 AC-BarringPerPLMN-r12 ::= SEQUENCE { plmn-IdentityIndex-r12 INTEGER (1..maxPLMN-r11), @@ -2086,7 +2129,10 @@ IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange SystemInformationBlockType5 ::= SEQUENCE { interFreqCarrierFreqList InterFreqCarrierFreqList, ..., - lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType5-v8h0-IEs) OPTIONAL + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType5-v8h0-IEs) OPTIONAL, + [[ interFreqCarrierFreqList-v1250 InterFreqCarrierFreqList-v1250 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-r12 InterFreqCarrierFreqListExt-r12 OPTIONAL -- Need OR + ]] } SystemInformationBlockType5-v8h0-IEs ::= SEQUENCE { @@ -2096,18 +2142,13 @@ SystemInformationBlockType5-v8h0-IEs ::= SEQUENCE { SystemInformationBlockType5-v9e0-IEs ::= SEQUENCE { interFreqCarrierFreqList-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v9e0 OPTIONAL, -- Need OR - nonCriticalExtension SystemInformationBlockType5-v12xy-IEs OPTIONAL -} - -SystemInformationBlockType5-v12xy-IEs ::= SEQUENCE { - interFreqCarrierFreqList-v12xy InterFreqCarrierFreqList-v12xy OPTIONAL, -- Need OR - interFreqCarrierFreqListExt-r12 InterFreqCarrierFreqListExt-r12 OPTIONAL, -- Need OR - nonCriticalExtension SEQUENCE {} OPTIONAL + nonCriticalExtension +SEQUENCE {} OPTIONAL } InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo -InterFreqCarrierFreqList-v12xy ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v12xy +InterFreqCarrierFreqList-v1250 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v1250 InterFreqCarrierFreqListExt-r12 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-r12 @@ -2124,8 +2165,8 @@ InterFreqCarrierFreqInfo ::= SEQUENCE { cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP neighCellConfig NeighCellConfig, q-OffsetFreq Q-OffsetRange DEFAULT dB0, - interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR - interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR + interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR + interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR ..., [[ q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP threshX-Q-r9 SEQUENCE { @@ -2146,8 +2187,8 @@ InterFreqCarrierFreqInfo-v9e0 ::= SEQUENCE { multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL -- Need OR } -InterFreqCarrierFreqInfo-v12xy ::= SEQUENCE { - reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OR +InterFreqCarrierFreqInfo-v1250 ::= SEQUENCE { + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ2 } @@ -2164,8 +2205,8 @@ InterFreqCarrierFreqInfo-r12 ::= SEQUENCE { cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP neighCellConfig-r12 NeighCellConfig, q-OffsetFreq-r12 Q-OffsetRange DEFAULT dB0, - interFreqNeighCellList-r12 InterFreqNeighCellList OPTIONAL, -- Need OR - interFreqBlackCellList-r12 InterFreqBlackCellList OPTIONAL, -- Need OR + interFreqNeighCellList-r12 InterFreqNeighCellList OPTIONAL, -- Need OR + interFreqBlackCellList-r12 InterFreqBlackCellList OPTIONAL, -- Need OR q-QualMin-r12 Q-QualMin-r9 OPTIONAL, -- Need OP threshX-Q-r12 SEQUENCE { threshX-HighQ-r12 ReselectionThresholdQ-r9, @@ -2173,7 +2214,8 @@ InterFreqCarrierFreqInfo-r12 ::= SEQUENCE { } OPTIONAL, -- Cond RSRQ q-QualMinWB-r12 Q-QualMin-r9 OPTIONAL, -- Cond WB-RSRQ multiBandInfoList-r12 MultiBandInfoList-r11 OPTIONAL, -- Need OR - reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OR + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL, -- Cond RSRQ2 ... } @@ -2188,40 +2230,36 @@ InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRang SystemInformationBlockType6 ::= SEQUENCE { - carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR - carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR + carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR + carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR t-ReselectionUTRA T-Reselection, t-ReselectionUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP ..., - lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType6-v8h0-IEs) OPTIONAL + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType6-v8h0-IEs) OPTIONAL, + [[ carrierFreqListUTRA-FDD-v1250 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF + CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-FDD + carrierFreqListUTRA-TDD-v1250 SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF + CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-TDD + carrierFreqListUTRA-FDD-Ext-r12 CarrierFreqListUTRA-FDD-Ext-r12 OPTIONAL, -- Cond UTRA-FDD + carrierFreqListUTRA-TDD-Ext-r12 CarrierFreqListUTRA-TDD-Ext-r12 OPTIONAL -- Cond UTRA-TDD + ]] } SystemInformationBlockType6-v8h0-IEs ::= SEQUENCE { carrierFreqListUTRA-FDD-v8h0 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqInfoUTRA-FDD-v8h0 OPTIONAL, -- Cond UTRA-FDD - nonCriticalExtension SystemInformationBlockType6-v12xy-IEs OPTIONAL + nonCriticalExtension +SEQUENCE {} OPTIONAL } -SystemInformationBlockType6-v12xy-IEs ::= SEQUENCE { - carrierFreqListUTRA-FDD-v12xy SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF - CarrierFreqInfoUTRA-v12xy OPTIONAL, -- Cond UTRA-FDD - carrierFreqListUTRA-TDD-v12xy SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF - CarrierFreqInfoUTRA-v12xy OPTIONAL, -- Cond UTRA-TDD - carrierFreqListUTRA-FDD-Ext-r12 - CarrierFreqListUTRA-FDD-Ext-r12 OPTIONAL, -- Cond UTRA-FDD - carrierFreqListUTRA-TDD-Ext-r12 - CarrierFreqListUTRA-TDD-Ext-r12 OPTIONAL, -- Cond UTRA-TDD - nonCriticalExtension SEQUENCE {} OPTIONAL -} - -CarrierFreqInfoUTRA-v12xy ::= SEQUENCE { - reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL -- Need OR +CarrierFreqInfoUTRA-v1250 ::= SEQUENCE { + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL -- Need OP } CarrierFreqListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD CarrierFreqUTRA-FDD ::= SEQUENCE { carrierFreq ARFCN-ValueUTRA, - cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP threshX-High ReselectionThreshold, threshX-Low ReselectionThreshold, q-RxLevMin INTEGER (-60..-13), @@ -2242,9 +2280,9 @@ CarrierFreqInfoUTRA-FDD-v8h0 ::= SEQUENCE { CarrierFreqListUTRA-FDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD-Ext-r12 -CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE { +CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE { carrierFreq-r12 ARFCN-ValueUTRA, - cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP + cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP threshX-High-r12 ReselectionThreshold, threshX-Low-r12 ReselectionThreshold, q-RxLevMin-r12 INTEGER (-60..-13), @@ -2255,7 +2293,7 @@ CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE { threshX-LowQ-r12 ReselectionThresholdQ-r9 } OPTIONAL, -- Cond RSRQ multiBandInfoList-r12 SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL, -- Need OR - reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OR + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP ... } @@ -2263,7 +2301,7 @@ CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF Carrier CarrierFreqUTRA-TDD ::= SEQUENCE { carrierFreq ARFCN-ValueUTRA, - cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP threshX-High ReselectionThreshold, threshX-Low ReselectionThreshold, q-RxLevMin INTEGER (-60..-13), @@ -2274,14 +2312,14 @@ CarrierFreqUTRA-TDD ::= SEQUENCE { CarrierFreqListUTRA-TDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD-r12 -CarrierFreqUTRA-TDD-r12 ::= SEQUENCE { +CarrierFreqUTRA-TDD-r12 ::= SEQUENCE { carrierFreq-r12 ARFCN-ValueUTRA, - cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP + cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP threshX-High-r12 ReselectionThreshold, threshX-Low-r12 ReselectionThreshold, q-RxLevMin-r12 INTEGER (-60..-13), p-MaxUTRA-r12 INTEGER (-50..33), - reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OR + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP ... } @@ -2561,25 +2599,64 @@ SystemInformationBlockType16-r11 ::= SEQUENCE { SystemInformationBlockType17-r12 ::= SEQUENCE { - wlan-OffloadPerPLMN-List-r12 SEQUENCE (SIZE (1..maxPLMN-r11)) OF - WLAN-OffloadPerPLMN-r12 OPTIONAL, -- Need OR + wlan-OffloadInfoPerPLMN-List-r12 SEQUENCE (SIZE (1..maxPLMN-r11)) OF + WLAN-OffloadInfoPerPLMN-r12 OPTIONAL, -- Need OR lateNonCriticalExtension OCTET STRING OPTIONAL, ... } -WLAN-OffloadPerPLMN-r12 ::= SEQUENCE { - wlan-OffloadConfigCommon-r12 WLAN-OffloadConfig-r12 OPTIONAL, -- Need OR - wlan-Id-List-r12 WLAN-Id-List-r12 OPTIONAL -- Need OR +WLAN-OffloadInfoPerPLMN-r12 ::= SEQUENCE { + wlan-OffloadConfigCommon-r12 WLAN-OffloadConfig-r12 OPTIONAL, -- Need OR + wlan-Id-List-r12 WLAN-Id-List-r12 OPTIONAL, -- Need OR + ... } -WLAN-Id-List-r12 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r12)) OF WLAN-Id-r12 +WLAN-Id-List-r12 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r12)) OF WLAN-Identifiers-r12 -WLAN-Id-r12 ::= SEQUENCE { - wlan-Identifiers CHOICE { - ssid OCTET STRING (SIZE (1..32)), - bssid OCTET STRING (SIZE (6)), - hessid OCTET STRING (SIZE (6)) - } +WLAN-Identifiers-r12 ::= SEQUENCE { + ssid-r12 OCTET STRING (SIZE (1..32)) OPTIONAL, -- Need OR + bssid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR + hessid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR + ... +} + + +SystemInformationBlockType18-r12 ::= SEQUENCE { + commConfig-r12 SEQUENCE { + commRxPool-r12 SL-CommRxPoolList-r12, + commTxPoolNormalCommon-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR + commTxPoolExceptional-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR + commSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType19-r12 ::= SEQUENCE { + discConfig-r12 SEQUENCE { + discRxPool-r12 SL-DiscRxPoolList-r12, + discTxPoolCommon-r12 SL-DiscTxPoolList-r12 OPTIONAL, -- Need OR + discTxPowerInfo-r12 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx + discSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + discInterFreqList-r12 SL-CarrierFreqInfoList-r12 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +SL-CarrierFreqInfoList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-r12 + +SL-CarrierFreqInfo-r12::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + plmn-IdentityList-r12 PLMN-IdentityList4-r12 OPTIONAL -- Need OP +} + +PLMN-IdentityList4-r12 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo2-r12 + +PLMN-IdentityInfo2-r12 ::= CHOICE { + plmn-Index-r12 INTEGER (1..maxPLMN-r11), + plmnIdentity-r12 PLMN-Identity } @@ -2600,7 +2677,7 @@ AntennaInfoDedicated ::= SEQUENCE { n4TxAntenna-tm5 BIT STRING (SIZE (16)), n2TxAntenna-tm6 BIT STRING (SIZE (4)), n4TxAntenna-tm6 BIT STRING (SIZE (16)) - } OPTIONAL, -- Cond TM + } OPTIONAL, -- Cond TM ue-TransmitAntennaSelection CHOICE{ release NULL, setup ENUMERATED {closedLoop, openLoop} @@ -2611,7 +2688,7 @@ AntennaInfoDedicated-v920 ::= SEQUENCE { codebookSubsetRestriction-v920 CHOICE { n2TxAntenna-tm8-r9 BIT STRING (SIZE (6)), n4TxAntenna-tm8-r9 BIT STRING (SIZE (32)) - } OPTIONAL -- Cond TM8 + } OPTIONAL -- Cond TM8 } AntennaInfoDedicated-r10 ::= SEQUENCE { @@ -2626,8 +2703,8 @@ AntennaInfoDedicated-r10 ::= SEQUENCE { } } -AntennaInfoDedicated-v12xx ::= SEQUENCE { - alternativeCodebookEnabledFor4TX-r12 ENUMERATED {true} OPTIONAL -- Cond TMY +AntennaInfoDedicated-v1250 ::= SEQUENCE { + alternativeCodebookEnabledFor4TX-r12 BOOLEAN } @@ -2668,18 +2745,18 @@ CQI-ReportConfig-v1130 ::= SEQUENCE { cqi-ReportBoth-r11 CQI-ReportBoth-r11 } -CQI-ReportConfig-v12x0 ::= SEQUENCE { +CQI-ReportConfig-v1250 ::= SEQUENCE { csi-SubframePatternConfig-r12 CHOICE { release NULL, setup SEQUENCE { - csi-MeasSubframeSet-r12 BIT STRING (SIZE (10)) + csi-MeasSubframeSets-r12 BIT STRING (SIZE (10)) } } OPTIONAL, -- Need ON - cqi-ReportBoth-r12 CQI-ReportBoth-r12, - cqi-ReportAperiodic-v12x0 CQI-ReportAperiodic-v12x0 OPTIONAL, -- Need ON + cqi-ReportBoth-v1250 CQI-ReportBoth-v1250 OPTIONAL, -- Need ON + cqi-ReportAperiodic-v1250 CQI-ReportAperiodic-v1250 OPTIONAL, -- Need ON altCQI-Table-r12 ENUMERATED { - allSubframes-r12, csi-SubframeSet1-r12, - csi-SubframeSet2-r12, spare1} OPTIONAL -- Need OR + allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP } CQI-ReportConfigSCell-r10 ::= SEQUENCE { @@ -2700,7 +2777,7 @@ CQI-ReportPeriodic ::= CHOICE { k INTEGER (1..4) } }, - ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR + ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR simultaneousAckNackAndCQI BOOLEAN } } @@ -2777,10 +2854,10 @@ CQI-ReportAperiodic-r10 ::= CHOICE { } } -CQI-ReportAperiodic-v12x0 ::= CHOICE { +CQI-ReportAperiodic-v1250 ::= CHOICE { release NULL, setup SEQUENCE { - aperiodicCSI-Trigger-r12 SEQUENCE { + aperiodicCSI-Trigger-v1250 SEQUENCE { trigger-SubframeSetIndicator-r12 ENUMERATED {s1, s2}, trigger1-SubframeSetIndicator-r12 BIT STRING (SIZE (8)), trigger2-SubframeSetIndicator-r12 BIT STRING (SIZE (8)) @@ -2797,7 +2874,7 @@ CQI-ReportAperiodicProc-r11 ::= SEQUENCE { CQI-ReportModeAperiodic ::= ENUMERATED { rm12, rm20, rm22, rm30, rm31, - rm32-v12xx, spare2, spare1 + rm32-v1250, spare2, spare1 } CQI-ReportBoth-r11 ::= SEQUENCE { @@ -2807,20 +2884,15 @@ CQI-ReportBoth-r11 ::= SEQUENCE { csi-ProcessToAddModList-r11 CSI-ProcessToAddModList-r11 OPTIONAL -- Need ON } -CQI-ReportBoth-r12 ::= SEQUENCE { - csi-IM-ConfigToReleaseList-r12 CSI-IM-ConfigToReleaseList-r12 OPTIONAL, -- Need ON - csi-IM-ConfigToAddModList-r12 CSI-IM-ConfigToAddModList-r12 OPTIONAL -- Need ON +CQI-ReportBoth-v1250 ::= SEQUENCE { + csi-IM-ConfigToReleaseListExt-r12 CSI-IM-ConfigId-v1250 OPTIONAL, -- Need ON + csi-IM-ConfigToAddModListExt-r12 CSI-IM-ConfigExt-r12 OPTIONAL -- Need ON } CSI-IM-ConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-Config-r11 -CSI-IM-ConfigToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCSI-IM-r12)) OF CSI-IM-Config-r12 - CSI-IM-ConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-ConfigId-r11 -CSI-IM-ConfigToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxCSI-IM-r12)) OF CSI-IM-ConfigId-r12 - - CSI-ProcessToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-Process-r11 CSI-ProcessToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-ProcessId-r11 @@ -2855,8 +2927,8 @@ CSI-IM-Config-r11 ::= SEQUENCE { ... } -CSI-IM-Config-r12 ::= SEQUENCE { - csi-IM-ConfigId-r12 CSI-IM-ConfigId-r12, +CSI-IM-ConfigExt-r12 ::= SEQUENCE { + csi-IM-ConfigId-v1250 CSI-IM-ConfigId-v1250, resourceConfig-r12 INTEGER (0..31), subframeConfig-r12 INTEGER (0..154), ... @@ -2865,6 +2937,7 @@ CSI-IM-Config-r12 ::= SEQUENCE { CSI-IM-ConfigId-r11 ::= INTEGER (1..maxCSI-IM-r11) CSI-IM-ConfigId-r12 ::= INTEGER (1..maxCSI-IM-r12) +CSI-IM-ConfigId-v1250 ::= INTEGER (maxCSI-IM-r12) CSI-Process-r11 ::= SEQUENCE { @@ -2876,9 +2949,15 @@ CSI-Process-r11 ::= SEQUENCE { cqi-ReportPeriodicProcId-r11 INTEGER (0..maxCQI-ProcExt-r11) OPTIONAL, -- Need OR cqi-ReportAperiodicProc-r11 CQI-ReportAperiodicProc-r11 OPTIONAL, -- Need OR ..., - [[ alternativeCodebookEnabledFor4TXProc-r12 ENUMERATED {true} OPTIONAL, -- Need OR - csi-IM-ConfigIdList-r12 SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r12 OPTIONAL, -- Cond CSIIMREL12 - cqi-ReportAperiodicProcSecond-r12 CQI-ReportAperiodicProc-r11 OPTIONAL -- Need OR + [[ alternativeCodebookEnabledFor4TXProc-r12 ENUMERATED {true} OPTIONAL, -- Need ON + csi-IM-ConfigIdList-r12 CHOICE { + release NULL, + setup SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r12 + } OPTIONAL, -- Need ON + cqi-ReportAperiodicProc2-r12 CHOICE { + release NULL, + setup CQI-ReportAperiodicProc-r11 + } OPTIONAL -- Need ON ]] } @@ -2901,23 +2980,11 @@ CSI-RS-Config-r10 ::= SEQUENCE { p-C-r10 INTEGER (-8..15) } } OPTIONAL, -- Need ON - zeroTxPowerCSI-RS-r10 CHOICE { - release NULL, - setup SEQUENCE { - zeroTxPowerResourceConfigList-r10 BIT STRING (SIZE (16)), - zeroTxPowerSubframeConfig-r10 INTEGER (0..154) - } - } OPTIONAL -- Need ON + zeroTxPowerCSI-RS-r10 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL -- Need ON } -CSI-RS-Config2-r12 ::= SEQUENCE { - eimta-ZeroTxPowerCSI-RS-r12 CHOICE { - release NULL, - setup SEQUENCE { - zeroTxPowerResourceConfigList-r12 BIT STRING (SIZE (16)), - zeroTxPowerSubframeConfig-r12 INTEGER (0..154) - } - } OPTIONAL, -- Need ON +CSI-RS-Config-v1250 ::= SEQUENCE { + zeroTxPowerCSI-RS2-r12 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL, -- Need ON ds-ZeroTxPowerCSI-RS-r12 CHOICE { release NULL, setup SEQUENCE { @@ -2926,6 +2993,11 @@ CSI-RS-Config2-r12 ::= SEQUENCE { } OPTIONAL -- Need ON } +ZeroTxPowerCSI-RS-Conf-r12 ::= CHOICE { + release NULL, + setup ZeroTxPowerCSI-RS-r12 +} + ZeroTxPowerCSI-RS-r12 ::= SEQUENCE { zeroTxPowerResourceConfigList-r12 BIT STRING (SIZE (16)), zeroTxPowerSubframeConfig-r12 INTEGER (0..154) @@ -3010,7 +3082,10 @@ EPDCCH-SetConfig-r11 ::= SEQUENCE { pucch-ResourceStartOffset-r11 INTEGER (0..2047), re-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11 OPTIONAL, -- Need OR ..., - [[ csi-RS-ConfigZPId-Second-r12 CSI-RS-ConfigZPId-r11 OPTIONAL -- Need OR + [[ csi-RS-ConfigZPId2-r12 CHOICE { + release NULL, + setup CSI-RS-ConfigZPId-r11 + } OPTIONAL -- Need ON ]] } @@ -3028,9 +3103,9 @@ EIMTA-MainConfig-r12 ::= CHOICE { EIMTA-MainConfigServCell-r12 ::= CHOICE { release NULL, setup SEQUENCE { - eimta-ReConfigIndex-r12 INTEGER (1..5), - eimta-HarqReferenceConfig-r12 ENUMERATED {sa2,sa4,sa5}, - mbsfn-SubframeConfigList-v12x0 CHOICE { + eimta-UL-DL-ConfigIndex-r12 INTEGER (1..5), + eimta-HARQ-ReferenceConfig-r12 ENUMERATED {sa2,sa4,sa5}, + mbsfn-SubframeConfigList-v1250 CHOICE { release NULL, setup SEQUENCE { subframeConfigList-r12 MBSFN-SubframeConfigList @@ -3067,15 +3142,10 @@ MAC-MainConfig ::= SEQUENCE { n1, n2, n3, n4, n5, n6, n7, n8, n10, n12, n16, n20, n24, n28, spare2, spare1} OPTIONAL, -- Need ON - periodicBSR-Timer ENUMERATED { - sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, - sf128, sf160, sf320, sf640, sf1280, sf2560, - infinity, spare1} OPTIONAL, -- Need ON - retxBSR-Timer ENUMERATED { - sf320, sf640, sf1280, sf2560, sf5120, - sf10240, spare2, spare1}, + periodicBSR-Timer PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON + retxBSR-Timer RetxBSR-Timer-r12, ttiBundling BOOLEAN - } OPTIONAL, -- Need ON + } OPTIONAL, -- Need ON drx-Config DRX-Config OPTIONAL, -- Need ON timeAlignmentTimerDedicated TimeAlignmentTimer, phr-Config CHOICE { @@ -3104,8 +3174,8 @@ MAC-MainConfig ::= SEQUENCE { drx-Config-v1130 DRX-Config-v1130 OPTIONAL -- Need ON ]], [[ e-HARQ-Pattern-r12 BOOLEAN OPTIONAL, -- Need ON - dualConnectivityPHR CHOICE { - release NULL, + dualConnectivityPHR CHOICE { + release NULL, setup SEQUENCE { phr-ModeOtherCG-r12 ENUMERATED {real, virtual} } @@ -3181,6 +3251,15 @@ DRX-Config-v1130 ::= SEQUENCE { shortDRX-Cycle-v1130 ENUMERATED {sf4-v1130} OPTIONAL --Need OR } +PeriodicBSR-Timer-r12 ::= ENUMERATED { + sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, sf1280, sf2560, + infinity, spare1} + +RetxBSR-Timer-r12 ::= ENUMERATED { + sf320, sf640, sf1280, sf2560, sf5120, + sf10240, spare2, spare1} + STAG-ToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-Id-r11 STAG-ToAddModList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-ToAddMod-r11 @@ -3228,7 +3307,7 @@ PDCP-Config ::= SEQUENCE { ]], [[ pdcp-SN-Size-v1130 ENUMERATED {len15bits} OPTIONAL -- Cond Rlc-AM2 ]], - [[ ul-DataPath-r12 ENUMERATED {mcg, scg} OPTIONAL, -- Need ON + [[ ul-DataSplitDRB-ViaSCG-r12 BOOLEAN OPTIONAL, -- Need ON t-Reordering-r12 ENUMERATED { ms0, ms20, ms40, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220, ms240, ms260, ms280, ms300, @@ -3294,15 +3373,15 @@ PhysicalConfigDedicated ::= SEQUENCE { pucch-ConfigDedicated PUCCH-ConfigDedicated OPTIONAL, -- Need ON pusch-ConfigDedicated PUSCH-ConfigDedicated OPTIONAL, -- Need ON uplinkPowerControlDedicated UplinkPowerControlDedicated OPTIONAL, -- Need ON - tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON - tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON cqi-ReportConfig CQI-ReportConfig OPTIONAL, -- Cond CQI-r8 soundingRS-UL-ConfigDedicated SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON antennaInfo CHOICE { explicitValue AntennaInfoDedicated, defaultValue NULL } OPTIONAL, -- Cond AI-r8 - schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON + schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON ..., [[ cqi-ReportConfig-v920 CQI-ReportConfig-v920 OPTIONAL, -- Cond CQI-r8 antennaInfo-v920 AntennaInfoDedicated-v920 OPTIONAL -- Cond AI-r8 @@ -3324,7 +3403,7 @@ PhysicalConfigDedicated ::= SEQUENCE { SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Need ON uplinkPowerControlDedicated-v1020 UplinkPowerControlDedicated-v1020 OPTIONAL -- Need ON ]], - [[ additionalSpectrumEmissionCA-r10 CHOICE { + [[ additionalSpectrumEmissionCA-r10 CHOICE { release NULL, setup SEQUENCE { additionalSpectrumEmissionPCell-r10 AdditionalSpectrumEmission @@ -3344,14 +3423,14 @@ PhysicalConfigDedicated ::= SEQUENCE { pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON uplinkPowerControlDedicated-v1130 UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON ]], - [[ antennaInfo-v12xx AntennaInfoDedicated-v12xx OPTIONAL, -- Cond AI-r10 + [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Cond AI-r10 eimta-MainConfig-r12 EIMTA-MainConfig-r12 OPTIONAL, -- Need ON - eimta-MainConfigPCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Cond eimta - pucch-ConfigDedicated-v12x0 PUCCH-ConfigDedicated-v12x0 OPTIONAL, -- Cond eimta - cqi-ReportConfigPCell-v12x0 CQI-ReportConfig-v12x0 OPTIONAL, -- Need ON - uplinkPowerControlDedicated-v12x0 UplinkPowerControlDedicated-v12x0 OPTIONAL, -- Need ON - pusch-ConfigDedicated-v12x0 PUSCH-ConfigDedicated-v12x0 OPTIONAL, -- Cond TwoSetsUL - csi-RS-Config2-r12 CSI-RS-Config2-r12 OPTIONAL -- Need ON + eimta-MainConfigPCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1250 PUCCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON + cqi-ReportConfigPCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1250 UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1250 PUSCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON + csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON ]] } PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE { @@ -3361,7 +3440,7 @@ PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE { crossCarrierSchedulingConfig-r10 CrossCarrierSchedulingConfig-r10 OPTIONAL, -- Need ON csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON pdsch-ConfigDedicated-r10 PDSCH-ConfigDedicated OPTIONAL -- Need ON - } OPTIONAL, -- Cond SCellAdd + } OPTIONAL, -- Cond SCellAdd -- UL configuration ul-Configuration-r10 SEQUENCE { antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON @@ -3387,11 +3466,11 @@ PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE { pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON uplinkPowerControlDedicatedSCell-v1130 UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON ]], - [[ antennaInfo-v12xx AntennaInfoDedicated-v12xx OPTIONAL, -- Need ON - eimta-MainConfigSCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Cond eimta - cqi-ReportConfigSCell-v12x0 CQI-ReportConfig-v12x0 OPTIONAL, -- Need ON - uplinkPowerControlDedicatedSCell-v12x0 UplinkPowerControlDedicated-v12x0 OPTIONAL, -- Need ON - csi-RS-Config2-r12 CSI-RS-Config2-r12 OPTIONAL -- Need ON + [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Need ON + eimta-MainConfigSCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON + cqi-ReportConfigSCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSCell-v1250 UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON + csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON ]] } @@ -3491,7 +3570,7 @@ PUCCH-ConfigDedicated-v1130 ::= SEQUENCE { } OPTIONAL -- Need ON } -PUCCH-ConfigDedicated-v12x0 ::= SEQUENCE { +PUCCH-ConfigDedicated-v1250 ::= SEQUENCE { nkaPUCCH-Param-r12 CHOICE { release NULL, setup SEQUENCE { @@ -3539,7 +3618,7 @@ PUSCH-ConfigDedicated-v1130 ::= SEQUENCE { } } -PUSCH-ConfigDedicated-v12x0::= SEQUENCE { +PUSCH-ConfigDedicated-v1250::= SEQUENCE { uciOnPUSCH CHOICE { release NULL, setup SEQUENCE { @@ -3600,8 +3679,8 @@ RACH-ConfigCommon ::= SEQUENCE { ... } -RACH-ConfigCommon-v12xy ::= SEQUENCE { - txFailParams-r12 SEQUENCE { +RACH-ConfigCommon-v1250 ::= SEQUENCE { + txFailParams-r12 SEQUENCE { connEstFailCount-r12 ENUMERATED {n1, n2, n3, n4}, connEstFailOffsetValidity-r12 ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900}, @@ -3639,8 +3718,8 @@ RACH-ConfigDedicated ::= SEQUENCE { RadioResourceConfigCommonSIB ::= SEQUENCE { rach-ConfigCommon RACH-ConfigCommon, - bcch-Config BCCH-Config, - pcch-Config PCCH-Config, + bcch-Config BCCH-Config, + pcch-Config PCCH-Config, prach-Config PRACH-ConfigSIB, pdsch-ConfigCommon PDSCH-ConfigCommon, pusch-ConfigCommon PUSCH-ConfigCommon, @@ -3651,7 +3730,7 @@ RadioResourceConfigCommonSIB ::= SEQUENCE { ..., [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR ]], - [[ rach-ConfigCommon-v12xy RACH-ConfigCommon-v12xy OPTIONAL -- Need OR + [[ rach-ConfigCommon-v1250 RACH-ConfigCommon-v1250 OPTIONAL -- Need OR ]] } @@ -3742,14 +3821,14 @@ UL-CyclicPrefixLength ::= ENUMERATED {len1, len2} RadioResourceConfigDedicated ::= SEQUENCE { - srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn - drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA - drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON + srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn + drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA + drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON mac-MainConfig CHOICE { explicitValue MAC-MainConfig, defaultValue NULL } OPTIONAL, -- Cond HO-toEUTRA2 - sps-Config SPS-Config OPTIONAL, -- Need ON + sps-Config SPS-Config OPTIONAL, -- Need ON physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON ..., [[ rlf-TimersAndConstants-r9 RLF-TimersAndConstants-r9 OPTIONAL -- Need ON @@ -3758,20 +3837,21 @@ RadioResourceConfigDedicated ::= SEQUENCE { ]], [[ neighCellsCRS-Info-r11 NeighCellsCRS-Info-r11 OPTIONAL -- Need ON ]], - [[ naics-InfoPCell-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON ]]} RadioResourceConfigDedicatedPSCell-r12 ::= SEQUENCE { -- UE specific configuration extensions applicable for an PSCell physicalConfigDedicatedPSCell-r12 PhysicalConfigDedicated OPTIONAL, -- Need ON - sps-Config-r12 SPS-Config OPTIONAL, -- Need ON + sps-Config-r12 SPS-Config OPTIONAL, -- Need ON + naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL, -- Need ON ... } RadioResourceConfigDedicatedSCG-r12 ::= SEQUENCE { - drb-ToAddModListSCG-r12 DRB-ToAddModListSCG-r12 OPTIONAL, -- Cond SCG-Est - mac-MainConfigSCG-r12 MAC-MainConfig OPTIONAL, -- Cond SCG-Est - rlf-TimersAndConstantsSCG-r12 RLF-TimersAndConstantsSCG-r12 OPTIONAL, -- Cond SCG-Est + drb-ToAddModListSCG-r12 DRB-ToAddModListSCG-r12 OPTIONAL, -- Need ON + mac-MainConfigSCG-r12 MAC-MainConfig OPTIONAL, -- Need ON + rlf-TimersAndConstantsSCG-r12 RLF-TimersAndConstantsSCG-r12 OPTIONAL, -- Need ON ... } @@ -3781,7 +3861,7 @@ RadioResourceConfigDedicatedSCell-r10 ::= SEQUENCE { ..., [[ mac-MainConfigSCell-r11 MAC-MainConfigSCell-r11 OPTIONAL -- Cond SCellAdd ]], - [[ naics-InfoSCell-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON ]] } @@ -3812,8 +3892,8 @@ DRB-ToAddMod ::= SEQUENCE { logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-Setup logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond SetupM ..., - [[ drb-TypeChange-r12 ENUMERATED {toMCG} OPTIONAL, -- Cond ToMCG - rlc-Config-v12xy RLC-Config-v12xy OPTIONAL -- Cond Setup + [[ drb-TypeChange-r12 ENUMERATED {toMCG} OPTIONAL, -- Need OP + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL -- Need ON ]] } @@ -3823,11 +3903,12 @@ DRB-ToAddModSCG-r12 ::= SEQUENCE { split-r12 NULL, scg-r12 SEQUENCE { eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup - pdcp-Config-r12 PDCP-Config OPTIONAL -- Cond PDCP + pdcp-Config-r12 PDCP-Config OPTIONAL -- Cond PDCP-S } } OPTIONAL, -- Cond SetupS2 rlc-ConfigSCG-r12 RLC-Config OPTIONAL, -- Cond SetupS - logicalChannelIdentitySCG-r12 INTEGER (3..10) OPTIONAL, -- Cond Setup + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL, -- Need ON + logicalChannelIdentitySCG-r12 INTEGER (3..10) OPTIONAL, -- Cond SetupS logicalChannelConfigSCG-r12 LogicalChannelConfig OPTIONAL, -- Cond SetupS ... } @@ -3858,11 +3939,11 @@ NAICS-AssistanceInfo-r12 ::= CHOICE { setup SEQUENCE { neighCellsToReleaseList-r12 NeighCellsToReleaseList-r12 OPTIONAL , -- Need ON neighCellsToAddModList-r12 NeighCellsToAddModList-r12 OPTIONAL, -- Need ON - servCellp-a-r12 P-a OPTIONAL -- Need ON + servCellp-a-r12 P-a OPTIONAL -- Need ON } } -NeighCellsToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF PhysCellId +NeighCellsToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF PhysCellId NeighCellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF NeighCellsInfo-r12 @@ -3898,7 +3979,7 @@ RLC-Config ::= CHOICE { ... } -RLC-Config-v12xy ::= SEQUENCE { +RLC-Config-v1250 ::= SEQUENCE { ul-extended-RLC-LI-Field-r12 BOOLEAN, dl-extended-RLC-LI-Field-r12 BOOLEAN } @@ -4168,10 +4249,13 @@ SPS-ConfigUL ::= CHOICE { } OPTIONAL, -- Need OP twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD ..., - [[ p0-PersistentSubframeSet2-r12 SEQUENCE { - p0-NominalPUSCH-PersistentSubframeSet2-r12 INTEGER (-126..24), - p0-UE-PUSCH-PersistentSubframeSet2-r12 INTEGER (-8..7) - } OPTIONAL -- Cond TwoSetsUL + [[ p0-PersistentSubframeSet2-r12 CHOICE { + release NULL, + setup SEQUENCE { + p0-NominalPUSCH-PersistentSubframeSet2-r12 INTEGER (-126..24), + p0-UE-PUSCH-PersistentSubframeSet2-r12 INTEGER (-8..7) + } + } OPTIONAL -- Need ON ]] } } @@ -4191,6 +4275,11 @@ TDD-Config-v1130 ::= SEQUENCE { specialSubframePatterns-v1130 ENUMERATED {ssp7,ssp9} } +TDD-ConfigSL-r12 ::= SEQUENCE { + subframeAssignmentSL-r12 ENUMERATED { + none, sa0, sa1, sa2, sa3, sa4, sa5, sa6} +} + TimeAlignmentTimer ::= ENUMERATED { sf500, sf750, sf1280, sf1920, sf2560, sf5120, @@ -4212,7 +4301,7 @@ TPC-Index ::= CHOICE { UplinkPowerControlCommon ::= SEQUENCE { p0-NominalPUSCH INTEGER (-126..24), - alpha ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}, + alpha Alpha-r12, p0-NominalPUCCH INTEGER (-127..-96), deltaFList-PUCCH DeltaFList-PUCCH, deltaPreambleMsg3 INTEGER (-1..6) @@ -4226,16 +4315,16 @@ UplinkPowerControlCommon-v1020 ::= SEQUENCE { UplinkPowerControlCommonPSCell-r12 ::= SEQUENCE { -- For uplink power control the additional/ missing fields are signalled (compared to SCell) - deltaF-PUCCH-Format3-r10 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, deltaF3, deltaF4, deltaF5, deltaF6}, - deltaF-PUCCH-Format1bCS-r10 ENUMERATED {deltaF1, deltaF2, spare2, spare1}, - p0-NominalPUCCH INTEGER (-127..-96), - deltaFList-PUCCH DeltaFList-PUCCH + deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2, spare2, spare1}, + p0-NominalPUCCH-r12 INTEGER (-127..-96), + deltaFList-PUCCH-r12 DeltaFList-PUCCH } UplinkPowerControlCommonSCell-r10 ::= SEQUENCE { p0-NominalPUSCH-r10 INTEGER (-126..24), - alpha-r10 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1} + alpha-r10 Alpha-r12 } UplinkPowerControlCommonSCell-v1130 ::= SEQUENCE { @@ -4262,13 +4351,13 @@ UplinkPowerControlDedicated-v1130 ::= SEQUENCE { deltaTxD-OffsetListPUCCH-v1130 DeltaTxD-OffsetListPUCCH-v1130 OPTIONAL -- Need OR } -UplinkPowerControlDedicated-v12x0 ::= SEQUENCE { +UplinkPowerControlDedicated-v1250 ::= SEQUENCE { set2PowerControlParameter CHOICE { release NULL, setup SEQUENCE { tpc-SubframeSet-r12 BIT STRING (SIZE(10)), p0-NominalPUSCH-SubframeSet2-r12 INTEGER (-126..24), - alpha-SubframeSet2-r12 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}, + alpha-SubframeSet2-r12 Alpha-r12, p0-UE-PUSCH-SubframeSet2-r12 INTEGER (-8..7) } } @@ -4279,11 +4368,13 @@ UplinkPowerControlDedicatedSCell-r10 ::= SEQUENCE { deltaMCS-Enabled-r10 ENUMERATED {en0, en1}, accumulationEnabled-r10 BOOLEAN, pSRS-Offset-r10 INTEGER (0..15), - pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL, -- Need OR + pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL, -- Need OR filterCoefficient-r10 FilterCoefficient DEFAULT fc4, pathlossReferenceLinking-r10 ENUMERATED {pCell, sCell} } +Alpha-r12 ::= ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1} + DeltaFList-PUCCH ::= SEQUENCE { deltaF-PUCCH-Format1 ENUMERATED {deltaF-2, deltaF0, deltaF2}, deltaF-PUCCH-Format1b ENUMERATED {deltaF1, deltaF3, deltaF5}, @@ -4473,11 +4564,12 @@ MobilityControlInfo ::= SEQUENCE { } MobilityControlInfoSCG-r12 ::= SEQUENCE { - t307 ENUMERATED { + t307-r12 ENUMERATED { ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, spare1}, ue-IdentitySCG-r12 C-RNTI OPTIONAL, -- Cond SCGEst, rach-ConfigDedicated-r12 RACH-ConfigDedicated OPTIONAL, -- Need OP + cipheringAlgorithmSCG-r12 CipheringAlgorithm-r12 OPTIONAL, -- Need ON ... } @@ -4535,7 +4627,7 @@ PhysCellIdRange ::= SEQUENCE { range ENUMERATED { n4, n8, n12, n16, n24, n32, n48, n64, n84, n96, n128, n168, n252, n504, spare2, - spare1} OPTIONAL -- Need OP + spare1} OPTIONAL -- Need OP } @@ -4661,7 +4753,7 @@ LocationInfo-r10 ::= SEQUENCE { ellipsoidPointWithUncertaintyCircle-r11 OCTET STRING, ellipsoidPointWithUncertaintyEllipse-r11 OCTET STRING, ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 OCTET STRING, - ellipsoidArc-r11 OCTET STRING, + ellipsoidArc-r11 OCTET STRING, polygon-r11 OCTET STRING }, horizontalVelocity-r10 OCTET STRING OPTIONAL, @@ -4686,7 +4778,7 @@ MeasConfig ::= SEQUENCE { quantityConfig QuantityConfig OPTIONAL, -- Need ON measGapConfig MeasGapConfig OPTIONAL, -- Need ON s-Measure RSRP-Range OPTIONAL, -- Need ON - preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP + preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP speedStatePars CHOICE { release NULL, setup SEQUENCE { @@ -4700,9 +4792,9 @@ MeasConfig ::= SEQUENCE { [[ allowInterruptions-r11 BOOLEAN OPTIONAL -- Need ON ]], [[ measScaleFactor-r12 CHOICE { - release NULL, - setup MeasScaleFactor-r12 - } OPTIONAL, -- Need ON + release NULL, + setup MeasScaleFactor-r12 + } OPTIONAL, -- Need ON measIdToRemoveListExt-r12 MeasIdToRemoveListExt-r12 OPTIONAL, -- Need ON measIdToAddModListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL, -- Need ON measRSRQ-OnAllSymbols-r12 BOOLEAN OPTIONAL -- Need ON @@ -4711,7 +4803,7 @@ MeasConfig ::= SEQUENCE { MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId -MeasIdToRemoveListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId-v12xy +MeasIdToRemoveListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId-v1250 MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId @@ -4728,8 +4820,8 @@ MeasDS-Config-r12 ::= CHOICE { ... }, ds-OccasionDuration-r12 CHOICE { - durationFDD-r12 INTEGER(1..maxDS-Duration-r12), - durationTDD-r12 INTEGER(2..maxDS-Duration-r12) + durationFDD-r12 INTEGER(1..maxDS-Duration-r12), + durationTDD-r12 INTEGER(2..maxDS-Duration-r12) }, measCSI-RS-ToRemoveList-r12 MeasCSI-RS-ToRemoveList-r12 OPTIONAL, -- Need ON measCSI-RS-ToAddModList-r12 MeasCSI-RS-ToAddModList-r12 OPTIONAL, -- Need ON @@ -4749,7 +4841,9 @@ MeasCSI-RS-Config-r12 ::= SEQUENCE { scramblingIdentity-r12 INTEGER (0..503), resourceConfig-r12 INTEGER (0..31), subframeOffset-r12 INTEGER (0..4), - csi-RS-IndividualOffset-r12 Q-OffsetRange} + csi-RS-IndividualOffset-r12 Q-OffsetRange, + ... +} MeasGapConfig ::= CHOICE { @@ -4766,7 +4860,7 @@ MeasGapConfig ::= CHOICE { MeasId ::= INTEGER (1..maxMeasId) -MeasId-v12xy ::= INTEGER (maxMeasId-Plus1..maxMeasId-r12) +MeasId-v1250 ::= INTEGER (maxMeasId-Plus1..maxMeasId-r12) MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod @@ -4780,7 +4874,7 @@ MeasIdToAddMod ::= SEQUENCE { } MeasIdToAddModExt-r12 ::= SEQUENCE { - measId-v12xy MeasId-v12xy, + measId-v1250 MeasId-v1250, measObjectId-r12 MeasObjectId, reportConfigId-r12 ReportConfigId } @@ -4824,15 +4918,16 @@ MeasObjectEUTRA ::= SEQUENCE { ]], [[widebandRSRQ-Meas-r11 BOOLEAN OPTIONAL -- Cond WB-RSRQ ]], - [[altTTT-CellsToRemoveList-r12 CellIndexList OPTIONAL, -- Need ON - altTTT-CellsToAddModList-r12 AltTTT-CellsToAddModList-r12 OPTIONAL -- Need ON - ]], - [[t312-r12 ENUMERATED {ms0, ms50, ms100, ms200, ms300, ms400, ms500, - ms1000} OPTIONAL, -- Need ON - reducedMeasPerformance-r12 BOOLEAN OPTIONAL, -- Need ON + [[ altTTT-CellsToRemoveList-r12 CellIndexList OPTIONAL, -- Need ON + altTTT-CellsToAddModList-r12 AltTTT-CellsToAddModList-r12 OPTIONAL, -- Need ON + t312-r12 CHOICE { + release NULL, + setup ENUMERATED {ms0, ms50, ms100, ms200, + ms300, ms400, ms500, ms1000} + } OPTIONAL, -- Need ON + reducedMeasPerformance-r12 BOOLEAN OPTIONAL, -- Need ON measDS-Config-r12 MeasDS-Config-r12 OPTIONAL -- Need ON ]] - } MeasObjectEUTRA-v9e0 ::= SEQUENCE { @@ -4870,8 +4965,8 @@ MeasSubframeCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdRange AltTTT-CellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF AltTTT-CellsToAddMod-r12 AltTTT-CellsToAddMod-r12 ::= SEQUENCE { - cellIndex INTEGER (1..maxCellMeas), - physCellIdRange PhysCellIdRange + cellIndex-r12 INTEGER (1..maxCellMeas), + physCellIdRange-r12 PhysCellIdRange } @@ -4879,7 +4974,7 @@ MeasObjectGERAN ::= SEQUENCE { carrierFreqs CarrierFreqsGERAN, offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B, - cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON + cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON ... } @@ -4918,11 +5013,11 @@ MeasObjectUTRA ::= SEQUENCE { cellForWhichToReportCGI CHOICE { utra-FDD PhysCellIdUTRA-FDD, utra-TDD PhysCellIdUTRA-TDD - } OPTIONAL, -- Need ON + } OPTIONAL, -- Need ON ..., [[ csg-allowedReportingCells-v930 CSG-AllowedReportingCells-r9 OPTIONAL -- Need ON ]], - [[ reducedMeasPerformance-r12 BOOLEAN OPTIONAL -- Need ON + [[ reducedMeasPerformance-r12 BOOLEAN OPTIONAL -- Need ON ]] } @@ -4963,8 +5058,8 @@ MeasResults ::= SEQUENCE { [[ locationInfo-r10 LocationInfo-r10 OPTIONAL, measResultServFreqList-r10 MeasResultServFreqList-r10 OPTIONAL ]], - [[ measId-v12xy MeasId-v12xy OPTIONAL, - measResultPCell-v12xy RSRQ-Range-v12xy OPTIONAL, + [[ measId-v1250 MeasId-v1250 OPTIONAL, + measResultPCell-v1250 RSRQ-Range-v1250 OPTIONAL, measResultCSI-RS-List-r12 MeasResultCSI-RS-List-r12 OPTIONAL ]] } @@ -4976,8 +5071,8 @@ MeasResultEUTRA ::= SEQUENCE { cgi-Info SEQUENCE { cellGlobalId CellGlobalIdEUTRA, trackingAreaCode TrackingAreaCode, - plmn-IdentityList PLMN-IdentityList2 OPTIONAL - } OPTIONAL, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, measResult SEQUENCE { rsrpResult RSRP-Range OPTIONAL, rsrqResult RSRQ-Range OPTIONAL, @@ -4985,7 +5080,7 @@ MeasResultEUTRA ::= SEQUENCE { [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL ]], [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL, - measResult-v12xy RSRQ-Range-v12xy OPTIONAL + measResult-v1250 RSRQ-Range-v1250 OPTIONAL ]] } } @@ -5004,8 +5099,8 @@ MeasResultServFreq-r10 ::= SEQUENCE { rsrqResultNCell-r10 RSRQ-Range } OPTIONAL, ..., - [[ measResultSCell-v12xy RSRQ-Range-v12xy OPTIONAL, - measResultBestNeighCell-v12xy RSRQ-Range-v12xy OPTIONAL + [[ measResultSCell-v1250 RSRQ-Range-v1250 OPTIONAL, + measResultBestNeighCell-v1250 RSRQ-Range-v1250 OPTIONAL ]] } @@ -5013,7 +5108,8 @@ MeasResultCSI-RS-List-r12 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCS MeasResultCSI-RS-r12 ::= SEQUENCE { measCSI-RS-Id-r12 MeasCSI-RS-Id-r12, - csi-RSRP-Result-r12 CSI-RSRP-Range-r12, ... + csi-RSRP-Result-r12 CSI-RSRP-Range-r12, + ... } MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA @@ -5027,8 +5123,8 @@ MeasResultUTRA ::= SEQUENCE { cellGlobalId CellGlobalIdUTRA, locationAreaCode BIT STRING (SIZE (16)) OPTIONAL, routingAreaCode BIT STRING (SIZE (8)) OPTIONAL, - plmn-IdentityList PLMN-IdentityList2 OPTIONAL - } OPTIONAL, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, measResult SEQUENCE { utra-RSCP INTEGER (-5..91) OPTIONAL, utra-EcN0 INTEGER (0..49) OPTIONAL, @@ -5048,7 +5144,7 @@ MeasResultGERAN ::= SEQUENCE { cgi-Info SEQUENCE { cellGlobalId CellGlobalIdGERAN, routingAreaCode BIT STRING (SIZE (8)) OPTIONAL - } OPTIONAL, + } OPTIONAL, measResult SEQUENCE { rssi INTEGER (0..63), ... @@ -5064,7 +5160,7 @@ MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDM MeasResultCDMA2000 ::= SEQUENCE { physCellId PhysCellIdCDMA2000, - cgi-Info CellGlobalIdCDMA2000 OPTIONAL, + cgi-Info CellGlobalIdCDMA2000 OPTIONAL, measResult SEQUENCE { pilotPnPhase INTEGER (0..32767) OPTIONAL, pilotStrength INTEGER (0..63), @@ -5096,7 +5192,7 @@ QuantityConfig ::= SEQUENCE { ..., [[ quantityConfigUTRA-v1020 QuantityConfigUTRA-v1020 OPTIONAL -- Need ON ]], - [[ quantityConfigEUTRA-v12xy QuantityConfigEUTRA-v12xy OPTIONAL -- Need ON + [[ quantityConfigEUTRA-v1250 QuantityConfigEUTRA-v1250 OPTIONAL -- Need ON ]] } @@ -5105,8 +5201,8 @@ QuantityConfigEUTRA ::= SEQUENCE { filterCoefficientRSRQ FilterCoefficient DEFAULT fc4 } -QuantityConfigEUTRA-v12xy ::= SEQUENCE { - filterCoefficientCSI-RSRP-r12 FilterCoefficient DEFAULT fc4 +QuantityConfigEUTRA-v1250 ::= SEQUENCE { + filterCoefficientCSI-RSRP-r12 FilterCoefficient OPTIONAL -- Need OR } QuantityConfigUTRA ::= SEQUENCE { @@ -5156,7 +5252,7 @@ ReportConfigEUTRA ::= SEQUENCE { a6-ReportOnLeave-r10 BOOLEAN }, eventC1-r12 SEQUENCE { - c1-Threshold-r12 ThresholdEUTRA-v12xy, + c1-Threshold-r12 ThresholdEUTRA-v1250, c1-ReportOnLeave-r12 BOOLEAN }, eventC2-r12 SEQUENCE { @@ -5182,26 +5278,34 @@ ReportConfigEUTRA ::= SEQUENCE { [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI ue-RxTxTimeDiffPeriodical-r9 ENUMERATED {setup} OPTIONAL -- Need OR ]], - [[ includeLocationInfo-r10 ENUMERATED {true} OPTIONAL, -- Need OR + [[ includeLocationInfo-r10 ENUMERATED {true} OPTIONAL, -- Need OR reportAddNeighMeas-r10 ENUMERATED {setup} OPTIONAL -- Need OR ]], - [[ alternativeTimeToTrigger-r12 TimeToTrigger OPTIONAL, -- Need OR - useT312-r12 ENUMERATED {setup} OPTIONAL, -- Cond event - usePSCell-r12 ENUMERATED {true} OPTIONAL, -- Cond a3OrA5 - aN-Threshold1-v12xy RSRQ-Range-v12xy OPTIONAL, -- Need OR - a5-Threshold2-v12xy RSRQ-Range-v12xy OPTIONAL, -- Need OR - reportStrongestCSI-RSs-r12 ENUMERATED {true} OPTIONAL, -- Cond periodic - reportCRS-Meas-r12 ENUMERATED {true} OPTIONAL, -- Need OR - triggerQuantityCSI-RS-r12 ENUMERATED {csi-RSRP-r12} OPTIONAL -- Cond CSI-RS + [[ alternativeTimeToTrigger-r12 CHOICE { + release NULL, + setup TimeToTrigger + } OPTIONAL, -- Need ON + useT312-r12 BOOLEAN OPTIONAL, -- Need ON + usePSCell-r12 BOOLEAN OPTIONAL, -- Need ON + aN-Threshold1-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON + a5-Threshold2-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON + reportStrongestCSI-RSs-r12 BOOLEAN OPTIONAL, -- Need ON + reportCRS-Meas-r12 BOOLEAN OPTIONAL, -- Need ON + triggerQuantityCSI-RS-r12 BOOLEAN OPTIONAL -- Need ON ]] } +RSRQ-RangeConfig-r12 ::= CHOICE { + release NULL, + setup RSRQ-Range-v1250 +} + ThresholdEUTRA ::= CHOICE{ threshold-RSRP RSRP-Range, threshold-RSRQ RSRQ-Range } -ThresholdEUTRA-v12xy ::= CSI-RSRP-Range-r12 +ThresholdEUTRA-v1250 ::= CSI-RSRP-Range-r12 ReportConfigId ::= INTEGER (1..maxReportConfigId) @@ -5246,9 +5350,12 @@ ReportConfigInterRAT ::= SEQUENCE { ]], [[ reportQuantityUTRA-FDD-r10 ENUMERATED {both} OPTIONAL -- Need OR ]], - [[ includeLocationInfo-r11 BOOLEAN OPTIONAL -- Need ON + [[ includeLocationInfo-r11 BOOLEAN OPTIONAL -- Need ON ]], - [[ b2-Threshold1-v12xy RSRQ-Range-v12xy OPTIONAL -- Need OR + [[ b2-Threshold1-v1250 CHOICE { + release NULL, + setup RSRQ-Range-v1250 + } OPTIONAL -- Need ON ]] } @@ -5257,9 +5364,9 @@ ThresholdUTRA ::= CHOICE{ utra-EcN0 INTEGER (0..49) } -ThresholdGERAN ::= INTEGER (0..63) +ThresholdGERAN ::= INTEGER (0..63) -ThresholdCDMA2000 ::= INTEGER (0..63) +ThresholdCDMA2000 ::= INTEGER (0..63) ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod @@ -5281,14 +5388,23 @@ ReportInterval ::= ENUMERATED { RSRP-Range ::= INTEGER(0..97) +RSRP-RangeSL-r12 ::= INTEGER(0..13) + +RSRP-RangeSL2-r12 ::= INTEGER(0..7) + +RSRP-RangeSL3-r12 ::= INTEGER(0..11) + RSRQ-Range ::= INTEGER(0..34) -RSRQ-Range-v12xy ::= INTEGER(-30..46) +RSRQ-Range-v1250 ::= INTEGER(-30..46) -RSRQ-Type-r12 ::= ENUMERATED {crsSymbols, allSymbols, wideBand, allSymbolsWithWideBand} +RSRQ-Type-r12 ::= SEQUENCE { + allSymbols-r12 BOOLEAN, + wideBand-r12 BOOLEAN +} TimeToTrigger ::= ENUMERATED { @@ -5369,7 +5485,7 @@ OtherConfig-r9 ::= SEQUENCE { ]] } -IDC-Config-r11 ::= SEQUENCE { +IDC-Config-r11 ::= SEQUENCE { idc-Indication-r11 ENUMERATED {setup} OPTIONAL, -- Need OR autonomousDenialParameters-r11 SEQUENCE { autonomousDenialSubframes-r11 ENUMERATED {n2, n5, n10, n15, @@ -5377,7 +5493,7 @@ IDC-Config-r11 ::= SEQUENCE { autonomousDenialValidity-r11 ENUMERATED { sf200, sf500, sf1000, sf2000, spare4, spare3, spare2, spare1} - } OPTIONAL, -- Need OR + } OPTIONAL, -- Need OR ... } @@ -5564,22 +5680,24 @@ UE-EUTRA-Capability-v1180-IEs ::= SEQUENCE { UE-EUTRA-Capability-v11a0-IEs ::= SEQUENCE { ue-Category-v11a0 INTEGER (11..12) OPTIONAL, measParameters-v11a0 MeasParameters-v11a0 OPTIONAL, - nonCriticalExtension UE-EUTRA-Capability-v12xy-IEs OPTIONAL + nonCriticalExtension UE-EUTRA-Capability-v1250-IEs OPTIONAL } -UE-EUTRA-Capability-v12xy-IEs ::= SEQUENCE { - phyLayerParameters-v12xy PhyLayerParameters-v12xy OPTIONAL, - rf-Parameters-v12xy RF-Parameters-v12xy OPTIONAL, +UE-EUTRA-Capability-v1250-IEs ::= SEQUENCE { + phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL, + rf-Parameters-v1250 RF-Parameters-v1250 OPTIONAL, rlc-Parameters-r12 RLC-Parameters-r12 OPTIONAL, - ue-BasedNetwPerfMeasParameters-v12xy UE-BasedNetwPerfMeasParameters-v12xy OPTIONAL, - ue-Category-v12xy INTEGER (0..15) OPTIONAL, + ue-BasedNetwPerfMeasParameters-v1250 UE-BasedNetwPerfMeasParameters-v1250 OPTIONAL, + ue-CategoryDL-r12 INTEGER (0..14) OPTIONAL, + ue-CategoryUL-r12 INTEGER (0..13) OPTIONAL, wlan-IW-Parameters-r12 WLAN-IW-Parameters-r12 OPTIONAL, - measParameters-v12xy MeasParameters-v12xy OPTIONAL, + measParameters-v1250 MeasParameters-v1250 OPTIONAL, dc-Parameters-r12 DC-Parameters-r12 OPTIONAL, - mbms-Parameters-v12xy MBMS-Parameters-v12xy OPTIONAL, + mbms-Parameters-v1250 MBMS-Parameters-v1250 OPTIONAL, mac-Parameters-r12 MAC-Parameters-r12 OPTIONAL, - fdd-Add-UE-EUTRA-Capabilities-v12xy UE-EUTRA-CapabilityAddXDD-Mode-v12xy OPTIONAL, - tdd-Add-UE-EUTRA-Capabilities-v12xy UE-EUTRA-CapabilityAddXDD-Mode-v12xy OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL, + sl-Parameters-r12 SL-Parameters-r12 OPTIONAL, nonCriticalExtension SEQUENCE {} OPTIONAL } @@ -5615,19 +5733,18 @@ UE-EUTRA-CapabilityAddXDD-Mode-v1180 ::= SEQUENCE { mbms-Parameters-r11 MBMS-Parameters-r11 } -UE-EUTRA-CapabilityAddXDD-Mode-v12xy ::= SEQUENCE { - phyLayerParameters-v12xy PhyLayerParameters-v12xy OPTIONAL, - measParameters-v12xy MeasParameters-v12xy OPTIONAL +UE-EUTRA-CapabilityAddXDD-Mode-v1250 ::= SEQUENCE { + phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL, + measParameters-v1250 MeasParameters-v1250 OPTIONAL } AccessStratumRelease ::= ENUMERATED { - rel8, rel9, rel10, rel11, spare4, spare3, + rel8, rel9, rel10, rel11, rel12, spare3, spare2, spare1, ...} DC-Parameters-r12 ::= SEQUENCE { drb-TypeSplit-r12 ENUMERATED {supported} OPTIONAL, - drb-TypeSCG-r12 ENUMERATED {supported} OPTIONAL, - singleDuplexModeCG-r12 ENUMERATED {supported} OPTIONAL + drb-TypeSCG-r12 ENUMERATED {supported} OPTIONAL } MAC-Parameters-r12 ::= SEQUENCE { @@ -5702,16 +5819,16 @@ PhyLayerParameters-v1170 ::= SEQUENCE { interBandTDD-CA-WithDifferentConfig-r11 BIT STRING (SIZE (2)) OPTIONAL } -PhyLayerParameters-v12xy ::= SEQUENCE { +PhyLayerParameters-v1250 ::= SEQUENCE { e-HARQ-Pattern-FDD-r12 ENUMERATED {supported} OPTIONAL, enhanced-4TxCodebook-r12 ENUMERATED {supported} OPTIONAL, tdd-FDD-CA-PCellDuplex-r12 BIT STRING (SIZE (2)) OPTIONAL, - phy-TDD-ReConfig-TDDPCell-r12 ENUMERATED {supported} OPTIONAL, - phy-TDD-ReConfig-FDDPCell-r12 ENUMERATED {supported} OPTIONAL, + phy-TDD-ReConfig-TDD-PCell-r12 ENUMERATED {supported} OPTIONAL, + phy-TDD-ReConfig-FDD-PCell-r12 ENUMERATED {supported} OPTIONAL, pusch-FeedbackMode-r12 ENUMERATED {supported} OPTIONAL, pusch-SRS-PowerControl-SubframeSet-r12 ENUMERATED {supported} OPTIONAL, csi-SubframeSet-r12 ENUMERATED {supported} OPTIONAL, - noResourceRestrictionForTTIBundling-r12 ENUMERATED {supported} OPTIONAL, + noResourceRestrictionForTTIBundling-r12 ENUMERATED {supported} OPTIONAL, discoverySignalsInDeactSCell-r12 ENUMERATED {supported} OPTIONAL, naics-Capability-List-r12 NAICS-Capability-List-r12 OPTIONAL } @@ -5757,10 +5874,11 @@ RF-Parameters-v1180 ::= SEQUENCE { supportedBandCombinationAdd-r11 SupportedBandCombinationAdd-r11 OPTIONAL } -RF-Parameters-v12xy ::= SEQUENCE { - supportedBandListEUTRA-v12xy SupportedBandListEUTRA-v12xy OPTIONAL, - supportedBandCombination-v12xy SupportedBandCombination-v12xy OPTIONAL, - supportedBandCombinationAdd-v12xy SupportedBandCombinationAdd-v12xy OPTIONAL +RF-Parameters-v1250 ::= SEQUENCE { + supportedBandListEUTRA-v1250 SupportedBandListEUTRA-v1250 OPTIONAL, + supportedBandCombination-v1250 SupportedBandCombination-v1250 OPTIONAL, + supportedBandCombinationAdd-v1250 SupportedBandCombinationAdd-v1250 OPTIONAL, + freqBandPriorityAdjustment-r12 ENUMERATED {supported} OPTIONAL } SupportedBandCombination-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-r10 @@ -5771,11 +5889,11 @@ SupportedBandCombination-v1090 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandC SupportedBandCombination-v1130 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1130 -SupportedBandCombination-v12xy ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v12xy +SupportedBandCombination-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1250 SupportedBandCombinationAdd-r11 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-r11 -SupportedBandCombinationAdd-v12xy ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v12xy +SupportedBandCombinationAdd-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1250 BandCombinationParameters-r10 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r10 @@ -5802,14 +5920,17 @@ BandCombinationParameters-r11 ::= SEQUENCE { ... } -BandCombinationParameters-v12xy::= SEQUENCE { +BandCombinationParameters-v1250::= SEQUENCE { dc-Support-r12 SEQUENCE { - supported-r12 SEQUENCE { - asynchronous-r12 ENUMERATED {supported} OPTIONAL, - supportedCellGrouping-r12 BIT STRING (SIZE (1..15)) OPTIONAL - } OPTIONAL - }, + asynchronous-r12 ENUMERATED {supported} OPTIONAL, + supportedCellGrouping-r12 CHOICE { + threeEntries-r12 BIT STRING (SIZE(3)), + fourEntries-r12 BIT STRING (SIZE(7)), + fiveEntries-r12 BIT STRING (SIZE(15)) + } OPTIONAL + } OPTIONAL, supportedNAICS-2CRS-AP-r12 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL, + commSupportedBandsPerBC-r12 BIT STRING (SIZE (1.. maxBands)) OPTIONAL, ... } @@ -5862,7 +5983,7 @@ SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA SupportedBandListEUTRA-v9e0::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9e0 -SupportedBandListEUTRA-v12xy ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v12xy +SupportedBandListEUTRA-v1250 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1250 SupportedBandEUTRA ::= SEQUENCE { bandEUTRA FreqBandIndicator, @@ -5873,8 +5994,9 @@ SupportedBandEUTRA-v9e0 ::= SEQUENCE { bandEUTRA-v9e0 FreqBandIndicator-v9e0 OPTIONAL } -SupportedBandEUTRA-v12xy ::= SEQUENCE { - dl-256QAM-r12 ENUMERATED {supported} OPTIONAL +SupportedBandEUTRA-v1250 ::= SEQUENCE { + dl-256QAM-r12 ENUMERATED {supported} OPTIONAL, + ul-64QAM-r12 ENUMERATED {supported} OPTIONAL } MeasParameters ::= SEQUENCE { @@ -5893,14 +6015,14 @@ MeasParameters-v11a0 ::= SEQUENCE { benefitsFromInterruption-r11 ENUMERATED {true} OPTIONAL } -MeasParameters-v12xy ::= SEQUENCE { +MeasParameters-v1250 ::= SEQUENCE { timerT312-r12 ENUMERATED {supported} OPTIONAL, alternativeTimeToTrigger-r12 ENUMERATED {supported} OPTIONAL, incMonEUTRA-r12 ENUMERATED {supported} OPTIONAL, incMonUTRA-r12 ENUMERATED {supported} OPTIONAL, extendedMaxMeasId-r12 ENUMERATED {supported} OPTIONAL, extendedRSRQ-LowerRange-r12 ENUMERATED {supported} OPTIONAL, - rsrqOnAllSymbols-r12 ENUMERATED {supported} OPTIONAL, + rsrq-OnAllSymbols-r12 ENUMERATED {supported} OPTIONAL, crs-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL, csi-RS-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL } @@ -6059,7 +6181,7 @@ UE-BasedNetwPerfMeasParameters-r10 ::= SEQUENCE { standaloneGNSS-Location-r10 ENUMERATED {supported} OPTIONAL } -UE-BasedNetwPerfMeasParameters-v12xy ::= SEQUENCE { +UE-BasedNetwPerfMeasParameters-v1250 ::= SEQUENCE { loggedMBSFNMeasurements-r12 ENUMERATED {supported} } @@ -6079,7 +6201,7 @@ MBMS-Parameters-r11 ::= SEQUENCE { mbms-NonServingCell-r11 ENUMERATED {supported} OPTIONAL } -MBMS-Parameters-v12xy ::= SEQUENCE { +MBMS-Parameters-v1250 ::= SEQUENCE { mbms-AsyncDC-r12 ENUMERATED {supported} OPTIONAL } @@ -6092,16 +6214,35 @@ NAICS-Capability-List-r12 ::= SEQUENCE (SIZE (1..maxNAICS-Entries-r12)) OF NAICS NAICS-Capability-Entry-r12 ::= SEQUENCE { - numberOfNAICSCapableCC-r12 INTEGER(1..5), + numberOfNAICS-CapableCC-r12 INTEGER(1..5), numberOfAggregatedPRB-r12 ENUMERATED { n50, n75, n100, n125, n150, n175, n200, n225, n250, n275, n300, n350, - n400, n450, n500, spare} + n400, n450, n500, spare}, + ... } +SL-Parameters-r12 ::= SEQUENCE { + commSimultaneousTx-r12 ENUMERATED {supported} OPTIONAL, + commSupportedBands-r12 FreqBandIndicatorListEUTRA-r12 OPTIONAL, + discSupportedBands-r12 SupportedBandInfoList-r12 OPTIONAL, + discScheduledResourceAlloc-r12 ENUMERATED {supported} OPTIONAL, + disc-UE-SelectedResourceAlloc-r12 ENUMERATED {supported} OPTIONAL, + disc-SLSS-r12 ENUMERATED {supported} OPTIONAL, + discSupportedProc-r12 ENUMERATED {n50, n400} OPTIONAL +} + +SupportedBandInfoList-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandInfo-r12 + +SupportedBandInfo-r12 ::= SEQUENCE { + support-r12 ENUMERATED {supported} OPTIONAL +} + +FreqBandIndicatorListEUTRA-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11 + UE-RadioPagingInfo-r12 ::= SEQUENCE { - ue-Category-v12xy INTEGER (0) OPTIONAL, + ue-Category-v1250 INTEGER (0) OPTIONAL, ... } @@ -6136,11 +6277,12 @@ VisitedCellInfo-r12 ::= SEQUENCE { carrierFreq-r12 ARFCN-ValueEUTRA-r9 } } OPTIONAL, - timeSpent-r12 INTEGER (0..4095) + timeSpent-r12 INTEGER (0..4095), + ... } -WLAN-OffloadConfig-r12 ::= SEQUENCE { +WLAN-OffloadConfig-r12 ::= SEQUENCE { thresholdRSRP-r12 SEQUENCE { thresholdRSRP-Low-r12 RSRP-Range, thresholdRSRP-High-r12 RSRP-Range @@ -6152,36 +6294,36 @@ WLAN-OffloadConfig-r12 ::= SEQUENCE { thresholdRSRQ-OnAllSymbolsWithWB-r12 SEQUENCE { thresholdRSRQ-OnAllSymbolsWithWB-Low-r12 RSRQ-Range, thresholdRSRQ-OnAllSymbolsWithWB-High-r12 RSRQ-Range - } OPTIONAL, -- Cond RSRQ + } OPTIONAL, -- Need OP thresholdRSRQ-OnAllSymbols-r12 SEQUENCE { thresholdRSRQ-OnAllSymbolsLow-r12 RSRQ-Range, thresholdRSRQ-OnAllSymbolsHigh-r12 RSRQ-Range - } OPTIONAL, -- Cond RSRQ2 + } OPTIONAL, -- Need OP thresholdRSRQ-WB-r12 SEQUENCE { thresholdRSRQ-WB-Low-r12 RSRQ-Range, thresholdRSRQ-WB-High-r12 RSRQ-Range - } OPTIONAL, -- Cond RSRQ3 + } OPTIONAL, -- Need OP thresholdChannelUtilization-r12 SEQUENCE { thresholdChannelUtilizationLow-r12 INTEGER (0..255), thresholdChannelUtilizationHigh-r12 INTEGER (0..255) } OPTIONAL, -- Need OR thresholdBackhaul-Bandwidth-r12 SEQUENCE { - thresholdBackhaulDL-BandwidthLow-r12 WLAN-backhaulRate, - thresholdBackhaulDL-BandwidthHigh-r12 WLAN-backhaulRate, - thresholdBackhaulUL-BandwidthLow-r12 WLAN-backhaulRate, - thresholdBackhaulUL-BandwidthHigh-r12 WLAN-backhaulRate + thresholdBackhaulDL-BandwidthLow-r12 WLAN-backhaulRate-r12, + thresholdBackhaulDL-BandwidthHigh-r12 WLAN-backhaulRate-r12, + thresholdBackhaulUL-BandwidthLow-r12 WLAN-backhaulRate-r12, + thresholdBackhaulUL-BandwidthHigh-r12 WLAN-backhaulRate-r12 } OPTIONAL, -- Need OR thresholdBeaconRSSI-r12 SEQUENCE { thresholdBeaconRSSI-Low-r12 INTEGER (0..255), thresholdBeaconRSSI-High-r12 INTEGER (0..255) } OPTIONAL, -- Need OR offloadPreferenceIndicator-r12 BIT STRING (SIZE (16)) OPTIONAL, -- Need OR - t-SteeringWLAN-r12 T-Reselection, + t-SteeringWLAN-r12 T-Reselection OPTIONAL, -- Need OR ... } -WLAN-backhaulRate ::= ENUMERATED +WLAN-backhaulRate-r12 ::= ENUMERATED {r0, r4, r8, r16, r32, r64, r128, r256, r512, r1024, r2048, r4096, r8192, r16384, r32768, r65536, r131072, r262144, r524288, r1048576, r2097152, r4194304, r8388608, @@ -6196,10 +6338,13 @@ MBMS-NotificationConfig-r9 ::= SEQUENCE { } +MBSFN-AreaId-r12 ::= INTEGER (0..255) + + MBSFN-AreaInfoList-r9 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r9 MBSFN-AreaInfo-r9 ::= SEQUENCE { - mbsfn-AreaId-r9 INTEGER (0..255), + mbsfn-AreaId-r9 MBSFN-AreaId-r12, non-MBSFNregionLength ENUMERATED {s1, s2}, notificationIndicator-r9 INTEGER (0..7), mcch-Config-r9 SEQUENCE { @@ -6242,7 +6387,7 @@ MBMS-SessionInfoList-r9 ::= SEQUENCE (SIZE (0..maxSessionPerPMCH)) OF MBMS-Sess MBMS-SessionInfo-r9 ::= SEQUENCE { tmgi-r9 TMGI-r9, - sessionId-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Need OR + sessionId-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Need OR logicalChannelIdentity-r9 INTEGER (0..maxSessionPerPMCH-1), ... } @@ -6258,8 +6403,8 @@ PMCH-Config-r9 ::= SEQUENCE { PMCH-Config-r12 ::= SEQUENCE { sf-AllocEnd-r12 INTEGER (0..1535), dataMCS-r12 CHOICE { - t1-r12 INTEGER (0..28), - t2-r12 INTEGER (0..27) + normal-r12 INTEGER (0..28), + higerOrder-r12 INTEGER (0..27) }, mch-SchedulingPeriod-r12 ENUMERATED { rf4, rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}, @@ -6276,6 +6421,231 @@ TMGI-r9 ::= SEQUENCE { +SL-CommConfig-r12 ::= SEQUENCE { + commTxResources-r12 CHOICE { + release NULL, + setup CHOICE { + scheduled-r12 SEQUENCE { + sl-RNTI-r12 C-RNTI, + mac-MainConfig-r12 MAC-MainConfigSL-r12, + commTxConfig-r12 SL-CommResourcePool-r12, + mcs-r12 INTEGER (0..28) OPTIONAL -- Need OP + }, + ue-Selected-r12 SEQUENCE { + -- Pool for normal usage + commTxPoolNormalDedicated-r12 SEQUENCE { + poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r12 SL-CommTxPoolToAddModList-r12 OPTIONAL -- Need ON + } + } + } + } OPTIONAL, -- Need ON + ... +} + +SL-CommTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommTxPoolToAddMod-r12 + +SL-CommTxPoolToAddMod-r12 ::= SEQUENCE { + poolIdentity-r12 SL-TxPoolIdentity-r12, + pool-r12 SL-CommResourcePool-r12 +} + +MAC-MainConfigSL-r12 ::= SEQUENCE { + periodic-BSR-TimerSL PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON + retx-BSR-TimerSL RetxBSR-Timer-r12 +} + + +SL-CommTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommResourcePool-r12 + +SL-CommRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-CommResourcePool-r12 + +SL-CommResourcePool-r12 ::= SEQUENCE { + sc-CP-Len-r12 SL-CP-Len-r12, + sc-Period-r12 SL-PeriodComm-r12, + sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + data-CP-Len-r12 SL-CP-Len-r12, + dataHoppingConfig-r12 SL-HoppingConfigComm-r12, + ue-SelectedResourceConfig-r12 SEQUENCE { + data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + trpt-Subset-r12 SL-TRPT-Subset-r12 OPTIONAL -- Need OP + } OPTIONAL, -- Need OR + rxParametersNCell-r12 SEQUENCE { + tdd-Config-r12 TDD-Config OPTIONAL, -- Need OP + syncConfigIndex-r12 INTEGER (0..15) + } OPTIONAL, -- Need OR + txParameters-r12 SEQUENCE { + sc-TxParameters-r12 SL-TxParameters-r12, + dataTxParameters-r12 SL-TxParameters-r12 + } OPTIONAL, -- Cond Tx + ... +} + +SL-TRPT-Subset-r12 ::= BIT STRING (SIZE (3..5)) + + +SL-CP-Len-r12 ::= ENUMERATED {normal, extended} + + +SL-DiscConfig-r12 ::= SEQUENCE { + discTxResources-r12 CHOICE { + release NULL, + setup CHOICE { + scheduled-r12 SEQUENCE { + discTxConfig-r12 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON + discTF-IndexList-r12 SL-TF-IndexPairList-r12 OPTIONAL, -- Need ON + discHoppingConfig-r12 SL-HoppingConfigDisc-r12 + OPTIONAL -- Need ON + }, + ue-Selected-r12 SEQUENCE { + discTxPoolDedicated-r12 SEQUENCE { + poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r12 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON + } OPTIONAL -- Need ON + } + } + } OPTIONAL, -- Need ON + ... +} + +SL-DiscTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscTxPoolToAddMod-r12 + +SL-DiscTxPoolToAddMod-r12 ::= SEQUENCE { + poolIdentity-r12 SL-TxPoolIdentity-r12, + pool-r12 SL-DiscResourcePool-r12 +} + +SL-TF-IndexPairList-r12 ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12 + +SL-TF-IndexPair-r12 ::= SEQUENCE { + discSF-Index-r12 INTEGER (1.. 200) OPTIONAL, -- Need ON + discPRB-Index-r12 INTEGER (1.. 50) OPTIONAL -- Need ON +} + + +SL-DiscTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscResourcePool-r12 + +SL-DiscRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-DiscResourcePool-r12 + +SL-DiscResourcePool-r12 ::= SEQUENCE { + cp-Len-r12 SL-CP-Len-r12, + discPeriod-r12 ENUMERATED {rf32, rf64, rf128, + rf256, rf512, rf1024, spare2, spare}, + numRetx-r12 INTEGER (0..3), + numRepetition-r12 INTEGER (1..50), + tf-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + txParameters-r12 SEQUENCE { + txParametersGeneral-r12 SL-TxParameters-r12, + ue-SelectedResourceConfig-r12 SEQUENCE { + poolSelection-r12 CHOICE { + rsrpBased-r12 SL-PoolSelectionConfig-r12, + random-r12 NULL + }, + txProbability-r12 ENUMERATED {p25, p50, p75, p100} + } OPTIONAL -- Need OR + } OPTIONAL, -- Cond Tx + rxParameters-r12 SEQUENCE { + tdd-Config-r12 TDD-Config OPTIONAL, -- Need OR + syncConfigIndex-r12 INTEGER (0..15) + } OPTIONAL, -- Need OR + ... +} + +SL-PoolSelectionConfig-r12 ::= SEQUENCE { + threshLow-r12 RSRP-RangeSL2-r12, + threshHigh-r12 RSRP-RangeSL2-r12 +} + + +SL-DiscTxPowerInfoList-r12 ::= SEQUENCE (SIZE (maxSL-DiscPowerClass-r12)) OF SL-DiscTxPowerInfo-r12 + +SL-DiscTxPowerInfo-r12 ::= SEQUENCE { + discMaxTxPower-r12 P-Max, + ... +} + + +SL-HoppingConfigComm-r12 ::= SEQUENCE { + hoppingParameter-r12 INTEGER (0..504), + numSubbands-r12 ENUMERATED {ns1, ns2, ns4}, + rb-Offset-r12 INTEGER (0..110) +} + +SL-HoppingConfigDisc-r12 ::= SEQUENCE { + a-r12 INTEGER (1..200), + b-r12 INTEGER (1..10), + c-r12 ENUMERATED {n1, n5} +} + + +SL-OffsetIndicator-r12 ::= CHOICE { + small-r12 INTEGER (0..319), + large-r12 INTEGER (0..10239) +} + +SL-OffsetIndicatorSync-r12 ::= INTEGER (0..39) + + +SL-PeriodComm-r12 ::= ENUMERATED {sf40, sf60, sf70, sf80, sf120, sf140, + sf160, sf240, sf280, sf320, spare6, spare5, + spare4, spare3, spare2, spare} + + +SLSSID-r12 ::= INTEGER (0..167) + + +SL-SyncConfigList-r12 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfig-r12 + +SL-SyncConfig-r12 ::= SEQUENCE { + syncCP-Len-r12 SL-CP-Len-r12, + syncOffsetIndicator-r12 SL-OffsetIndicatorSync-r12, + slssid-r12 SLSSID-r12, + txParameters-r12 SEQUENCE { + syncTxParameters-r12 SL-TxParameters-r12, + syncTxThreshIC-r12 RSRP-RangeSL-r12, + syncInfoReserved-r12 BIT STRING (SIZE (19)) OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + rxParamsNCell-r12 SEQUENCE { + physCellId-r12 PhysCellId, + discSyncWindow-r12 ENUMERATED {w1, w2} + } OPTIONAL, -- Need OR + ... +} + + +SL-TF-ResourceConfig-r12 ::= SEQUENCE { + prb-Num-r12 INTEGER (1..100), + prb-Start-r12 INTEGER (0..99), + prb-End-r12 INTEGER (0..99), + offsetIndicator-r12 SL-OffsetIndicator-r12, + subframeBitmap-r12 SubframeBitmapSL-r12 +} + +SubframeBitmapSL-r12 ::= CHOICE { + bs4-r12 BIT STRING (SIZE (4)), + bs8-r12 BIT STRING (SIZE (8)), + bs12-r12 BIT STRING (SIZE (12)), + bs16-r12 BIT STRING (SIZE (16)), + bs30-r12 BIT STRING (SIZE (30)), + bs40-r12 BIT STRING (SIZE (40)), + bs42-r12 BIT STRING (SIZE (42)) +} + + +SL-TxParameters-r12 ::= SEQUENCE { + alpha-r12 Alpha-r12, + p0-r12 P0-SL-r12 +} + +P0-SL-r12 ::= INTEGER (-126..31) + + +SL-TxPoolIdentity-r12 ::= INTEGER (1.. maxSL-TxPool-r12) + + +SL-TxPoolToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-TxPoolIdentity-r12 + + maxBandComb-r10 INTEGER ::= 128 -- Maximum number of band combinations. maxBandComb-r11 INTEGER ::= 256 -- Maximum number of additional band combinations. maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps @@ -6286,7 +6656,7 @@ maxCDMA-BandClass INTEGER ::= 32 -- Maximum value of the CDMA band classes maxCellBlack INTEGER ::= 16 -- Maximum number of blacklisted physical cell identity -- ranges listed in SIB type 4 and 5 maxCellHistory-r12 INTEGER ::= 16 -- Maximum number of visited EUTRA cells reported -maxCellInfoGERAN-r9 INTEGER ::= 32 -- Maximum number of GERAN cells for which system in- +maxCellInfoGERAN-r9 INTEGER ::= 32 -- Maximum number of GERAN cells for which system in- -- formation can be provided as redirection assistance maxCellInfoUTRA-r9 INTEGER ::= 16 -- Maximum number of UTRA cells for which system -- information can be provided as redirection @@ -6296,13 +6666,13 @@ maxCSI-IM-r11 INTEGER ::= 3 -- Maximum number of CSI-IM configurations maxCSI-IM-r12 INTEGER ::= 4 -- Maximum number of CSI-IM configurations -- (per carrier frequency) maxCSI-Proc-r11 INTEGER ::= 4 -- Maximum number of CSI RS processes (per carrier - -- frequency) + -- frequency) maxCSI-RS-NZP-r11 INTEGER ::= 3 -- Maximum number of CSI RS resource - -- configurations using non-zero Tx power - -- (per carrier frequency) + -- configurations using non-zero Tx power + -- (per carrier frequency) maxCSI-RS-ZP-r11 INTEGER ::= 4 -- Maximum number of CSI RS resource - -- configurations using zero Tx power(per carrier - -- frequency) + -- configurations using zero Tx power(per carrier + -- frequency) maxCQI-ProcExt-r11 INTEGER ::= 3 -- Maximum number of additional periodic CQI -- configurations (per carrier frequency) maxFreqUTRA-TDD-r10 INTEGER ::= 6 -- Maximum number of UTRA TDD carrier frequencies for @@ -6339,40 +6709,47 @@ maxGERAN-SI INTEGER ::= 10 -- Maximum number of GERAN SI blocks that can be -- provided as part of NACC information maxGNFG INTEGER ::= 16 -- Maximum number of GERAN neighbour freq groups maxLogMeasReport-r10 INTEGER ::= 520 -- Maximum number of logged measurement entries - -- that can be reported by the UE in one message + -- that can be reported by the UE in one message maxMBSFN-Allocations INTEGER ::= 8 -- Maximum number of MBSFN frame allocations with -- different offset maxMBSFN-Area INTEGER ::= 8 maxMBSFN-Area-1 INTEGER ::= 7 maxMeasId INTEGER ::= 32 -maxMeasId-Plus1 INTEGER ::= 33 +maxMeasId-Plus1 INTEGER ::= 33 maxMeasId-r12 INTEGER ::= 64 maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands -- that a cell belongs to maxNAICS-Entries-r12 INTEGER ::= 8 -- Maximum number of supported NAICS combination(s) -maxNeighCell-r12 INTEGER ::= 8 -- Maximum number of neighbouring cells in NAICS +maxNeighCell-r12 INTEGER ::= 8 -- Maximum number of neighbouring cells in NAICS -- configuration (per carrier frequency) maxObjectId INTEGER ::= 32 -maxP-a-PerNeighCell-r12 INTEGER ::= 3 -- Maximum number of power offsets for a neighbour cell +maxP-a-PerNeighCell-r12 INTEGER ::= 3 -- Maximum number of power offsets for a neighbour cell -- in NAICS configuration maxPageRec INTEGER ::= 16 -- -maxPhysCellIdRange-r9 INTEGER ::= 4 -- Maximum number of physical cell identity ranges +maxPhysCellIdRange-r9 INTEGER ::= 4 -- Maximum number of physical cell identity ranges maxPLMN-r11 INTEGER ::= 6 -- Maximum number of PLMNs maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets maxPMCH-PerMBSFN INTEGER ::= 15 maxRAT-Capabilities INTEGER ::= 8 -- Maximum number of interworking RATs (incl EUTRA) maxRE-MapQCL-r11 INTEGER ::= 4 -- Maximum number of PDSCH RE Mapping configurations - -- (per carrier frequency) + -- (per carrier frequency) maxReportConfigId INTEGER ::= 32 maxRSTD-Freq-r10 INTEGER ::= 3 -- Maximum number of frequency layers for RSTD -- measurement maxSAI-MBMS-r11 INTEGER ::= 64 -- Maximum number of MBMS service area identities -- broadcast per carrier frequency maxSCell-r10 INTEGER ::= 4 -- Maximum number of SCells +maxSL-Dest-r12 INTEGER ::= 16 -- Maximum number of sidelink destinations +maxSL-DiscPowerClass-r12 INTEGER ::= 3 -- Maximum number of sidelink power classes +maxSL-RxPool-r12 INTEGER ::= 16 -- Maximum number of individual sidelink Rx resource pools +maxSL-SyncConfig-r12 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations +maxSL-TF-IndexPair-r12 INTEGER ::= 64 -- Maximum number of sidelink Time Freq resource index + -- pairs +maxSL-TxPool-r12 INTEGER ::= 4 -- Maximum number of individual sidelink Tx resource pools maxSTAG-r11 INTEGER ::= 3 -- Maximum number of STAGs maxServCell-r10 INTEGER ::= 5 -- Maximum number of Serving cells -maxServiceCount INTEGER ::= 16 -- Maximum number of MBMS services that can be included - -- in an MBMS counting request and response +maxServiceCount INTEGER ::= 16 -- Maximum number of MBMS services that can be included + -- in an MBMS counting request and response maxServiceCount-1 INTEGER ::= 15 maxSessionPerPMCH INTEGER ::= 29 maxSessionPerPMCH-1 INTEGER ::= 28 diff --git a/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn b/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn new file mode 100644 index 0000000000..de2e7cf05e --- /dev/null +++ b/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn @@ -0,0 +1,81 @@ +-- 3GPP TS 36.331 V12.5.0 (2015-03) +-- +EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AdditionalSpectrumEmission, + ARFCN-ValueEUTRA-r9, + FilterCoefficient, + maxSL-TxPool-r12, + P-Max, + SL-CP-Len-r12, + SL-HoppingConfigComm-r12, + SL-OffsetIndicatorSync-r12, + SL-PeriodComm-r12, + RSRP-RangeSL3-r12, + SL-TF-ResourceConfig-r12, + SL-TRPT-Subset-r12, + P0-SL-r12, + TDD-ConfigSL-r12 +FROM EUTRA-RRC-Definitions; + + +SL-Preconfiguration-r12 ::= SEQUENCE { + preconfigGeneral-r12 SL-PreconfigGeneral-r12, + preconfigSync-r12 SL-PreconfigSync-r12, + preconfigComm-r12 SL-PreconfigCommPoolList4-r12, + ... +} + +SL-PreconfigGeneral-r12 ::= SEQUENCE { + -- PDCP configuration + rohc-Profiles-r12 SEQUENCE { + profile0x0001-r12 BOOLEAN, + profile0x0002-r12 BOOLEAN, + profile0x0004-r12 BOOLEAN, + profile0x0006-r12 BOOLEAN, + profile0x0101-r12 BOOLEAN, + profile0x0102-r12 BOOLEAN, + profile0x0104-r12 BOOLEAN + }, + -- Physical configuration + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + maxTxPower-r12 P-Max, + additionalSpectrumEmission-r12 AdditionalSpectrumEmission, + sl-bandwidth-r12 ENUMERATED {n6, n15, n25, n50, n75, n100}, + tdd-ConfigSL-r12 TDD-ConfigSL-r12, + reserved-r12 BIT STRING (SIZE (19)), + ... +} + +SL-PreconfigSync-r12 ::= SEQUENCE { + syncCP-Len-r12 SL-CP-Len-r12, + syncOffsetIndicator1-r12 SL-OffsetIndicatorSync-r12, + syncOffsetIndicator2-r12 SL-OffsetIndicatorSync-r12, + syncTxParameters-r12 P0-SL-r12, + syncTxThreshOoC-r12 RSRP-RangeSL3-r12, + filterCoefficient-r12 FilterCoefficient, + syncRefMinHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12}, + syncRefDiffHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf}, + ... +} + +SL-PreconfigCommPoolList4-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommPool-r12 ::= SEQUENCE { +-- This IE is same as SL-CommResourcePool with rxParametersNCell absent + sc-CP-Len-r12 SL-CP-Len-r12, + sc-Period-r12 SL-PeriodComm-r12, + sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + sc-TxParameters-r12 P0-SL-r12, + data-CP-Len-r12 SL-CP-Len-r12, + data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + dataHoppingConfig-r12 SL-HoppingConfigComm-r12, + dataTxParameters-r12 P0-SL-r12, + trpt-Subset-r12 SL-TRPT-Subset-r12, + ... +} + +END diff --git a/asn1/lte-rrc/EUTRA-UE-Variables.asn b/asn1/lte-rrc/EUTRA-UE-Variables.asn index eb10896ae4..e17eef12d6 100644 --- a/asn1/lte-rrc/EUTRA-UE-Variables.asn +++ b/asn1/lte-rrc/EUTRA-UE-Variables.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.331 V12.4.0 (2014-12) +-- 3GPP TS 36.331 V12.5.0 (2015-03) -- EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= @@ -18,7 +18,7 @@ IMPORTS LogMeasInfo-r10, MeasCSI-RS-Id-r12, MeasId, - MeasId-v12xy, + MeasId-v1250, MeasIdToAddModList, MeasIdToAddModListExt-r12, MeasObjectToAddModList, @@ -36,7 +36,6 @@ IMPORTS QuantityConfig, ReportConfigToAddModList, RLF-Report-r9, - RSRP-Range, TargetMBSFN-AreaList-r12, TraceReference-r10, VisitedCellInfoList-r12, @@ -126,7 +125,7 @@ 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, + measId-v1250 MeasId-v1250 OPTIONAL, cellsTriggeredList CellsTriggeredList OPTIONAL, csi-RS-TriggeredList-r12 CSI-RS-TriggeredList-r12 OPTIONAL, numberOfReportsSent INTEGER @@ -168,7 +167,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 diff --git a/asn1/lte-rrc/Makefile.common b/asn1/lte-rrc/Makefile.common index 3c906bc578..518e117a42 100644 --- a/asn1/lte-rrc/Makefile.common +++ b/asn1/lte-rrc/Makefile.common @@ -24,9 +24,11 @@ EXPORT_FILES = $(PROTOCOL_NAME)-exp.cnf EXT_ASN_FILE_LIST = ASN_FILE_LIST = \ + EUTRA-InterNodeDefinitions.asn \ EUTRA-RRC-Definitions.asn \ + EUTRA-Sidelink-Preconf.asn \ EUTRA-UE-Variables.asn \ - EUTRA-InterNodeDefinitions.asn + PC5-RRC-Definitions.asn EXTRA_DIST = \ $(EXTRA_DIST_COMMON) \ diff --git a/asn1/lte-rrc/PC5-RRC-Definitions.asn b/asn1/lte-rrc/PC5-RRC-Definitions.asn new file mode 100644 index 0000000000..ad5fde27a1 --- /dev/null +++ b/asn1/lte-rrc/PC5-RRC-Definitions.asn @@ -0,0 +1,31 @@ +-- 3GPP TS 36.331 V12.5.0 (2015-03) +-- +PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + TDD-ConfigSL-r12 +FROM EUTRA-RRC-Definitions; + + +SBCCH-SL-BCH-Message ::= SEQUENCE { + message SBCCH-SL-BCH-MessageType +} + +SBCCH-SL-BCH-MessageType ::= MasterInformationBlock-SL + + +MasterInformationBlock-SL ::= SEQUENCE { + sl-Bandwidth-r12 ENUMERATED { + n6, n15, n25, n50, n75, n100}, + tdd-ConfigSL-r12 TDD-ConfigSL-r12, + directFrameNumber-r12 BIT STRING (SIZE (10)), + directSubframeNumber-r12 INTEGER (0..9), + inCoverage-r12 BOOLEAN, + reserved-r12 BIT STRING (SIZE (19)) +} + + + +END diff --git a/asn1/lte-rrc/lte-rrc.cnf b/asn1/lte-rrc/lte-rrc.cnf index fbfcd06ba9..4261813d38 100644 --- a/asn1/lte-rrc/lte-rrc.cnf +++ b/asn1/lte-rrc/lte-rrc.cnf @@ -13,11 +13,13 @@ DRX-Config/setup/drx-InactivityTimer PDCP-Config/eag_3/t-Reordering-r12 Q-OffsetRange RRM-Config/ue-InactiveTime +SIB-Type +SL-PeriodComm-r12 SupportedBandUTRA-FDD T-PollRetransmit T-Reordering T-StatusProhibit -WLAN-backhaulRate +WLAN-backhaulRate-r12 #.EXPORTS HandoverCommand @@ -44,6 +46,7 @@ UL-CCCH-Message @ul.ccch UL-DCCH-Message @ul.dcch UECapabilityInformation @ue_cap_info UE-EUTRA-Capability @ue_eutra_cap +SBCCH-SL-BCH-Message @sbcch.sl_bch #.END #.OMIT_ASSIGNMENT @@ -56,10 +59,16 @@ DRB-InfoSCG-r12 LogMeasInfoList2-r10 MeasResultServCellListSCG-r12 MeasResultServCellSCG-r12 +RSRP-RangeSL3-r12 SCellToAddModListSCG-r12 SCG-ConfigInfo-r12 SCG-ConfigInfo-r12-IEs SCG-ConfigRestrictInfo-r12 +SL-PreconfigCommPool-r12 +SL-PreconfigCommPoolList4-r12 +SL-PreconfigGeneral-r12 +SL-PreconfigSync-r12 +SL-Preconfiguration-r12 UERadioPagingInformation UERadioPagingInformation-r12-IEs VarConnEstFailReport-r11 @@ -252,7 +261,7 @@ if(ue_cap_tvb){ proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2, inter_band_tdd_ca_tvb, 1, 1, ENC_BIG_ENDIAN); } -#.FN_BODY PhyLayerParameters-v12xy/tdd-FDD-CA-PCellDuplex-r12 VAL_PTR = &pcellduplex_tvb +#.FN_BODY PhyLayerParameters-v1250/tdd-FDD-CA-PCellDuplex-r12 VAL_PTR = &pcellduplex_tvb tvbuff_t *pcellduplex_tvb=NULL; proto_tree *subtree; %(DEFAULT_BODY)s @@ -765,19 +774,19 @@ SystemInformationBlockType16-r11/timeInfo-r11/localTimeOffset-r11 DISPLAY=BASE_C proto_tree_add_time(subtree, hf_lte_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); #.TYPE_ATTR -WLAN-Id-r12/wlan-Identifiers/ssid TYPE=FT_STRING DISPLAY=STR_ASCII +WLAN-Identifiers-r12/ssid-r12 TYPE=FT_STRING DISPLAY=STR_ASCII -#.FN_BODY WLAN-Id-r12/wlan-Identifiers/ssid VAL_PTR=&ssid_tvb HF_INDEX=-1 +#.FN_BODY WLAN-Identifiers-r12/ssid-r12 VAL_PTR=&ssid_tvb HF_INDEX=-1 tvbuff_t *ssid_tvb = NULL; %(DEFAULT_BODY)s actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA); #.TYPE_ATTR -WLAN-Id-r12/wlan-Identifiers/bssid TYPE=FT_ETHER +WLAN-Identifiers-r12/bssid-r12 TYPE=FT_ETHER #.TYPE_ATTR -WLAN-Id-r12/wlan-Identifiers/hessid TYPE=FT_ETHER +WLAN-Identifiers-r12/hessid-r12 TYPE=FT_ETHER #.FN_BODY RRCConnectionReject-r8-IEs/waitTime %(DEFAULT_BODY)s @@ -805,6 +814,26 @@ RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_ %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "s"); +#.FN_BODY BLER-Result-r12/blocksReceived-r12/n-r12 VAL_PTR = &n_r12_tvb HF_INDEX = -1 + tvbuff_t *n_r12_tvb = NULL; +%(DEFAULT_BODY)s + if (n_r12_tvb) { + actx->created_item = proto_tree_add_uint(tree, hf_index, n_r12_tvb, 0, 1, tvb_get_bits8(n_r12_tvb, 0, 3)); + } + +#.TYPE_ATTR +BLER-Result-r12/blocksReceived-r12/n-r12 TYPE=FT_UINT8 DISPLAY=BASE_CUSTOM STRINGS=VALS(lte_rrc_n_r12_vals) + +#.FN_BODY BLER-Result-r12/blocksReceived-r12/m-r12 VAL_PTR = &m_r12_tvb HF_INDEX = -1 + tvbuff_t *m_r12_tvb = NULL; +%(DEFAULT_BODY)s + if (m_r12_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, m_r12_tvb, 0, 1, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +BLER-Result-r12/blocksReceived-r12/m-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=CF_FUNC(lte_rrc_m_r12_fmt) + #.TYPE_ATTR BLER-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_BLER_Range_r12_vals_ext @@ -922,11 +951,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-PersistentSubframeSet2-r12/p0-NominalPUSCH-PersistentSubframeSet2-r12 +#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-NominalPUSCH-PersistentSubframeSet2-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dBm"); -#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/p0-UE-PUSCH-PersistentSubframeSet2-r12 +#.FN_BODY SPS-ConfigUL/setup/eag_1/p0-PersistentSubframeSet2-r12/setup/p0-UE-PUSCH-PersistentSubframeSet2-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dB"); @@ -944,7 +973,7 @@ 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 +#.FN_BODY UplinkPowerControlCommonPSCell-r12/p0-NominalPUCCH-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dBm"); @@ -960,11 +989,11 @@ UplinkPowerControlCommonSCell-v11x0/deltaPreambleMsg3-r11 STRINGS=VALS(lte_rrc_d %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dB"); -#.FN_BODY UplinkPowerControlDedicated-v12x0/set2PowerControlParameter/setup/p0-NominalPUSCH-SubframeSet2-r12 +#.FN_BODY UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-NominalPUSCH-SubframeSet2-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dBm"); -#.FN_BODY UplinkPowerControlDedicated-v12x0/set2PowerControlParameter/setup/p0-UE-PUSCH-SubframeSet2-r12 +#.FN_BODY UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-UE-PUSCH-SubframeSet2-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dB"); @@ -1057,11 +1086,20 @@ ThresholdUTRA/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_thresh #.TYPE_ATTR RSRP-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRP_Range_vals_ext +#.TYPE_ATTR +RSRP-RangeSL-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL_vals) + +#.TYPE_ATTR +RSRP-RangeSL2-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL2_vals) + +#.TYPE_ATTR +RSRP-RangeSL3-r12 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_RSRP_RangeSL3_vals) + #.TYPE_ATTR RSRQ-Range DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRQ_Range_vals_ext #.TYPE_ATTR -RSRQ-Range-v12xy DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRQ_Range_vals_ext +RSRQ-Range-v1250 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRQ_Range_vals_ext #.TYPE_ATTR MeasResultForECID-r9/ue-RxTxTimeDiffResult-r9 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_ue_RxTxTimeDiffResult_fmt) @@ -1154,6 +1192,14 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17 "); +#.FN_HDR SystemInformationBlockType18-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 "); + +#.FN_HDR SystemInformationBlockType19-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 "); + #.FN_HDR MBSFNAreaConfiguration-r9 col_append_str(actx->pinfo->cinfo, COL_INFO, "MBSFNAreaConfiguration-r9"); @@ -1329,6 +1375,14 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) col_append_str(actx->pinfo->cinfo, COL_INFO, "SCGFailureInformation-r12"); +#.FN_HDR SidelinkUEInformation-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SidelinkUEInformation-r12"); + +#.FN_HDR MasterInformationBlock-SL + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock-SL"); + #.FN_BODY Paging/systemInfoModification %(DEFAULT_BODY)s col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification)"); @@ -1451,7 +1505,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) } } -#.FN_BODY RLC-Config-v12xy/ul-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field +#.FN_BODY RLC-Config-v1250/ul-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field gboolean ext_li_field; drb_mapping_t *mapping = private_data_get_drb_mapping(actx); %(DEFAULT_BODY)s @@ -1459,7 +1513,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) mapping->rlc_ul_ext_li_field = ext_li_field; } -#.FN_BODY RLC-Config-v12xy/dl-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field +#.FN_BODY RLC-Config-v1250/dl-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field gboolean ext_li_field; drb_mapping_t *mapping = private_data_get_drb_mapping(actx); %(DEFAULT_BODY)s @@ -1567,7 +1621,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) /* Reset again */ private_data_set_ra_preambles(actx, 0); -#.FN_BODY RACH-ConfigCommon-v12xy/txFailParams-r12/connEstFailOffset-r12 +#.FN_BODY RACH-ConfigCommon-v1250/txFailParams-r12/connEstFailOffset-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, "dB"); @@ -1868,6 +1922,10 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, " (BSS load)"); -#.FN_BODY WLAN-backhaulRate +#.FN_BODY WLAN-backhaulRate-r12 %(DEFAULT_BODY)s proto_item_append_text(actx->created_item, " Kbps"); + +#.FN_BODY P0-SL-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); diff --git a/asn1/lte-rrc/packet-lte-rrc-template.c b/asn1/lte-rrc/packet-lte-rrc-template.c index 8812bed4d2..f9cc583e36 100644 --- a/asn1/lte-rrc/packet-lte-rrc-template.c +++ b/asn1/lte-rrc/packet-lte-rrc-template.c @@ -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 V12.4.0 Release 12) packet dissection + * (3GPP TS 36.331 V12.5.0 Release 12) packet dissection * Copyright 2008, Vincent Helfre * Copyright 2009-2015, Pascal Quantin * @@ -730,6 +730,28 @@ 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_n_r12_vals[] = { + { 0, "0 <= Nr < 256"}, + { 1, "256 <= Nr < 768"}, + { 2, "768 <= Nr < 1792"}, + { 3, "1792 <= Nr < 3840"}, + { 4, "3840 <= Nr < 7936"}, + { 5, "7936 <= Nr < 16128"}, + { 6, "16128 <= Nr < 32512"}, + { 7, "32512 <= Nr"}, + { 0, NULL}, +}; + +static void +lte_rrc_m_r12_fmt(gchar *s, guint32 v) +{ + if (v == 255) { + g_snprintf(s, ITEM_LABEL_LENGTH, "255 <= f(Nr) (255)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%u <= f(Nr) < %u (%u)", v, v+1, v); + } +} + static const value_string lte_rrc_BLER_Range_r12_vals[] = { { 0, "BLER < 0.1%"}, { 1, "0.1% <= BLER < 0.123%"}, @@ -1766,6 +1788,54 @@ 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_RSRP_RangeSL_vals[] = { + { 0, "-infinity"}, + { 1, "-115dBm"}, + { 2, "-110dBm"}, + { 3, "-105dBm"}, + { 4, "-100dBm"}, + { 5, "-95dBm"}, + { 6, "-90dBm"}, + { 7, "-85dBm"}, + { 8, "-80dBm"}, + { 9, "-75dBm"}, + { 10, "-70dBm"}, + { 11, "-65dBm"}, + { 12, "-60dBm"}, + { 13, "+infinity"}, + { 0, NULL} +}; + +static const value_string lte_rrc_RSRP_RangeSL2_vals[] = { + { 0, "-infinity"}, + { 1, "-110dBm"}, + { 2, "-100dBm"}, + { 3, "-90dBm"}, + { 4, "-80dBm"}, + { 5, "-70dBm"}, + { 6, "-60dBm"}, + { 7, "+infinity"}, + { 0, NULL} +}; + +#if 0 +static const value_string lte_rrc_RSRP_RangeSL3_vals[] = { + { 0, "-110dBm"}, + { 1, "-105dBm"}, + { 2, "-100dBm"}, + { 3, "-95dBm"}, + { 4, "-90dBm"}, + { 5, "-85dBm"}, + { 6, "-80dBm"}, + { 7, "-75dBm"}, + { 8, "-70dBm"}, + { 9, "-65dBm"}, + { 10, "-60dBm"}, + { 11, "+infinity"}, + { 0, NULL} +}; +#endif + static const value_string lte_rrc_RSRQ_Range_vals[] = { {-34, "RSRQ < -36dB"}, {-33, "-36dB <= RSRQ < -35.5dB"}, diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index 114b9e367e..9b6ac68e39 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-lte-rrc.c */ -/* ../../tools/asn2wrs.py -L -p lte-rrc -c ./lte-rrc.cnf -s ./packet-lte-rrc-template -D . -O ../../epan/dissectors EUTRA-RRC-Definitions.asn EUTRA-UE-Variables.asn EUTRA-InterNodeDefinitions.asn */ +/* ../../tools/asn2wrs.py -L -p lte-rrc -c ./lte-rrc.cnf -s ./packet-lte-rrc-template -D . -O ../../epan/dissectors EUTRA-InterNodeDefinitions.asn EUTRA-RRC-Definitions.asn EUTRA-Sidelink-Preconf.asn EUTRA-UE-Variables.asn PC5-RRC-Definitions.asn */ /* Input file: packet-lte-rrc-template.c */ @@ -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 V12.4.0 Release 12) packet dissection + * (3GPP TS 36.331 V12.5.0 Release 12) packet dissection * Copyright 2008, Vincent Helfre * Copyright 2009-2015, Pascal Quantin * @@ -83,6 +83,7 @@ extern int proto_pdcp_lte; /*--- Included file: packet-lte-rrc-val.h ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-val.h" +#define maxReestabInfo 32 #define maxBandComb_r10 128 #define maxBandComb_r11 256 #define maxBands 64 @@ -144,6 +145,12 @@ extern int proto_pdcp_lte; #define maxRSTD_Freq_r10 3 #define maxSAI_MBMS_r11 64 #define maxSCell_r10 4 +#define maxSL_Dest_r12 16 +#define maxSL_DiscPowerClass_r12 3 +#define maxSL_RxPool_r12 16 +#define maxSL_SyncConfig_r12 16 +#define maxSL_TF_IndexPair_r12 64 +#define maxSL_TxPool_r12 4 #define maxSTAG_r11 3 #define maxServCell_r10 5 #define maxServiceCount 16 @@ -159,7 +166,17 @@ extern int proto_pdcp_lte; #define maxUTRA_TDD_Carrier 16 #define maxWLAN_Id_r12 16 #define maxLogMeas_r10 4060 -#define maxReestabInfo 32 + +typedef enum _RAT_Type_enum { + RAT_Type_eutra = 0, + RAT_Type_utra = 1, + RAT_Type_geran_cs = 2, + RAT_Type_geran_ps = 3, + RAT_Type_cdma2000_1XRTT = 4, + RAT_Type_spare3 = 5, + RAT_Type_spare2 = 6, + RAT_Type_spare1 = 7 +} RAT_Type_enum; typedef enum _T_targetRAT_Type_enum { T_targetRAT_Type_utra = 0, @@ -177,17 +194,6 @@ typedef enum _SI_OrPSI_GERAN_enum { SI_OrPSI_GERAN_psi = 1 } SI_OrPSI_GERAN_enum; -typedef enum _RAT_Type_enum { - RAT_Type_eutra = 0, - RAT_Type_utra = 1, - RAT_Type_geran_cs = 2, - RAT_Type_geran_ps = 3, - RAT_Type_cdma2000_1XRTT = 4, - RAT_Type_spare3 = 5, - RAT_Type_spare2 = 6, - RAT_Type_spare1 = 7 -} RAT_Type_enum; - /*--- End of included file: packet-lte-rrc-val.h ---*/ #line 76 "../../asn1/lte-rrc/packet-lte-rrc-template.c" @@ -197,6 +203,9 @@ static int proto_lte_rrc = -1; /*--- Included file: packet-lte-rrc-hf.c ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-hf.c" +static int hf_lte_rrc_lte_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */ +static int hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ +static int hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU = -1; /* UERadioAccessCapabilityInformation */ static int hf_lte_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */ static int hf_lte_rrc_BCCH_DL_SCH_Message_PDU = -1; /* BCCH_DL_SCH_Message */ static int hf_lte_rrc_MCCH_Message_PDU = -1; /* MCCH_Message */ @@ -207,9 +216,12 @@ static int hf_lte_rrc_UL_CCCH_Message_PDU = -1; /* UL_CCCH_Message */ static int hf_lte_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */ static int hf_lte_rrc_UECapabilityInformation_PDU = -1; /* UECapabilityInformation */ static int hf_lte_rrc_lte_rrc_UE_EUTRA_Capability_PDU = -1; /* UE_EUTRA_Capability */ -static int hf_lte_rrc_lte_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */ -static int hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ -static int hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU = -1; /* UERadioAccessCapabilityInformation */ +static int hf_lte_rrc_SBCCH_SL_BCH_Message_PDU = -1; /* SBCCH_SL_BCH_Message */ +static int hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU = -1; /* SystemInformationBlockType1_v890_IEs */ +static int hf_lte_rrc_InDeviceCoexIndication_r11_PDU = -1; /* InDeviceCoexIndication_r11 */ +static int hf_lte_rrc_MBMSInterestIndication_r11_PDU = -1; /* MBMSInterestIndication_r11 */ +static int hf_lte_rrc_UEAssistanceInformation_r11_PDU = -1; /* UEAssistanceInformation_r11 */ +static int hf_lte_rrc_SidelinkUEInformation_r12_PDU = -1; /* SidelinkUEInformation_r12 */ static int hf_lte_rrc_SystemInformationBlockType1_PDU = -1; /* SystemInformationBlockType1 */ static int hf_lte_rrc_RRCConnectionRelease_v9e0_IEs_PDU = -1; /* RRCConnectionRelease_v9e0_IEs */ static int hf_lte_rrc_SystemInformationBlockType1_v8h0_IEs_PDU = -1; /* SystemInformationBlockType1_v8h0_IEs */ @@ -218,36 +230,115 @@ static int hf_lte_rrc_SystemInformationBlockType2_v8h0_IEs_PDU = -1; /* SystemI static int hf_lte_rrc_SystemInformationBlockType5_v8h0_IEs_PDU = -1; /* SystemInformationBlockType5_v8h0_IEs */ static int hf_lte_rrc_SystemInformationBlockType6_v8h0_IEs_PDU = -1; /* SystemInformationBlockType6_v8h0_IEs */ static int hf_lte_rrc_UE_EUTRA_Capability_v9a0_IEs_PDU = -1; /* UE_EUTRA_Capability_v9a0_IEs */ -static int hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU = -1; /* SystemInformationBlockType1_v890_IEs */ -static int hf_lte_rrc_InDeviceCoexIndication_r11_PDU = -1; /* InDeviceCoexIndication_r11 */ -static int hf_lte_rrc_MBMSInterestIndication_r11_PDU = -1; /* MBMSInterestIndication_r11 */ -static int hf_lte_rrc_UEAssistanceInformation_r11_PDU = -1; /* UEAssistanceInformation_r11 */ +static int hf_lte_rrc_criticalExtensions = -1; /* T_criticalExtensions */ +static int hf_lte_rrc_c1 = -1; /* T_c1 */ +static int hf_lte_rrc_handoverCommand_r8 = -1; /* HandoverCommand_r8_IEs */ +static int hf_lte_rrc_spare7 = -1; /* NULL */ +static int hf_lte_rrc_spare6 = -1; /* NULL */ +static int hf_lte_rrc_spare5 = -1; /* NULL */ +static int hf_lte_rrc_spare4 = -1; /* NULL */ +static int hf_lte_rrc_spare3 = -1; /* NULL */ +static int hf_lte_rrc_spare2 = -1; /* NULL */ +static int hf_lte_rrc_spare1 = -1; /* NULL */ +static int hf_lte_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */ +static int hf_lte_rrc_handoverCommandMessage = -1; /* T_handoverCommandMessage */ +static int hf_lte_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */ +static int hf_lte_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */ +static int hf_lte_rrc_c1_01 = -1; /* T_c1_01 */ +static int hf_lte_rrc_handoverPreparationInformation_r8 = -1; /* HandoverPreparationInformation_r8_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */ +static int hf_lte_rrc_ue_RadioAccessCapabilityInfo = -1; /* UE_CapabilityRAT_ContainerList */ +static int hf_lte_rrc_as_Config = -1; /* AS_Config */ +static int hf_lte_rrc_rrm_Config = -1; /* RRM_Config */ +static int hf_lte_rrc_as_Context = -1; /* AS_Context */ +static int hf_lte_rrc_nonCriticalExtension_01 = -1; /* HandoverPreparationInformation_v920_IEs */ +static int hf_lte_rrc_ue_ConfigRelease_r9 = -1; /* T_ue_ConfigRelease_r9 */ +static int hf_lte_rrc_nonCriticalExtension_02 = -1; /* HandoverPreparationInformation_v9d0_IEs */ +static int hf_lte_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */ +static int hf_lte_rrc_nonCriticalExtension_03 = -1; /* HandoverPreparationInformation_v9e0_IEs */ +static int hf_lte_rrc_as_Config_v9e0 = -1; /* AS_Config_v9e0 */ +static int hf_lte_rrc_nonCriticalExtension_04 = -1; /* HandoverPreparationInformation_v1130_IEs */ +static int hf_lte_rrc_as_Context_v1130 = -1; /* AS_Context_v1130 */ +static int hf_lte_rrc_nonCriticalExtension_05 = -1; /* HandoverPreparationInformation_v1250_IEs */ +static int hf_lte_rrc_ue_SupportedEARFCN_r12 = -1; /* ARFCN_ValueEUTRA_r9 */ +static int hf_lte_rrc_as_Config_v1250 = -1; /* AS_Config_v1250 */ +static int hf_lte_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_01 */ +static int hf_lte_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */ +static int hf_lte_rrc_c1_02 = -1; /* T_c1_02 */ +static int hf_lte_rrc_scg_Config_r12 = -1; /* SCG_Config_r12_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */ +static int hf_lte_rrc_scg_RadioConfig_r12 = -1; /* SCG_ConfigPartSCG_r12 */ +static int hf_lte_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_02 */ +static int hf_lte_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */ +static int hf_lte_rrc_c1_03 = -1; /* T_c1_03 */ +static int hf_lte_rrc_ueRadioAccessCapabilityInformation_r8 = -1; /* UERadioAccessCapabilityInformation_r8_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */ +static int hf_lte_rrc_ue_RadioAccessCapabilityInfo_01 = -1; /* T_ue_RadioAccessCapabilityInfo */ +static int hf_lte_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_03 */ +static int hf_lte_rrc_sourceMeasConfig = -1; /* MeasConfig */ +static int hf_lte_rrc_sourceRadioResourceConfig = -1; /* RadioResourceConfigDedicated */ +static int hf_lte_rrc_sourceSecurityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */ +static int hf_lte_rrc_sourceUE_Identity = -1; /* C_RNTI */ +static int hf_lte_rrc_sourceMasterInformationBlock = -1; /* MasterInformationBlock */ +static int hf_lte_rrc_sourceSystemInformationBlockType1 = -1; /* SystemInformationBlockType1 */ +static int hf_lte_rrc_sourceSystemInformationBlockType2 = -1; /* SystemInformationBlockType2 */ +static int hf_lte_rrc_antennaInfoCommon = -1; /* AntennaInfoCommon */ +static int hf_lte_rrc_sourceDl_CarrierFreq = -1; /* ARFCN_ValueEUTRA */ +static int hf_lte_rrc_sourceSystemInformationBlockType1Ext = -1; /* T_sourceSystemInformationBlockType1Ext */ +static int hf_lte_rrc_sourceOtherConfig_r9 = -1; /* OtherConfig_r9 */ +static int hf_lte_rrc_sourceSCellConfigList_r10 = -1; /* SCellToAddModList_r10 */ +static int hf_lte_rrc_sourceConfigSCG_r12 = -1; /* SCG_Config_r12 */ +static int hf_lte_rrc_sourceDl_CarrierFreq_v9e0 = -1; /* ARFCN_ValueEUTRA_v9e0 */ +static int hf_lte_rrc_sourceWlan_OffloadConfig_r12 = -1; /* WLAN_OffloadConfig_r12 */ +static int hf_lte_rrc_sourceSL_CommConfig_r12 = -1; /* SL_CommConfig_r12 */ +static int hf_lte_rrc_sourceSL_DiscConfig_r12 = -1; /* SL_DiscConfig_r12 */ +static int hf_lte_rrc_reestablishmentInfo = -1; /* ReestablishmentInfo */ +static int hf_lte_rrc_idc_Indication_r11 = -1; /* T_idc_Indication_r11 */ +static int hf_lte_rrc_mbmsInterestIndication_r11 = -1; /* T_mbmsInterestIndication_r11 */ +static int hf_lte_rrc_powerPrefIndication_r11 = -1; /* T_powerPrefIndication_r11 */ +static int hf_lte_rrc_sidelinkUEInformation_r12 = -1; /* T_sidelinkUEInformation_r12 */ +static int hf_lte_rrc_sourcePhysCellId = -1; /* PhysCellId */ +static int hf_lte_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */ +static int hf_lte_rrc_additionalReestabInfoList = -1; /* AdditionalReestabInfoList */ +static int hf_lte_rrc_AdditionalReestabInfoList_item = -1; /* AdditionalReestabInfo */ +static int hf_lte_rrc_cellIdentity = -1; /* CellIdentity */ +static int hf_lte_rrc_key_eNodeB_Star = -1; /* Key_eNodeB_Star */ +static int hf_lte_rrc_shortMAC_I = -1; /* ShortMAC_I */ +static int hf_lte_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */ +static int hf_lte_rrc_candidateCellInfoList_r10 = -1; /* CandidateCellInfoList_r10 */ +static int hf_lte_rrc_CandidateCellInfoList_r10_item = -1; /* CandidateCellInfo_r10 */ +static int hf_lte_rrc_physCellId_r10 = -1; /* PhysCellId */ +static int hf_lte_rrc_dl_CarrierFreq_r10 = -1; /* ARFCN_ValueEUTRA */ +static int hf_lte_rrc_rsrpResult_r10 = -1; /* RSRP_Range */ +static int hf_lte_rrc_rsrqResult_r10 = -1; /* RSRQ_Range */ +static int hf_lte_rrc_dl_CarrierFreq_v1090 = -1; /* ARFCN_ValueEUTRA_v9e0 */ +static int hf_lte_rrc_rsrqResult_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_message = -1; /* BCCH_BCH_MessageType */ static int hf_lte_rrc_message_01 = -1; /* BCCH_DL_SCH_MessageType */ -static int hf_lte_rrc_c1 = -1; /* T_c1 */ +static int hf_lte_rrc_c1_04 = -1; /* T_c1_04 */ static int hf_lte_rrc_systemInformation = -1; /* SystemInformation */ static int hf_lte_rrc_systemInformationBlockType1 = -1; /* SystemInformationBlockType1 */ static int hf_lte_rrc_messageClassExtension = -1; /* T_messageClassExtension */ static int hf_lte_rrc_message_02 = -1; /* MCCH_MessageType */ -static int hf_lte_rrc_c1_01 = -1; /* T_c1_01 */ +static int hf_lte_rrc_c1_05 = -1; /* T_c1_05 */ static int hf_lte_rrc_mbsfnAreaConfiguration_r9 = -1; /* MBSFNAreaConfiguration_r9 */ static int hf_lte_rrc_later = -1; /* T_later */ static int hf_lte_rrc_c2 = -1; /* T_c2 */ static int hf_lte_rrc_mbmsCountingRequest_r10 = -1; /* MBMSCountingRequest_r10 */ static int hf_lte_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */ static int hf_lte_rrc_message_03 = -1; /* PCCH_MessageType */ -static int hf_lte_rrc_c1_02 = -1; /* T_c1_02 */ +static int hf_lte_rrc_c1_06 = -1; /* T_c1_06 */ static int hf_lte_rrc_paging = -1; /* Paging */ static int hf_lte_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */ static int hf_lte_rrc_message_04 = -1; /* DL_CCCH_MessageType */ -static int hf_lte_rrc_c1_03 = -1; /* T_c1_03 */ +static int hf_lte_rrc_c1_07 = -1; /* T_c1_07 */ static int hf_lte_rrc_rrcConnectionReestablishment = -1; /* RRCConnectionReestablishment */ static int hf_lte_rrc_rrcConnectionReestablishmentReject = -1; /* RRCConnectionReestablishmentReject */ static int hf_lte_rrc_rrcConnectionReject = -1; /* RRCConnectionReject */ static int hf_lte_rrc_rrcConnectionSetup = -1; /* RRCConnectionSetup */ static int hf_lte_rrc_messageClassExtension_03 = -1; /* T_messageClassExtension_03 */ static int hf_lte_rrc_message_05 = -1; /* DL_DCCH_MessageType */ -static int hf_lte_rrc_c1_04 = -1; /* T_c1_04 */ +static int hf_lte_rrc_c1_08 = -1; /* T_c1_08 */ static int hf_lte_rrc_csfbParametersResponseCDMA2000 = -1; /* CSFBParametersResponseCDMA2000 */ static int hf_lte_rrc_dlInformationTransfer = -1; /* DLInformationTransfer */ static int hf_lte_rrc_handoverFromEUTRAPreparationRequest = -1; /* HandoverFromEUTRAPreparationRequest */ @@ -260,18 +351,14 @@ static int hf_lte_rrc_counterCheck = -1; /* CounterCheck */ static int hf_lte_rrc_ueInformationRequest_r9 = -1; /* UEInformationRequest_r9 */ static int hf_lte_rrc_loggedMeasurementConfiguration_r10 = -1; /* LoggedMeasurementConfiguration_r10 */ static int hf_lte_rrc_rnReconfiguration_r10 = -1; /* RNReconfiguration_r10 */ -static int hf_lte_rrc_spare4 = -1; /* NULL */ -static int hf_lte_rrc_spare3 = -1; /* NULL */ -static int hf_lte_rrc_spare2 = -1; /* NULL */ -static int hf_lte_rrc_spare1 = -1; /* NULL */ static int hf_lte_rrc_messageClassExtension_04 = -1; /* T_messageClassExtension_04 */ static int hf_lte_rrc_message_06 = -1; /* UL_CCCH_MessageType */ -static int hf_lte_rrc_c1_05 = -1; /* T_c1_05 */ +static int hf_lte_rrc_c1_09 = -1; /* T_c1_09 */ static int hf_lte_rrc_rrcConnectionReestablishmentRequest = -1; /* RRCConnectionReestablishmentRequest */ static int hf_lte_rrc_rrcConnectionRequest = -1; /* RRCConnectionRequest */ static int hf_lte_rrc_messageClassExtension_05 = -1; /* T_messageClassExtension_05 */ static int hf_lte_rrc_message_07 = -1; /* UL_DCCH_MessageType */ -static int hf_lte_rrc_c1_06 = -1; /* T_c1_06 */ +static int hf_lte_rrc_c1_10 = -1; /* T_c1_10 */ static int hf_lte_rrc_csfbParametersRequestCDMA2000 = -1; /* CSFBParametersRequestCDMA2000 */ static int hf_lte_rrc_measurementReport = -1; /* MeasurementReport */ static int hf_lte_rrc_rrcConnectionReconfigurationComplete = -1; /* RRCConnectionReconfigurationComplete */ @@ -292,80 +379,76 @@ static int hf_lte_rrc_messageClassExtension_06 = -1; /* T_messageClassExtension static int hf_lte_rrc_c2_01 = -1; /* T_c2_01 */ static int hf_lte_rrc_ueAssistanceInformation_r11 = -1; /* UEAssistanceInformation_r11 */ static int hf_lte_rrc_inDeviceCoexIndication_r11 = -1; /* InDeviceCoexIndication_r11 */ -static int hf_lte_rrc_mbmsInterestIndication_r11 = -1; /* MBMSInterestIndication_r11 */ +static int hf_lte_rrc_mbmsInterestIndication_r11_01 = -1; /* MBMSInterestIndication_r11 */ static int hf_lte_rrc_scgFailureInformation_r12 = -1; /* SCGFailureInformation_r12 */ -static int hf_lte_rrc_spare12 = -1; /* NULL */ +static int hf_lte_rrc_sidelinkUEInformation_r12_01 = -1; /* SidelinkUEInformation_r12 */ static int hf_lte_rrc_spare11 = -1; /* NULL */ static int hf_lte_rrc_spare10 = -1; /* NULL */ static int hf_lte_rrc_spare9 = -1; /* NULL */ static int hf_lte_rrc_spare8 = -1; /* NULL */ -static int hf_lte_rrc_spare7 = -1; /* NULL */ -static int hf_lte_rrc_spare6 = -1; /* NULL */ -static int hf_lte_rrc_spare5 = -1; /* NULL */ static int hf_lte_rrc_messageClassExtensionFuture_r11 = -1; /* T_messageClassExtensionFuture_r11 */ static int hf_lte_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */ -static int hf_lte_rrc_criticalExtensions = -1; /* T_criticalExtensions */ -static int hf_lte_rrc_c1_07 = -1; /* T_c1_07 */ +static int hf_lte_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */ +static int hf_lte_rrc_c1_11 = -1; /* T_c1_11 */ static int hf_lte_rrc_counterCheck_r8 = -1; /* CounterCheck_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */ +static int hf_lte_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ static int hf_lte_rrc_drb_CountMSB_InfoList = -1; /* DRB_CountMSB_InfoList */ -static int hf_lte_rrc_nonCriticalExtension = -1; /* CounterCheck_v8a0_IEs */ -static int hf_lte_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */ -static int hf_lte_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension */ +static int hf_lte_rrc_nonCriticalExtension_09 = -1; /* CounterCheck_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_04 */ static int hf_lte_rrc_DRB_CountMSB_InfoList_item = -1; /* DRB_CountMSB_Info */ static int hf_lte_rrc_drb_Identity = -1; /* DRB_Identity */ static int hf_lte_rrc_countMSB_Uplink = -1; /* INTEGER_0_33554431 */ static int hf_lte_rrc_countMSB_Downlink = -1; /* INTEGER_0_33554431 */ -static int hf_lte_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */ +static int hf_lte_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */ static int hf_lte_rrc_counterCheckResponse_r8 = -1; /* CounterCheckResponse_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */ +static int hf_lte_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */ static int hf_lte_rrc_drb_CountInfoList = -1; /* DRB_CountInfoList */ -static int hf_lte_rrc_nonCriticalExtension_02 = -1; /* CounterCheckResponse_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_01 */ +static int hf_lte_rrc_nonCriticalExtension_11 = -1; /* CounterCheckResponse_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_12 = -1; /* T_nonCriticalExtension_05 */ static int hf_lte_rrc_DRB_CountInfoList_item = -1; /* DRB_CountInfo */ static int hf_lte_rrc_count_Uplink = -1; /* INTEGER_0_4294967295 */ static int hf_lte_rrc_count_Downlink = -1; /* INTEGER_0_4294967295 */ -static int hf_lte_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */ +static int hf_lte_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */ static int hf_lte_rrc_csfbParametersRequestCDMA2000_r8 = -1; /* CSFBParametersRequestCDMA2000_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */ -static int hf_lte_rrc_nonCriticalExtension_04 = -1; /* CSFBParametersRequestCDMA2000_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_02 */ -static int hf_lte_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */ +static int hf_lte_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */ +static int hf_lte_rrc_nonCriticalExtension_13 = -1; /* CSFBParametersRequestCDMA2000_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_14 = -1; /* T_nonCriticalExtension_06 */ +static int hf_lte_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */ static int hf_lte_rrc_csfbParametersResponseCDMA2000_r8 = -1; /* CSFBParametersResponseCDMA2000_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */ +static int hf_lte_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */ static int hf_lte_rrc_rand = -1; /* RAND_CDMA2000 */ static int hf_lte_rrc_mobilityParameters = -1; /* MobilityParametersCDMA2000 */ -static int hf_lte_rrc_nonCriticalExtension_06 = -1; /* CSFBParametersResponseCDMA2000_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_03 */ -static int hf_lte_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */ -static int hf_lte_rrc_c1_08 = -1; /* T_c1_08 */ +static int hf_lte_rrc_nonCriticalExtension_15 = -1; /* CSFBParametersResponseCDMA2000_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_16 = -1; /* T_nonCriticalExtension_07 */ +static int hf_lte_rrc_criticalExtensions_08 = -1; /* T_criticalExtensions_08 */ +static int hf_lte_rrc_c1_12 = -1; /* T_c1_12 */ static int hf_lte_rrc_dlInformationTransfer_r8 = -1; /* DLInformationTransfer_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ +static int hf_lte_rrc_criticalExtensionsFuture_08 = -1; /* T_criticalExtensionsFuture_08 */ static int hf_lte_rrc_dedicatedInfoType = -1; /* T_dedicatedInfoType */ static int hf_lte_rrc_dedicatedInfoNAS = -1; /* DedicatedInfoNAS */ static int hf_lte_rrc_dedicatedInfoCDMA2000_1XRTT = -1; /* DedicatedInfoCDMA2000 */ static int hf_lte_rrc_dedicatedInfoCDMA2000_HRPD = -1; /* DedicatedInfoCDMA2000 */ -static int hf_lte_rrc_nonCriticalExtension_08 = -1; /* DLInformationTransfer_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_09 = -1; /* T_nonCriticalExtension_04 */ -static int hf_lte_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */ -static int hf_lte_rrc_c1_09 = -1; /* T_c1_09 */ +static int hf_lte_rrc_nonCriticalExtension_17 = -1; /* DLInformationTransfer_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_18 = -1; /* T_nonCriticalExtension_08 */ +static int hf_lte_rrc_criticalExtensions_09 = -1; /* T_criticalExtensions_09 */ +static int hf_lte_rrc_c1_13 = -1; /* T_c1_13 */ static int hf_lte_rrc_handoverFromEUTRAPreparationRequest_r8 = -1; /* HandoverFromEUTRAPreparationRequest_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */ +static int hf_lte_rrc_criticalExtensionsFuture_09 = -1; /* T_criticalExtensionsFuture_09 */ static int hf_lte_rrc_cdma2000_Type = -1; /* CDMA2000_Type */ -static int hf_lte_rrc_nonCriticalExtension_10 = -1; /* HandoverFromEUTRAPreparationRequest_v890_IEs */ -static int hf_lte_rrc_nonCriticalExtension_11 = -1; /* HandoverFromEUTRAPreparationRequest_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_19 = -1; /* HandoverFromEUTRAPreparationRequest_v890_IEs */ +static int hf_lte_rrc_nonCriticalExtension_20 = -1; /* HandoverFromEUTRAPreparationRequest_v920_IEs */ static int hf_lte_rrc_concurrPrepCDMA2000_HRPD_r9 = -1; /* BOOLEAN */ -static int hf_lte_rrc_nonCriticalExtension_12 = -1; /* HandoverFromEUTRAPreparationRequest_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_21 = -1; /* HandoverFromEUTRAPreparationRequest_v1020_IEs */ static int hf_lte_rrc_dualRxTxRedirectIndicator_r10 = -1; /* T_dualRxTxRedirectIndicator_r10 */ static int hf_lte_rrc_redirectCarrierCDMA2000_1XRTT_r10 = -1; /* CarrierFreqCDMA2000 */ -static int hf_lte_rrc_nonCriticalExtension_13 = -1; /* T_nonCriticalExtension_05 */ -static int hf_lte_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */ -static int hf_lte_rrc_c1_10 = -1; /* T_c1_10 */ +static int hf_lte_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_09 */ +static int hf_lte_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */ +static int hf_lte_rrc_c1_14 = -1; /* T_c1_14 */ static int hf_lte_rrc_inDeviceCoexIndication_r11_01 = -1; /* InDeviceCoexIndication_r11_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */ +static int hf_lte_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */ static int hf_lte_rrc_affectedCarrierFreqList_r11 = -1; /* AffectedCarrierFreqList_r11 */ static int hf_lte_rrc_tdm_AssistanceInfo_r11 = -1; /* TDM_AssistanceInfo_r11 */ -static int hf_lte_rrc_nonCriticalExtension_14 = -1; /* T_nonCriticalExtension_06 */ +static int hf_lte_rrc_nonCriticalExtension_23 = -1; /* T_nonCriticalExtension_10 */ static int hf_lte_rrc_AffectedCarrierFreqList_r11_item = -1; /* AffectedCarrierFreq_r11 */ static int hf_lte_rrc_carrierFreq_r11 = -1; /* MeasObjectId */ static int hf_lte_rrc_interferenceDirection_r11 = -1; /* T_interferenceDirection_r11 */ @@ -380,23 +463,23 @@ static int hf_lte_rrc_subframePatternTDD_r11 = -1; /* T_subframePatternTDD_r11 static int hf_lte_rrc_subframeConfig0_r11 = -1; /* BIT_STRING_SIZE_70 */ static int hf_lte_rrc_subframeConfig1_5_r11 = -1; /* BIT_STRING_SIZE_10 */ static int hf_lte_rrc_subframeConfig6_r11 = -1; /* BIT_STRING_SIZE_60 */ -static int hf_lte_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */ -static int hf_lte_rrc_c1_11 = -1; /* T_c1_11 */ +static int hf_lte_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */ +static int hf_lte_rrc_c1_15 = -1; /* T_c1_15 */ static int hf_lte_rrc_interFreqRSTDMeasurementIndication_r10_01 = -1; /* InterFreqRSTDMeasurementIndication_r10_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */ +static int hf_lte_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */ static int hf_lte_rrc_rstd_InterFreqIndication_r10 = -1; /* T_rstd_InterFreqIndication_r10 */ static int hf_lte_rrc_start = -1; /* T_start */ static int hf_lte_rrc_rstd_InterFreqInfoList_r10 = -1; /* RSTD_InterFreqInfoList_r10 */ static int hf_lte_rrc_stop = -1; /* NULL */ -static int hf_lte_rrc_nonCriticalExtension_15 = -1; /* T_nonCriticalExtension_07 */ +static int hf_lte_rrc_nonCriticalExtension_24 = -1; /* T_nonCriticalExtension_11 */ static int hf_lte_rrc_RSTD_InterFreqInfoList_r10_item = -1; /* RSTD_InterFreqInfo_r10 */ static int hf_lte_rrc_carrierFreq_r10 = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_measPRS_Offset_r10 = -1; /* INTEGER_0_39 */ static int hf_lte_rrc_carrierFreq_v1090 = -1; /* ARFCN_ValueEUTRA_v9e0 */ -static int hf_lte_rrc_criticalExtensions_08 = -1; /* T_criticalExtensions_08 */ -static int hf_lte_rrc_c1_12 = -1; /* T_c1_12 */ +static int hf_lte_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */ +static int hf_lte_rrc_c1_16 = -1; /* T_c1_16 */ static int hf_lte_rrc_loggedMeasurementConfiguration_r10_01 = -1; /* LoggedMeasurementConfiguration_r10_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_08 = -1; /* T_criticalExtensionsFuture_08 */ +static int hf_lte_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */ static int hf_lte_rrc_traceReference_r10 = -1; /* TraceReference_r10 */ static int hf_lte_rrc_traceRecordingSessionRef_r10 = -1; /* OCTET_STRING_SIZE_2 */ static int hf_lte_rrc_tce_Id_r10 = -1; /* OCTET_STRING_SIZE_1 */ @@ -404,74 +487,74 @@ static int hf_lte_rrc_absoluteTimeInfo_r10 = -1; /* AbsoluteTimeInfo_r10 */ static int hf_lte_rrc_areaConfiguration_r10 = -1; /* AreaConfiguration_r10 */ static int hf_lte_rrc_loggingDuration_r10 = -1; /* LoggingDuration_r10 */ static int hf_lte_rrc_loggingInterval_r10 = -1; /* LoggingInterval_r10 */ -static int hf_lte_rrc_nonCriticalExtension_16 = -1; /* LoggedMeasurementConfiguration_v1080_IEs */ +static int hf_lte_rrc_nonCriticalExtension_25 = -1; /* LoggedMeasurementConfiguration_v1080_IEs */ static int hf_lte_rrc_lateNonCriticalExtension_r10 = -1; /* OCTET_STRING */ -static int hf_lte_rrc_nonCriticalExtension_17 = -1; /* LoggedMeasurementConfiguration_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_26 = -1; /* LoggedMeasurementConfiguration_v1130_IEs */ static int hf_lte_rrc_plmn_IdentityList_r11 = -1; /* PLMN_IdentityList3_r11 */ static int hf_lte_rrc_areaConfiguration_v1130 = -1; /* AreaConfiguration_v1130 */ -static int hf_lte_rrc_nonCriticalExtension_18 = -1; /* LoggedMeasurementConfiguration_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_27 = -1; /* LoggedMeasurementConfiguration_v1250_IEs */ static int hf_lte_rrc_targetMBSFN_AreaList_r12 = -1; /* TargetMBSFN_AreaList_r12 */ -static int hf_lte_rrc_nonCriticalExtension_19 = -1; /* T_nonCriticalExtension_08 */ +static int hf_lte_rrc_nonCriticalExtension_28 = -1; /* T_nonCriticalExtension_12 */ static int hf_lte_rrc_TargetMBSFN_AreaList_r12_item = -1; /* TargetMBSFN_Area_r12 */ -static int hf_lte_rrc_mbsfn_AreaId_r12 = -1; /* INTEGER_0_255 */ +static int hf_lte_rrc_mbsfn_AreaId_r12 = -1; /* MBSFN_AreaId_r12 */ static int hf_lte_rrc_carrierFreq_r12 = -1; /* ARFCN_ValueEUTRA_r9 */ static int hf_lte_rrc_dl_Bandwidth = -1; /* T_dl_Bandwidth */ static int hf_lte_rrc_phich_Config = -1; /* PHICH_Config */ static int hf_lte_rrc_systemFrameNumber = -1; /* T_systemFrameNumber */ static int hf_lte_rrc_spare = -1; /* BIT_STRING_SIZE_10 */ static int hf_lte_rrc_countingRequestList_r10 = -1; /* CountingRequestList_r10 */ -static int hf_lte_rrc_nonCriticalExtension_20 = -1; /* T_nonCriticalExtension_09 */ +static int hf_lte_rrc_nonCriticalExtension_29 = -1; /* T_nonCriticalExtension_13 */ static int hf_lte_rrc_CountingRequestList_r10_item = -1; /* CountingRequestInfo_r10 */ static int hf_lte_rrc_tmgi_r10 = -1; /* TMGI_r9 */ -static int hf_lte_rrc_criticalExtensions_09 = -1; /* T_criticalExtensions_09 */ -static int hf_lte_rrc_c1_13 = -1; /* T_c1_13 */ +static int hf_lte_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */ +static int hf_lte_rrc_c1_17 = -1; /* T_c1_17 */ static int hf_lte_rrc_countingResponse_r10 = -1; /* MBMSCountingResponse_r10_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_09 = -1; /* T_criticalExtensionsFuture_09 */ +static int hf_lte_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */ static int hf_lte_rrc_mbsfn_AreaIndex_r10 = -1; /* INTEGER_0_maxMBSFN_Area_1 */ static int hf_lte_rrc_countingResponseList_r10 = -1; /* CountingResponseList_r10 */ -static int hf_lte_rrc_nonCriticalExtension_21 = -1; /* T_nonCriticalExtension_10 */ +static int hf_lte_rrc_nonCriticalExtension_30 = -1; /* T_nonCriticalExtension_14 */ static int hf_lte_rrc_CountingResponseList_r10_item = -1; /* CountingResponseInfo_r10 */ static int hf_lte_rrc_countingResponseService_r10 = -1; /* INTEGER_0_maxServiceCount_1 */ -static int hf_lte_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */ -static int hf_lte_rrc_c1_14 = -1; /* T_c1_14 */ +static int hf_lte_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */ +static int hf_lte_rrc_c1_18 = -1; /* T_c1_18 */ static int hf_lte_rrc_interestIndication_r11 = -1; /* MBMSInterestIndication_r11_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */ +static int hf_lte_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */ static int hf_lte_rrc_mbms_FreqList_r11 = -1; /* CarrierFreqListMBMS_r11 */ static int hf_lte_rrc_mbms_Priority_r11 = -1; /* T_mbms_Priority_r11 */ -static int hf_lte_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_11 */ +static int hf_lte_rrc_nonCriticalExtension_31 = -1; /* T_nonCriticalExtension_15 */ static int hf_lte_rrc_commonSF_Alloc_r9 = -1; /* CommonSF_AllocPatternList_r9 */ static int hf_lte_rrc_commonSF_AllocPeriod_r9 = -1; /* T_commonSF_AllocPeriod_r9 */ static int hf_lte_rrc_pmch_InfoList_r9 = -1; /* PMCH_InfoList_r9 */ -static int hf_lte_rrc_nonCriticalExtension_23 = -1; /* MBSFNAreaConfiguration_v930_IEs */ -static int hf_lte_rrc_nonCriticalExtension_24 = -1; /* MBSFNAreaConfiguration_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_32 = -1; /* MBSFNAreaConfiguration_v930_IEs */ +static int hf_lte_rrc_nonCriticalExtension_33 = -1; /* MBSFNAreaConfiguration_v1250_IEs */ static int hf_lte_rrc_pmch_InfoListExt_r12 = -1; /* PMCH_InfoListExt_r12 */ -static int hf_lte_rrc_nonCriticalExtension_25 = -1; /* T_nonCriticalExtension_12 */ +static int hf_lte_rrc_nonCriticalExtension_34 = -1; /* T_nonCriticalExtension_16 */ static int hf_lte_rrc_CommonSF_AllocPatternList_r9_item = -1; /* MBSFN_SubframeConfig */ -static int hf_lte_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */ -static int hf_lte_rrc_c1_15 = -1; /* T_c1_15 */ +static int hf_lte_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */ +static int hf_lte_rrc_c1_19 = -1; /* T_c1_19 */ static int hf_lte_rrc_measurementReport_r8 = -1; /* MeasurementReport_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */ +static int hf_lte_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */ static int hf_lte_rrc_measResults = -1; /* MeasResults */ -static int hf_lte_rrc_nonCriticalExtension_26 = -1; /* MeasurementReport_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_27 = -1; /* T_nonCriticalExtension_13 */ -static int hf_lte_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */ -static int hf_lte_rrc_c1_16 = -1; /* T_c1_16 */ +static int hf_lte_rrc_nonCriticalExtension_35 = -1; /* MeasurementReport_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_36 = -1; /* T_nonCriticalExtension_17 */ +static int hf_lte_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */ +static int hf_lte_rrc_c1_20 = -1; /* T_c1_20 */ static int hf_lte_rrc_mobilityFromEUTRACommand_r8 = -1; /* MobilityFromEUTRACommand_r8_IEs */ static int hf_lte_rrc_mobilityFromEUTRACommand_r9 = -1; /* MobilityFromEUTRACommand_r9_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */ +static int hf_lte_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */ static int hf_lte_rrc_cs_FallbackIndicator = -1; /* BOOLEAN */ static int hf_lte_rrc_purpose = -1; /* T_purpose */ static int hf_lte_rrc_handover = -1; /* Handover */ static int hf_lte_rrc_cellChangeOrder = -1; /* CellChangeOrder */ -static int hf_lte_rrc_nonCriticalExtension_28 = -1; /* MobilityFromEUTRACommand_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_29 = -1; /* MobilityFromEUTRACommand_v8d0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_37 = -1; /* MobilityFromEUTRACommand_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_38 = -1; /* MobilityFromEUTRACommand_v8d0_IEs */ static int hf_lte_rrc_bandIndicator = -1; /* BandIndicatorGERAN */ -static int hf_lte_rrc_nonCriticalExtension_30 = -1; /* T_nonCriticalExtension_14 */ +static int hf_lte_rrc_nonCriticalExtension_39 = -1; /* T_nonCriticalExtension_18 */ static int hf_lte_rrc_purpose_01 = -1; /* T_purpose_01 */ static int hf_lte_rrc_e_CSFB_r9 = -1; /* E_CSFB_r9 */ -static int hf_lte_rrc_nonCriticalExtension_31 = -1; /* MobilityFromEUTRACommand_v930_IEs */ -static int hf_lte_rrc_nonCriticalExtension_32 = -1; /* MobilityFromEUTRACommand_v960_IEs */ -static int hf_lte_rrc_nonCriticalExtension_33 = -1; /* T_nonCriticalExtension_15 */ +static int hf_lte_rrc_nonCriticalExtension_40 = -1; /* MobilityFromEUTRACommand_v930_IEs */ +static int hf_lte_rrc_nonCriticalExtension_41 = -1; /* MobilityFromEUTRACommand_v960_IEs */ +static int hf_lte_rrc_nonCriticalExtension_42 = -1; /* T_nonCriticalExtension_19 */ static int hf_lte_rrc_targetRAT_Type = -1; /* T_targetRAT_Type */ static int hf_lte_rrc_targetRAT_MessageContainer = -1; /* T_targetRAT_MessageContainer */ static int hf_lte_rrc_nas_SecurityParamFromEUTRA = -1; /* T_nas_SecurityParamFromEUTRA */ @@ -491,70 +574,74 @@ static int hf_lte_rrc_redirectCarrierCDMA2000_HRPD_r9 = -1; /* CarrierFreqCDMA2 static int hf_lte_rrc_pagingRecordList = -1; /* T_pagingRecordList */ static int hf_lte_rrc_systemInfoModification = -1; /* T_systemInfoModification */ static int hf_lte_rrc_etws_Indication = -1; /* T_etws_Indication */ -static int hf_lte_rrc_nonCriticalExtension_34 = -1; /* Paging_v890_IEs */ -static int hf_lte_rrc_nonCriticalExtension_35 = -1; /* Paging_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_43 = -1; /* Paging_v890_IEs */ +static int hf_lte_rrc_nonCriticalExtension_44 = -1; /* Paging_v920_IEs */ static int hf_lte_rrc_cmas_Indication_r9 = -1; /* T_cmas_Indication_r9 */ -static int hf_lte_rrc_nonCriticalExtension_36 = -1; /* Paging_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_45 = -1; /* Paging_v1130_IEs */ static int hf_lte_rrc_eab_ParamModification_r11 = -1; /* T_eab_ParamModification_r11 */ -static int hf_lte_rrc_nonCriticalExtension_37 = -1; /* T_nonCriticalExtension_16 */ +static int hf_lte_rrc_nonCriticalExtension_46 = -1; /* T_nonCriticalExtension_20 */ static int hf_lte_rrc_PagingRecordList_item = -1; /* PagingRecord */ static int hf_lte_rrc_ue_Identity = -1; /* PagingUE_Identity */ static int hf_lte_rrc_cn_Domain = -1; /* T_cn_Domain */ static int hf_lte_rrc_s_TMSI = -1; /* S_TMSI */ static int hf_lte_rrc_imsi = -1; /* IMSI */ static int hf_lte_rrc_IMSI_item = -1; /* IMSI_Digit */ -static int hf_lte_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */ -static int hf_lte_rrc_c1_17 = -1; /* T_c1_17 */ +static int hf_lte_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */ +static int hf_lte_rrc_c1_21 = -1; /* T_c1_21 */ static int hf_lte_rrc_proximityIndication_r9_01 = -1; /* ProximityIndication_r9_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */ +static int hf_lte_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */ static int hf_lte_rrc_type_r9 = -1; /* T_type_r9 */ static int hf_lte_rrc_carrierFreq_r9 = -1; /* T_carrierFreq_r9 */ static int hf_lte_rrc_eutra_r9 = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_utra_r9 = -1; /* ARFCN_ValueUTRA */ static int hf_lte_rrc_eutra2_v9e0 = -1; /* ARFCN_ValueEUTRA_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_38 = -1; /* ProximityIndication_v930_IEs */ -static int hf_lte_rrc_nonCriticalExtension_39 = -1; /* T_nonCriticalExtension_17 */ -static int hf_lte_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */ -static int hf_lte_rrc_c1_18 = -1; /* T_c1_18 */ +static int hf_lte_rrc_nonCriticalExtension_47 = -1; /* ProximityIndication_v930_IEs */ +static int hf_lte_rrc_nonCriticalExtension_48 = -1; /* T_nonCriticalExtension_21 */ +static int hf_lte_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */ +static int hf_lte_rrc_c1_22 = -1; /* T_c1_22 */ static int hf_lte_rrc_rnReconfiguration_r10_01 = -1; /* RNReconfiguration_r10_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */ +static int hf_lte_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */ static int hf_lte_rrc_rn_SystemInfo_r10 = -1; /* RN_SystemInfo_r10 */ static int hf_lte_rrc_rn_SubframeConfig_r10 = -1; /* RN_SubframeConfig_r10 */ -static int hf_lte_rrc_nonCriticalExtension_40 = -1; /* T_nonCriticalExtension_18 */ +static int hf_lte_rrc_nonCriticalExtension_49 = -1; /* T_nonCriticalExtension_22 */ static int hf_lte_rrc_systemInformationBlockType1_r10 = -1; /* T_systemInformationBlockType1_r10 */ static int hf_lte_rrc_systemInformationBlockType2_r10 = -1; /* SystemInformationBlockType2 */ -static int hf_lte_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */ -static int hf_lte_rrc_c1_19 = -1; /* T_c1_19 */ +static int hf_lte_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */ +static int hf_lte_rrc_c1_23 = -1; /* T_c1_23 */ static int hf_lte_rrc_rnReconfigurationComplete_r10_01 = -1; /* RNReconfigurationComplete_r10_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */ -static int hf_lte_rrc_nonCriticalExtension_41 = -1; /* T_nonCriticalExtension_19 */ -static int hf_lte_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */ -static int hf_lte_rrc_c1_20 = -1; /* T_c1_20 */ +static int hf_lte_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */ +static int hf_lte_rrc_nonCriticalExtension_50 = -1; /* T_nonCriticalExtension_23 */ +static int hf_lte_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */ +static int hf_lte_rrc_c1_24 = -1; /* T_c1_24 */ static int hf_lte_rrc_rrcConnectionReconfiguration_r8 = -1; /* RRCConnectionReconfiguration_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */ +static int hf_lte_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */ static int hf_lte_rrc_measConfig = -1; /* MeasConfig */ static int hf_lte_rrc_mobilityControlInfo = -1; /* MobilityControlInfo */ static int hf_lte_rrc_dedicatedInfoNASList = -1; /* SEQUENCE_SIZE_1_maxDRB_OF_DedicatedInfoNAS */ static int hf_lte_rrc_dedicatedInfoNASList_item = -1; /* DedicatedInfoNAS */ static int hf_lte_rrc_radioResourceConfigDedicated = -1; /* RadioResourceConfigDedicated */ static int hf_lte_rrc_securityConfigHO = -1; /* SecurityConfigHO */ -static int hf_lte_rrc_nonCriticalExtension_42 = -1; /* RRCConnectionReconfiguration_v890_IEs */ -static int hf_lte_rrc_nonCriticalExtension_43 = -1; /* RRCConnectionReconfiguration_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_51 = -1; /* RRCConnectionReconfiguration_v890_IEs */ +static int hf_lte_rrc_nonCriticalExtension_52 = -1; /* RRCConnectionReconfiguration_v920_IEs */ static int hf_lte_rrc_otherConfig_r9 = -1; /* OtherConfig_r9 */ static int hf_lte_rrc_fullConfig_r9 = -1; /* T_fullConfig_r9 */ -static int hf_lte_rrc_nonCriticalExtension_44 = -1; /* RRCConnectionReconfiguration_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_53 = -1; /* RRCConnectionReconfiguration_v1020_IEs */ static int hf_lte_rrc_sCellToReleaseList_r10 = -1; /* SCellToReleaseList_r10 */ static int hf_lte_rrc_sCellToAddModList_r10 = -1; /* SCellToAddModList_r10 */ -static int hf_lte_rrc_nonCriticalExtension_45 = -1; /* RRCConnectionReconfiguration_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_54 = -1; /* RRCConnectionReconfiguration_v1130_IEs */ static int hf_lte_rrc_systemInfomationBlockType1Dedicated_r11 = -1; /* T_systemInfomationBlockType1Dedicated_r11 */ -static int hf_lte_rrc_nonCriticalExtension_46 = -1; /* RRCConnectionReconfiguration_v12xy_IEs */ -static int hf_lte_rrc_wlan_OffloadDedicated_r12 = -1; /* T_wlan_OffloadDedicated_r12 */ +static int hf_lte_rrc_nonCriticalExtension_55 = -1; /* RRCConnectionReconfiguration_v1250_IEs */ +static int hf_lte_rrc_wlan_OffloadInfo_r12 = -1; /* T_wlan_OffloadInfo_r12 */ static int hf_lte_rrc_release = -1; /* NULL */ static int hf_lte_rrc_setup = -1; /* T_setup */ -static int hf_lte_rrc_wlan_OffloadConfig_r12 = -1; /* WLAN_OffloadConfig_r12 */ +static int hf_lte_rrc_wlan_OffloadConfigDedicated_r12 = -1; /* WLAN_OffloadConfig_r12 */ static int hf_lte_rrc_t350_r12 = -1; /* T_t350_r12 */ static int hf_lte_rrc_scg_Configuration_r12 = -1; /* SCG_Configuration_r12 */ -static int hf_lte_rrc_nonCriticalExtension_47 = -1; /* T_nonCriticalExtension_20 */ +static int hf_lte_rrc_sl_SyncTxControl_r12 = -1; /* SL_SyncTxControl_r12 */ +static int hf_lte_rrc_sl_DiscConfig_r12 = -1; /* SL_DiscConfig_r12 */ +static int hf_lte_rrc_sl_CommConfig_r12 = -1; /* SL_CommConfig_r12 */ +static int hf_lte_rrc_nonCriticalExtension_56 = -1; /* T_nonCriticalExtension_24 */ +static int hf_lte_rrc_networkControlledSyncTx_r12 = -1; /* T_networkControlledSyncTx_r12 */ static int hf_lte_rrc_sCellIndex_r12 = -1; /* SCellIndex_r10 */ static int hf_lte_rrc_cellIdentification_r12 = -1; /* T_cellIdentification_r12 */ static int hf_lte_rrc_physCellId_r12 = -1; /* PhysCellId */ @@ -567,21 +654,17 @@ static int hf_lte_rrc_powerControlMode_r12 = -1; /* INTEGER_1_2 */ static int hf_lte_rrc_SCellToAddModList_r10_item = -1; /* SCellToAddMod_r10 */ static int hf_lte_rrc_sCellIndex_r10 = -1; /* SCellIndex_r10 */ static int hf_lte_rrc_cellIdentification_r10 = -1; /* T_cellIdentification_r10 */ -static int hf_lte_rrc_physCellId_r10 = -1; /* PhysCellId */ -static int hf_lte_rrc_dl_CarrierFreq_r10 = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_radioResourceConfigCommonSCell_r10 = -1; /* RadioResourceConfigCommonSCell_r10 */ static int hf_lte_rrc_radioResourceConfigDedicatedSCell_r10 = -1; /* RadioResourceConfigDedicatedSCell_r10 */ -static int hf_lte_rrc_dl_CarrierFreq_v1090 = -1; /* ARFCN_ValueEUTRA_v9e0 */ static int hf_lte_rrc_SCellToReleaseList_r10_item = -1; /* SCellIndex_r10 */ static int hf_lte_rrc_setup_01 = -1; /* T_setup_01 */ -static int hf_lte_rrc_scg_ConfigPartMCG = -1; /* T_scg_ConfigPartMCG */ +static int hf_lte_rrc_scg_ConfigPartMCG_r12 = -1; /* T_scg_ConfigPartMCG_r12 */ static int hf_lte_rrc_scg_Counter_r12 = -1; /* INTEGER_0_65535 */ static int hf_lte_rrc_powerCoordinationInfo_r12 = -1; /* PowerCoordinationInfo_r12 */ -static int hf_lte_rrc_scg_ConfigPartSCG = -1; /* SCG_ConfigPartSCG_r12 */ -static int hf_lte_rrc_cipheringAlgorithmSCG_r12 = -1; /* CipheringAlgorithm_r12 */ +static int hf_lte_rrc_scg_ConfigPartSCG_r12 = -1; /* SCG_ConfigPartSCG_r12 */ static int hf_lte_rrc_radioResourceConfigDedicatedSCG_r12 = -1; /* RadioResourceConfigDedicatedSCG_r12 */ static int hf_lte_rrc_sCellToReleaseListSCG_r12 = -1; /* SCellToReleaseList_r10 */ -static int hf_lte_rrc_psCellToAddMod_r12 = -1; /* PSCell_r12 */ +static int hf_lte_rrc_pSCellToAddMod_r12 = -1; /* PSCellToAddMod_r12 */ static int hf_lte_rrc_sCellToAddModListSCG_r12 = -1; /* SCellToAddModList_r10 */ static int hf_lte_rrc_mobilityControlInfoSCG_r12 = -1; /* MobilityControlInfoSCG_r12 */ static int hf_lte_rrc_handoverType = -1; /* T_handoverType */ @@ -591,85 +674,84 @@ 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; /* T_nas_SecurityParamToEUTRA */ -static int hf_lte_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */ +static int hf_lte_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */ static int hf_lte_rrc_rrcConnectionReconfigurationComplete_r8 = -1; /* RRCConnectionReconfigurationComplete_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */ -static int hf_lte_rrc_nonCriticalExtension_48 = -1; /* RRCConnectionReconfigurationComplete_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_49 = -1; /* RRCConnectionReconfigurationComplete_v1020_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */ +static int hf_lte_rrc_nonCriticalExtension_57 = -1; /* RRCConnectionReconfigurationComplete_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_58 = -1; /* RRCConnectionReconfigurationComplete_v1020_IEs */ static int hf_lte_rrc_rlf_InfoAvailable_r10 = -1; /* T_rlf_InfoAvailable_r10 */ static int hf_lte_rrc_logMeasAvailable_r10 = -1; /* T_logMeasAvailable_r10 */ -static int hf_lte_rrc_nonCriticalExtension_50 = -1; /* RRCConnectionReconfigurationComplete_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_59 = -1; /* RRCConnectionReconfigurationComplete_v1130_IEs */ static int hf_lte_rrc_connEstFailInfoAvailable_r11 = -1; /* T_connEstFailInfoAvailable_r11 */ -static int hf_lte_rrc_nonCriticalExtension_51 = -1; /* RRCConnectionReconfigurationComplete_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_60 = -1; /* RRCConnectionReconfigurationComplete_v1250_IEs */ static int hf_lte_rrc_logMeasAvailableMBSFN_r12 = -1; /* T_logMeasAvailableMBSFN_r12 */ -static int hf_lte_rrc_nonCriticalExtension_52 = -1; /* T_nonCriticalExtension_21 */ -static int hf_lte_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */ -static int hf_lte_rrc_c1_21 = -1; /* T_c1_21 */ +static int hf_lte_rrc_nonCriticalExtension_61 = -1; /* T_nonCriticalExtension_25 */ +static int hf_lte_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */ +static int hf_lte_rrc_c1_25 = -1; /* T_c1_25 */ static int hf_lte_rrc_rrcConnectionReestablishment_r8 = -1; /* RRCConnectionReestablishment_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */ -static int hf_lte_rrc_nonCriticalExtension_53 = -1; /* RRCConnectionReestablishment_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_54 = -1; /* T_nonCriticalExtension_22 */ -static int hf_lte_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */ +static int hf_lte_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */ +static int hf_lte_rrc_nonCriticalExtension_62 = -1; /* RRCConnectionReestablishment_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_63 = -1; /* T_nonCriticalExtension_26 */ +static int hf_lte_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */ static int hf_lte_rrc_rrcConnectionReestablishmentComplete_r8 = -1; /* RRCConnectionReestablishmentComplete_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */ -static int hf_lte_rrc_nonCriticalExtension_55 = -1; /* RRCConnectionReestablishmentComplete_v920_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */ +static int hf_lte_rrc_nonCriticalExtension_64 = -1; /* RRCConnectionReestablishmentComplete_v920_IEs */ static int hf_lte_rrc_rlf_InfoAvailable_r9 = -1; /* T_rlf_InfoAvailable_r9 */ -static int hf_lte_rrc_nonCriticalExtension_56 = -1; /* RRCConnectionReestablishmentComplete_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_57 = -1; /* RRCConnectionReestablishmentComplete_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_65 = -1; /* RRCConnectionReestablishmentComplete_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_66 = -1; /* RRCConnectionReestablishmentComplete_v1020_IEs */ static int hf_lte_rrc_logMeasAvailable_r10_01 = -1; /* T_logMeasAvailable_r10_01 */ -static int hf_lte_rrc_nonCriticalExtension_58 = -1; /* RRCConnectionReestablishmentComplete_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_67 = -1; /* RRCConnectionReestablishmentComplete_v1130_IEs */ static int hf_lte_rrc_connEstFailInfoAvailable_r11_01 = -1; /* T_connEstFailInfoAvailable_r11_01 */ -static int hf_lte_rrc_nonCriticalExtension_59 = -1; /* RRCConnectionReestablishmentComplete_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_68 = -1; /* RRCConnectionReestablishmentComplete_v1250_IEs */ static int hf_lte_rrc_logMeasAvailableMBSFN_r12_01 = -1; /* T_logMeasAvailableMBSFN_r12_01 */ -static int hf_lte_rrc_nonCriticalExtension_60 = -1; /* T_nonCriticalExtension_23 */ -static int hf_lte_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */ +static int hf_lte_rrc_nonCriticalExtension_69 = -1; /* T_nonCriticalExtension_27 */ +static int hf_lte_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */ static int hf_lte_rrc_rrcConnectionReestablishmentReject_r8 = -1; /* RRCConnectionReestablishmentReject_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */ -static int hf_lte_rrc_nonCriticalExtension_61 = -1; /* RRCConnectionReestablishmentReject_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_62 = -1; /* T_nonCriticalExtension_24 */ -static int hf_lte_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */ +static int hf_lte_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */ +static int hf_lte_rrc_nonCriticalExtension_70 = -1; /* RRCConnectionReestablishmentReject_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_71 = -1; /* T_nonCriticalExtension_28 */ +static int hf_lte_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */ static int hf_lte_rrc_rrcConnectionReestablishmentRequest_r8 = -1; /* RRCConnectionReestablishmentRequest_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */ +static int hf_lte_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */ static int hf_lte_rrc_ue_Identity_01 = -1; /* ReestabUE_Identity */ static int hf_lte_rrc_reestablishmentCause = -1; /* ReestablishmentCause */ static int hf_lte_rrc_spare_01 = -1; /* BIT_STRING_SIZE_2 */ static int hf_lte_rrc_c_RNTI = -1; /* C_RNTI */ static int hf_lte_rrc_physCellId_01 = -1; /* PhysCellId */ -static int hf_lte_rrc_shortMAC_I = -1; /* ShortMAC_I */ -static int hf_lte_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */ -static int hf_lte_rrc_c1_22 = -1; /* T_c1_22 */ +static int hf_lte_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */ +static int hf_lte_rrc_c1_26 = -1; /* T_c1_26 */ static int hf_lte_rrc_rrcConnectionReject_r8 = -1; /* RRCConnectionReject_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */ +static int hf_lte_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */ static int hf_lte_rrc_waitTime = -1; /* T_waitTime */ -static int hf_lte_rrc_nonCriticalExtension_63 = -1; /* RRCConnectionReject_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_64 = -1; /* RRCConnectionReject_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_72 = -1; /* RRCConnectionReject_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_73 = -1; /* RRCConnectionReject_v1020_IEs */ static int hf_lte_rrc_extendedWaitTime_r10 = -1; /* T_extendedWaitTime_r10 */ -static int hf_lte_rrc_nonCriticalExtension_65 = -1; /* RRCConnectionReject_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_74 = -1; /* RRCConnectionReject_v1130_IEs */ static int hf_lte_rrc_deprioritisationReq_r11 = -1; /* T_deprioritisationReq_r11 */ static int hf_lte_rrc_deprioritisationType_r11 = -1; /* T_deprioritisationType_r11 */ static int hf_lte_rrc_deprioritisationTimer_r11 = -1; /* T_deprioritisationTimer_r11 */ -static int hf_lte_rrc_nonCriticalExtension_66 = -1; /* T_nonCriticalExtension_25 */ -static int hf_lte_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */ -static int hf_lte_rrc_c1_23 = -1; /* T_c1_23 */ +static int hf_lte_rrc_nonCriticalExtension_75 = -1; /* T_nonCriticalExtension_29 */ +static int hf_lte_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */ +static int hf_lte_rrc_c1_27 = -1; /* T_c1_27 */ static int hf_lte_rrc_rrcConnectionRelease_r8 = -1; /* RRCConnectionRelease_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */ +static int hf_lte_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */ static int hf_lte_rrc_releaseCause = -1; /* ReleaseCause */ static int hf_lte_rrc_redirectedCarrierInfo = -1; /* RedirectedCarrierInfo */ static int hf_lte_rrc_idleModeMobilityControlInfo = -1; /* IdleModeMobilityControlInfo */ -static int hf_lte_rrc_nonCriticalExtension_67 = -1; /* RRCConnectionRelease_v890_IEs */ +static int hf_lte_rrc_nonCriticalExtension_76 = -1; /* RRCConnectionRelease_v890_IEs */ static int hf_lte_rrc_lateNonCriticalExtension_01 = -1; /* T_lateNonCriticalExtension */ -static int hf_lte_rrc_nonCriticalExtension_68 = -1; /* RRCConnectionRelease_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_77 = -1; /* RRCConnectionRelease_v920_IEs */ static int hf_lte_rrc_redirectedCarrierInfo_v9e0 = -1; /* RedirectedCarrierInfo_v9e0 */ static int hf_lte_rrc_idleModeMobilityControlInfo_v9e0 = -1; /* IdleModeMobilityControlInfo_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_69 = -1; /* T_nonCriticalExtension_26 */ +static int hf_lte_rrc_nonCriticalExtension_78 = -1; /* T_nonCriticalExtension_30 */ static int hf_lte_rrc_cellInfoList_r9 = -1; /* T_cellInfoList_r9 */ static int hf_lte_rrc_geran_r9 = -1; /* CellInfoListGERAN_r9 */ static int hf_lte_rrc_utra_FDD_r9 = -1; /* CellInfoListUTRA_FDD_r9 */ static int hf_lte_rrc_utra_TDD_r9 = -1; /* CellInfoListUTRA_TDD_r9 */ static int hf_lte_rrc_utra_TDD_r10 = -1; /* CellInfoListUTRA_TDD_r10 */ -static int hf_lte_rrc_nonCriticalExtension_70 = -1; /* RRCConnectionRelease_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_79 = -1; /* RRCConnectionRelease_v1020_IEs */ static int hf_lte_rrc_extendedWaitTime_r10_01 = -1; /* T_extendedWaitTime_r10_01 */ -static int hf_lte_rrc_nonCriticalExtension_71 = -1; /* T_nonCriticalExtension_27 */ +static int hf_lte_rrc_nonCriticalExtension_80 = -1; /* T_nonCriticalExtension_31 */ static int hf_lte_rrc_eutra = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_geran_01 = -1; /* CarrierFreqsGERAN */ static int hf_lte_rrc_utra_FDD = -1; /* ARFCN_ValueUTRA */ @@ -717,71 +799,81 @@ static int hf_lte_rrc_CellInfoListUTRA_TDD_r10_item = -1; /* CellInfoUTRA_TDD_r static int hf_lte_rrc_physCellId_r10_01 = -1; /* PhysCellIdUTRA_TDD */ static int hf_lte_rrc_carrierFreq_r10_01 = -1; /* ARFCN_ValueUTRA */ static int hf_lte_rrc_utra_BCCH_Container_r10 = -1; /* T_utra_BCCH_Container_r10 */ -static int hf_lte_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */ +static int hf_lte_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */ static int hf_lte_rrc_rrcConnectionRequest_r8 = -1; /* RRCConnectionRequest_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */ +static int hf_lte_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */ static int hf_lte_rrc_ue_Identity_02 = -1; /* InitialUE_Identity */ static int hf_lte_rrc_establishmentCause = -1; /* EstablishmentCause */ static int hf_lte_rrc_spare_02 = -1; /* BIT_STRING_SIZE_1 */ static int hf_lte_rrc_randomValue = -1; /* BIT_STRING_SIZE_40 */ -static int hf_lte_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */ -static int hf_lte_rrc_c1_24 = -1; /* T_c1_24 */ +static int hf_lte_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */ +static int hf_lte_rrc_c1_28 = -1; /* T_c1_28 */ static int hf_lte_rrc_rrcConnectionSetup_r8 = -1; /* RRCConnectionSetup_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */ -static int hf_lte_rrc_nonCriticalExtension_72 = -1; /* RRCConnectionSetup_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_73 = -1; /* T_nonCriticalExtension_28 */ -static int hf_lte_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */ -static int hf_lte_rrc_c1_25 = -1; /* T_c1_25 */ +static int hf_lte_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */ +static int hf_lte_rrc_nonCriticalExtension_81 = -1; /* RRCConnectionSetup_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_82 = -1; /* T_nonCriticalExtension_32 */ +static int hf_lte_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */ +static int hf_lte_rrc_c1_29 = -1; /* T_c1_29 */ static int hf_lte_rrc_rrcConnectionSetupComplete_r8 = -1; /* RRCConnectionSetupComplete_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */ +static int hf_lte_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */ static int hf_lte_rrc_selectedPLMN_Identity = -1; /* INTEGER_1_maxPLMN_r11 */ static int hf_lte_rrc_registeredMME = -1; /* RegisteredMME */ -static int hf_lte_rrc_nonCriticalExtension_74 = -1; /* RRCConnectionSetupComplete_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_75 = -1; /* RRCConnectionSetupComplete_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_83 = -1; /* RRCConnectionSetupComplete_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_84 = -1; /* RRCConnectionSetupComplete_v1020_IEs */ static int hf_lte_rrc_gummei_Type_r10 = -1; /* T_gummei_Type_r10 */ static int hf_lte_rrc_rlf_InfoAvailable_r10_01 = -1; /* T_rlf_InfoAvailable_r10_01 */ static int hf_lte_rrc_logMeasAvailable_r10_02 = -1; /* T_logMeasAvailable_r10_02 */ static int hf_lte_rrc_rn_SubframeConfigReq_r10 = -1; /* T_rn_SubframeConfigReq_r10 */ -static int hf_lte_rrc_nonCriticalExtension_76 = -1; /* RRCConnectionSetupComplete_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_85 = -1; /* RRCConnectionSetupComplete_v1130_IEs */ static int hf_lte_rrc_connEstFailInfoAvailable_r11_02 = -1; /* T_connEstFailInfoAvailable_r11_02 */ -static int hf_lte_rrc_nonCriticalExtension_77 = -1; /* RRCConnectionSetupComplete_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_86 = -1; /* RRCConnectionSetupComplete_v1250_IEs */ static int hf_lte_rrc_mobilityState_r12 = -1; /* T_mobilityState_r12 */ static int hf_lte_rrc_mobilityHistoryAvail_r12 = -1; /* T_mobilityHistoryAvail_r12 */ static int hf_lte_rrc_logMeasAvailableMBSFN_r12_02 = -1; /* T_logMeasAvailableMBSFN_r12_02 */ -static int hf_lte_rrc_nonCriticalExtension_78 = -1; /* T_nonCriticalExtension_29 */ +static int hf_lte_rrc_nonCriticalExtension_87 = -1; /* T_nonCriticalExtension_33 */ static int hf_lte_rrc_plmn_Identity = -1; /* PLMN_Identity */ static int hf_lte_rrc_mmegi = -1; /* BIT_STRING_SIZE_16 */ static int hf_lte_rrc_mmec = -1; /* MMEC */ -static int hf_lte_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */ -static int hf_lte_rrc_c1_26 = -1; /* T_c1_26 */ +static int hf_lte_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */ +static int hf_lte_rrc_c1_30 = -1; /* T_c1_30 */ static int hf_lte_rrc_scgFailureInformation_r12_01 = -1; /* SCGFailureInformation_r12_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */ +static int hf_lte_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */ static int hf_lte_rrc_failureReportSCG_r12 = -1; /* FailureReportSCG_r12 */ -static int hf_lte_rrc_nonCriticalExtension_79 = -1; /* T_nonCriticalExtension_30 */ +static int hf_lte_rrc_nonCriticalExtension_88 = -1; /* T_nonCriticalExtension_34 */ static int hf_lte_rrc_failureType_r12 = -1; /* T_failureType_r12 */ static int hf_lte_rrc_measResultServFreqList_r12 = -1; /* MeasResultServFreqList_r10 */ -static int hf_lte_rrc_measResultNeighCells_r12 = -1; /* T_measResultNeighCells_r12 */ -static int hf_lte_rrc_measResultListEUTRA_r12 = -1; /* MeasResultList2EUTRA_r9 */ -static int hf_lte_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */ -static int hf_lte_rrc_c1_27 = -1; /* T_c1_27 */ +static int hf_lte_rrc_measResultNeighCells_r12 = -1; /* MeasResultList2EUTRA_r9 */ +static int hf_lte_rrc_criticalExtensions_32 = -1; /* T_criticalExtensions_32 */ +static int hf_lte_rrc_c1_31 = -1; /* T_c1_31 */ static int hf_lte_rrc_securityModeCommand_r8 = -1; /* SecurityModeCommand_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */ +static int hf_lte_rrc_criticalExtensionsFuture_32 = -1; /* T_criticalExtensionsFuture_32 */ static int hf_lte_rrc_securityConfigSMC = -1; /* SecurityConfigSMC */ -static int hf_lte_rrc_nonCriticalExtension_80 = -1; /* SecurityModeCommand_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_81 = -1; /* T_nonCriticalExtension_31 */ -static int hf_lte_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */ +static int hf_lte_rrc_nonCriticalExtension_89 = -1; /* SecurityModeCommand_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_90 = -1; /* T_nonCriticalExtension_35 */ +static int hf_lte_rrc_criticalExtensions_33 = -1; /* T_criticalExtensions_33 */ static int hf_lte_rrc_securityModeComplete_r8 = -1; /* SecurityModeComplete_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */ -static int hf_lte_rrc_nonCriticalExtension_82 = -1; /* SecurityModeComplete_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_83 = -1; /* T_nonCriticalExtension_32 */ -static int hf_lte_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */ +static int hf_lte_rrc_criticalExtensionsFuture_33 = -1; /* T_criticalExtensionsFuture_33 */ +static int hf_lte_rrc_nonCriticalExtension_91 = -1; /* SecurityModeComplete_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_92 = -1; /* T_nonCriticalExtension_36 */ +static int hf_lte_rrc_criticalExtensions_34 = -1; /* T_criticalExtensions_34 */ static int hf_lte_rrc_securityModeFailure_r8 = -1; /* SecurityModeFailure_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */ -static int hf_lte_rrc_nonCriticalExtension_84 = -1; /* SecurityModeFailure_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_85 = -1; /* T_nonCriticalExtension_33 */ -static int hf_lte_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */ +static int hf_lte_rrc_criticalExtensionsFuture_34 = -1; /* T_criticalExtensionsFuture_34 */ +static int hf_lte_rrc_nonCriticalExtension_93 = -1; /* SecurityModeFailure_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_94 = -1; /* T_nonCriticalExtension_37 */ +static int hf_lte_rrc_criticalExtensions_35 = -1; /* T_criticalExtensions_35 */ +static int hf_lte_rrc_c1_32 = -1; /* T_c1_32 */ +static int hf_lte_rrc_sidelinkUEInformation_r12_02 = -1; /* SidelinkUEInformation_r12_IEs */ +static int hf_lte_rrc_criticalExtensionsFuture_35 = -1; /* T_criticalExtensionsFuture_35 */ +static int hf_lte_rrc_commRxInterestedFreq_r12 = -1; /* ARFCN_ValueEUTRA_r9 */ +static int hf_lte_rrc_commTxResourceReq_r12 = -1; /* SL_CommTxResourceReq_r12 */ +static int hf_lte_rrc_discRxInterest_r12 = -1; /* T_discRxInterest_r12 */ +static int hf_lte_rrc_discTxResourceReq_r12 = -1; /* INTEGER_1_63 */ +static int hf_lte_rrc_nonCriticalExtension_95 = -1; /* T_nonCriticalExtension_38 */ +static int hf_lte_rrc_destinationInfoList_r12 = -1; /* SL_DestinationInfoList_r12 */ +static int hf_lte_rrc_SL_DestinationInfoList_r12_item = -1; /* SL_DestinationIdentity_r12 */ +static int hf_lte_rrc_criticalExtensions_36 = -1; /* T_criticalExtensions_36 */ static int hf_lte_rrc_systemInformation_r8 = -1; /* SystemInformation_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */ +static int hf_lte_rrc_criticalExtensionsFuture_36 = -1; /* T_criticalExtensionsFuture_36 */ static int hf_lte_rrc_sib_TypeAndInfo = -1; /* T_sib_TypeAndInfo */ static int hf_lte_rrc_sib_TypeAndInfo_item = -1; /* T_sib_TypeAndInfo_item */ static int hf_lte_rrc_sib2 = -1; /* SystemInformationBlockType2 */ @@ -799,13 +891,14 @@ static int hf_lte_rrc_sib13_v920 = -1; /* SystemInformationBlockType1 static int hf_lte_rrc_sib14_v1130 = -1; /* SystemInformationBlockType14_r11 */ static int hf_lte_rrc_sib15_v1130 = -1; /* SystemInformationBlockType15_r11 */ static int hf_lte_rrc_sib16_v1130 = -1; /* SystemInformationBlockType16_r11 */ -static int hf_lte_rrc_sib17_v12xy = -1; /* SystemInformationBlockType17_r12 */ -static int hf_lte_rrc_nonCriticalExtension_86 = -1; /* SystemInformation_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_87 = -1; /* T_nonCriticalExtension_34 */ +static int hf_lte_rrc_sib17_v1250 = -1; /* SystemInformationBlockType17_r12 */ +static int hf_lte_rrc_sib18_v1250 = -1; /* SystemInformationBlockType18_r12 */ +static int hf_lte_rrc_sib19_v1250 = -1; /* SystemInformationBlockType19_r12 */ +static int hf_lte_rrc_nonCriticalExtension_96 = -1; /* SystemInformation_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_97 = -1; /* T_nonCriticalExtension_39 */ static int hf_lte_rrc_cellAccessRelatedInfo = -1; /* T_cellAccessRelatedInfo */ static int hf_lte_rrc_plmn_IdentityList = -1; /* PLMN_IdentityList */ static int hf_lte_rrc_trackingAreaCode = -1; /* TrackingAreaCode */ -static int hf_lte_rrc_cellIdentity = -1; /* CellIdentity */ static int hf_lte_rrc_cellBarred = -1; /* T_cellBarred */ static int hf_lte_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */ static int hf_lte_rrc_csg_Indication = -1; /* BOOLEAN */ @@ -819,24 +912,25 @@ static int hf_lte_rrc_schedulingInfoList = -1; /* SchedulingInfoList */ static int hf_lte_rrc_tdd_Config = -1; /* TDD_Config */ static int hf_lte_rrc_si_WindowLength = -1; /* T_si_WindowLength */ static int hf_lte_rrc_systemInfoValueTag = -1; /* T_systemInfoValueTag */ -static int hf_lte_rrc_nonCriticalExtension_88 = -1; /* SystemInformationBlockType1_v890_IEs */ +static int hf_lte_rrc_nonCriticalExtension_98 = -1; /* SystemInformationBlockType1_v890_IEs */ static int hf_lte_rrc_lateNonCriticalExtension_02 = -1; /* T_lateNonCriticalExtension_01 */ -static int hf_lte_rrc_nonCriticalExtension_89 = -1; /* SystemInformationBlockType1_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_99 = -1; /* SystemInformationBlockType1_v920_IEs */ static int hf_lte_rrc_multiBandInfoList = -1; /* MultiBandInfoList */ -static int hf_lte_rrc_nonCriticalExtension_90 = -1; /* SystemInformationBlockType1_v9e0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_100 = -1; /* SystemInformationBlockType1_v9e0_IEs */ static int hf_lte_rrc_freqBandIndicator_v9e0 = -1; /* FreqBandIndicator_v9e0 */ static int hf_lte_rrc_multiBandInfoList_v9e0 = -1; /* MultiBandInfoList_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_91 = -1; /* T_nonCriticalExtension_35 */ +static int hf_lte_rrc_nonCriticalExtension_101 = -1; /* T_nonCriticalExtension_40 */ static int hf_lte_rrc_ims_EmergencySupport_r9 = -1; /* T_ims_EmergencySupport_r9 */ static int hf_lte_rrc_cellSelectionInfo_v920 = -1; /* CellSelectionInfo_v920 */ -static int hf_lte_rrc_nonCriticalExtension_92 = -1; /* SystemInformationBlockType1_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_102 = -1; /* SystemInformationBlockType1_v1130_IEs */ static int hf_lte_rrc_tdd_Config_v1130 = -1; /* TDD_Config_v1130 */ static int hf_lte_rrc_cellSelectionInfo_v1130 = -1; /* CellSelectionInfo_v1130 */ -static int hf_lte_rrc_nonCriticalExtension_93 = -1; /* SystemInformationBlockType1_v12xy_IEs */ -static int hf_lte_rrc_cellAccessRelatedInfo_v12xy = -1; /* T_cellAccessRelatedInfo_v12xy */ +static int hf_lte_rrc_nonCriticalExtension_103 = -1; /* SystemInformationBlockType1_v1250_IEs */ +static int hf_lte_rrc_cellAccessRelatedInfo_v1250 = -1; /* T_cellAccessRelatedInfo_v1250 */ static int hf_lte_rrc_category0Allowed_r12 = -1; /* T_category0Allowed_r12 */ -static int hf_lte_rrc_cellSelectionInfo_v12xy = -1; /* CellSelectionInfo_v12xy */ -static int hf_lte_rrc_nonCriticalExtension_94 = -1; /* T_nonCriticalExtension_36 */ +static int hf_lte_rrc_cellSelectionInfo_v1250 = -1; /* CellSelectionInfo_v1250 */ +static int hf_lte_rrc_freqBandIndicatorPriority_r12 = -1; /* T_freqBandIndicatorPriority_r12 */ +static int hf_lte_rrc_nonCriticalExtension_104 = -1; /* T_nonCriticalExtension_41 */ static int hf_lte_rrc_PLMN_IdentityList_item = -1; /* PLMN_IdentityInfo */ static int hf_lte_rrc_cellReservedForOperatorUse = -1; /* T_cellReservedForOperatorUse */ static int hf_lte_rrc_SchedulingInfoList_item = -1; /* SchedulingInfo */ @@ -847,65 +941,65 @@ static int hf_lte_rrc_q_QualMin_r9 = -1; /* Q_QualMin_r9 */ static int hf_lte_rrc_q_QualMinOffset_r9 = -1; /* T_q_QualMinOffset_r9 */ static int hf_lte_rrc_q_QualMinWB_r11 = -1; /* Q_QualMin_r9 */ static int hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12 = -1; /* Q_QualMin_r9 */ -static int hf_lte_rrc_criticalExtensions_32 = -1; /* T_criticalExtensions_32 */ -static int hf_lte_rrc_c1_28 = -1; /* T_c1_28 */ +static int hf_lte_rrc_criticalExtensions_37 = -1; /* T_criticalExtensions_37 */ +static int hf_lte_rrc_c1_33 = -1; /* T_c1_33 */ static int hf_lte_rrc_ueAssistanceInformation_r11_01 = -1; /* UEAssistanceInformation_r11_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_32 = -1; /* T_criticalExtensionsFuture_32 */ -static int hf_lte_rrc_powerPrefIndication_r11 = -1; /* T_powerPrefIndication_r11 */ -static int hf_lte_rrc_nonCriticalExtension_95 = -1; /* T_nonCriticalExtension_37 */ -static int hf_lte_rrc_criticalExtensions_33 = -1; /* T_criticalExtensions_33 */ -static int hf_lte_rrc_c1_29 = -1; /* T_c1_29 */ +static int hf_lte_rrc_criticalExtensionsFuture_37 = -1; /* T_criticalExtensionsFuture_37 */ +static int hf_lte_rrc_powerPrefIndication_r11_01 = -1; /* T_powerPrefIndication_r11_01 */ +static int hf_lte_rrc_nonCriticalExtension_105 = -1; /* T_nonCriticalExtension_42 */ +static int hf_lte_rrc_criticalExtensions_38 = -1; /* T_criticalExtensions_38 */ +static int hf_lte_rrc_c1_34 = -1; /* T_c1_34 */ static int hf_lte_rrc_ueCapabilityEnquiry_r8 = -1; /* UECapabilityEnquiry_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_33 = -1; /* T_criticalExtensionsFuture_33 */ +static int hf_lte_rrc_criticalExtensionsFuture_38 = -1; /* T_criticalExtensionsFuture_38 */ static int hf_lte_rrc_ue_CapabilityRequest = -1; /* UE_CapabilityRequest */ -static int hf_lte_rrc_nonCriticalExtension_96 = -1; /* UECapabilityEnquiry_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_97 = -1; /* UECapabilityEnquiry_v1180_IEs */ +static int hf_lte_rrc_nonCriticalExtension_106 = -1; /* UECapabilityEnquiry_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_107 = -1; /* UECapabilityEnquiry_v1180_IEs */ static int hf_lte_rrc_requestedFrequencyBands_r11 = -1; /* SEQUENCE_SIZE_1_16_OF_FreqBandIndicator_r11 */ static int hf_lte_rrc_requestedFrequencyBands_r11_item = -1; /* FreqBandIndicator_r11 */ -static int hf_lte_rrc_nonCriticalExtension_98 = -1; /* T_nonCriticalExtension_38 */ +static int hf_lte_rrc_nonCriticalExtension_108 = -1; /* T_nonCriticalExtension_43 */ static int hf_lte_rrc_UE_CapabilityRequest_item = -1; /* RAT_Type */ -static int hf_lte_rrc_criticalExtensions_34 = -1; /* T_criticalExtensions_34 */ -static int hf_lte_rrc_c1_30 = -1; /* T_c1_30 */ +static int hf_lte_rrc_criticalExtensions_39 = -1; /* T_criticalExtensions_39 */ +static int hf_lte_rrc_c1_35 = -1; /* T_c1_35 */ static int hf_lte_rrc_ueCapabilityInformation_r8 = -1; /* UECapabilityInformation_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_34 = -1; /* T_criticalExtensionsFuture_34 */ +static int hf_lte_rrc_criticalExtensionsFuture_39 = -1; /* T_criticalExtensionsFuture_39 */ static int hf_lte_rrc_ue_CapabilityRAT_ContainerList = -1; /* UE_CapabilityRAT_ContainerList */ -static int hf_lte_rrc_nonCriticalExtension_99 = -1; /* UECapabilityInformation_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_100 = -1; /* UECapabilityInformation_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_109 = -1; /* UECapabilityInformation_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_110 = -1; /* UECapabilityInformation_v1250_IEs */ static int hf_lte_rrc_ue_RadioPagingInfo_r12 = -1; /* UE_RadioPagingInfo_r12 */ -static int hf_lte_rrc_nonCriticalExtension_101 = -1; /* T_nonCriticalExtension_39 */ -static int hf_lte_rrc_criticalExtensions_35 = -1; /* T_criticalExtensions_35 */ -static int hf_lte_rrc_c1_31 = -1; /* T_c1_31 */ +static int hf_lte_rrc_nonCriticalExtension_111 = -1; /* T_nonCriticalExtension_44 */ +static int hf_lte_rrc_criticalExtensions_40 = -1; /* T_criticalExtensions_40 */ +static int hf_lte_rrc_c1_36 = -1; /* T_c1_36 */ static int hf_lte_rrc_ueInformationRequest_r9_01 = -1; /* UEInformationRequest_r9_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_35 = -1; /* T_criticalExtensionsFuture_35 */ +static int hf_lte_rrc_criticalExtensionsFuture_40 = -1; /* T_criticalExtensionsFuture_40 */ static int hf_lte_rrc_rach_ReportReq_r9 = -1; /* BOOLEAN */ static int hf_lte_rrc_rlf_ReportReq_r9 = -1; /* BOOLEAN */ -static int hf_lte_rrc_nonCriticalExtension_102 = -1; /* UEInformationRequest_v930_IEs */ -static int hf_lte_rrc_nonCriticalExtension_103 = -1; /* UEInformationRequest_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_112 = -1; /* UEInformationRequest_v930_IEs */ +static int hf_lte_rrc_nonCriticalExtension_113 = -1; /* UEInformationRequest_v1020_IEs */ static int hf_lte_rrc_logMeasReportReq_r10 = -1; /* T_logMeasReportReq_r10 */ -static int hf_lte_rrc_nonCriticalExtension_104 = -1; /* UEInformationRequest_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_114 = -1; /* UEInformationRequest_v1130_IEs */ static int hf_lte_rrc_connEstFailReportReq_r11 = -1; /* T_connEstFailReportReq_r11 */ -static int hf_lte_rrc_nonCriticalExtension_105 = -1; /* UEInformationRequest_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_115 = -1; /* UEInformationRequest_v1250_IEs */ static int hf_lte_rrc_mobilityHistoryReportReq_r12 = -1; /* T_mobilityHistoryReportReq_r12 */ -static int hf_lte_rrc_nonCriticalExtension_106 = -1; /* T_nonCriticalExtension_40 */ -static int hf_lte_rrc_criticalExtensions_36 = -1; /* T_criticalExtensions_36 */ -static int hf_lte_rrc_c1_32 = -1; /* T_c1_32 */ +static int hf_lte_rrc_nonCriticalExtension_116 = -1; /* T_nonCriticalExtension_45 */ +static int hf_lte_rrc_criticalExtensions_41 = -1; /* T_criticalExtensions_41 */ +static int hf_lte_rrc_c1_37 = -1; /* T_c1_37 */ static int hf_lte_rrc_ueInformationResponse_r9_01 = -1; /* UEInformationResponse_r9_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_36 = -1; /* T_criticalExtensionsFuture_36 */ +static int hf_lte_rrc_criticalExtensionsFuture_41 = -1; /* T_criticalExtensionsFuture_41 */ static int hf_lte_rrc_rach_Report_r9 = -1; /* T_rach_Report_r9 */ static int hf_lte_rrc_numberOfPreamblesSent_r9 = -1; /* NumberOfPreamblesSent_r11 */ static int hf_lte_rrc_contentionDetected_r9 = -1; /* BOOLEAN */ static int hf_lte_rrc_rlf_Report_r9 = -1; /* RLF_Report_r9 */ -static int hf_lte_rrc_nonCriticalExtension_107 = -1; /* UEInformationResponse_v930_IEs */ +static int hf_lte_rrc_nonCriticalExtension_117 = -1; /* UEInformationResponse_v930_IEs */ static int hf_lte_rrc_rlf_Report_v9e0 = -1; /* RLF_Report_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_108 = -1; /* T_nonCriticalExtension_41 */ +static int hf_lte_rrc_nonCriticalExtension_118 = -1; /* T_nonCriticalExtension_46 */ static int hf_lte_rrc_lateNonCriticalExtension_03 = -1; /* T_lateNonCriticalExtension_02 */ -static int hf_lte_rrc_nonCriticalExtension_109 = -1; /* UEInformationResponse_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_119 = -1; /* UEInformationResponse_v1020_IEs */ static int hf_lte_rrc_logMeasReport_r10 = -1; /* LogMeasReport_r10 */ -static int hf_lte_rrc_nonCriticalExtension_110 = -1; /* UEInformationResponse_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_120 = -1; /* UEInformationResponse_v1130_IEs */ static int hf_lte_rrc_connEstFailReport_r11 = -1; /* ConnEstFailReport_r11 */ -static int hf_lte_rrc_nonCriticalExtension_111 = -1; /* UEInformationResponse_v12xy_IEs */ +static int hf_lte_rrc_nonCriticalExtension_121 = -1; /* UEInformationResponse_v1250_IEs */ static int hf_lte_rrc_mobilityHistoryReport_r12 = -1; /* MobilityHistoryReport_r12 */ -static int hf_lte_rrc_nonCriticalExtension_112 = -1; /* T_nonCriticalExtension_42 */ +static int hf_lte_rrc_nonCriticalExtension_122 = -1; /* T_nonCriticalExtension_47 */ static int hf_lte_rrc_measResultLastServCell_r9 = -1; /* T_measResultLastServCell_r9 */ static int hf_lte_rrc_rsrpResult_r9 = -1; /* RSRP_Range */ static int hf_lte_rrc_rsrqResult_r9 = -1; /* RSRQ_Range */ @@ -935,18 +1029,18 @@ static int hf_lte_rrc_tdd_r11 = -1; /* PhysCellIdUTRA_TDD */ static int hf_lte_rrc_cellGlobalId_r11 = -1; /* CellGlobalIdUTRA */ static int hf_lte_rrc_selectedUTRA_CellId_r11 = -1; /* T_selectedUTRA_CellId_r11 */ static int hf_lte_rrc_physCellId_r11_01 = -1; /* T_physCellId_r11_01 */ -static int hf_lte_rrc_failedPCellId_v12xy = -1; /* T_failedPCellId_v12xy */ +static int hf_lte_rrc_failedPCellId_v1250 = -1; /* T_failedPCellId_v1250 */ static int hf_lte_rrc_tac_FailedPCell_r12 = -1; /* TrackingAreaCode */ -static int hf_lte_rrc_measResultLastServCell_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResultLastServCell_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_lastServCellRSRQ_Type_r12 = -1; /* RSRQ_Type_r12 */ -static int hf_lte_rrc_measResultListEUTRA_v12xy = -1; /* MeasResultList2EUTRA_v12xy */ +static int hf_lte_rrc_measResultListEUTRA_v1250 = -1; /* MeasResultList2EUTRA_v1250 */ static int hf_lte_rrc_measResultListEUTRA_v9e0 = -1; /* MeasResultList2EUTRA_v9e0 */ static int hf_lte_rrc_MeasResultList2EUTRA_r9_item = -1; /* MeasResult2EUTRA_r9 */ static int hf_lte_rrc_MeasResultList2EUTRA_v9e0_item = -1; /* MeasResult2EUTRA_v9e0 */ -static int hf_lte_rrc_MeasResultList2EUTRA_v12xy_item = -1; /* MeasResult2EUTRA_v12xy */ +static int hf_lte_rrc_MeasResultList2EUTRA_v1250_item = -1; /* MeasResult2EUTRA_v1250 */ static int hf_lte_rrc_carrierFreq_r9_02 = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_measResultList_r9 = -1; /* MeasResultListEUTRA */ -static int hf_lte_rrc_rsrqType_r12 = -1; /* RSRQ_Type_r12 */ +static int hf_lte_rrc_rsrq_Type_r12 = -1; /* RSRQ_Type_r12 */ static int hf_lte_rrc_MeasResultList2UTRA_r9_item = -1; /* MeasResult2UTRA_r9 */ static int hf_lte_rrc_carrierFreq_r9_03 = -1; /* ARFCN_ValueUTRA */ static int hf_lte_rrc_measResultList_r9_01 = -1; /* MeasResultListUTRA */ @@ -960,8 +1054,6 @@ static int hf_lte_rrc_LogMeasInfoList_r10_item = -1; /* LogMeasInfo_r10 */ static int hf_lte_rrc_relativeTimeStamp_r10 = -1; /* T_relativeTimeStamp_r10 */ static int hf_lte_rrc_servCellIdentity_r10 = -1; /* CellGlobalIdEUTRA */ static int hf_lte_rrc_measResultServCell_r10 = -1; /* T_measResultServCell_r10 */ -static int hf_lte_rrc_rsrpResult_r10 = -1; /* RSRP_Range */ -static int hf_lte_rrc_rsrqResult_r10 = -1; /* RSRQ_Range */ static int hf_lte_rrc_measResultNeighCells_r10 = -1; /* T_measResultNeighCells_r10 */ static int hf_lte_rrc_measResultListEUTRA_r10 = -1; /* MeasResultList2EUTRA_r9 */ static int hf_lte_rrc_measResultListUTRA_r10 = -1; /* MeasResultList2UTRA_r9 */ @@ -969,7 +1061,7 @@ static int hf_lte_rrc_measResultListGERAN_r10 = -1; /* MeasResultList2GERAN_r10 static int hf_lte_rrc_measResultListCDMA2000_r10 = -1; /* MeasResultList2CDMA2000_r9 */ static int hf_lte_rrc_measResultListEUTRA_v1090 = -1; /* MeasResultList2EUTRA_v9e0 */ static int hf_lte_rrc_measResultListMBSFN_r12 = -1; /* MeasResultListMBSFN_r12 */ -static int hf_lte_rrc_measResultServCell_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResultServCell_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_servCellRSRQ_Type_r12 = -1; /* RSRQ_Type_r12 */ static int hf_lte_rrc_MeasResultListMBSFN_r12_item = -1; /* MeasResultMBSFN_r12 */ static int hf_lte_rrc_mbsfn_Area_r12 = -1; /* T_mbsfn_Area_r12 */ @@ -981,7 +1073,9 @@ static int hf_lte_rrc_DataBLER_MCH_ResultList_r12_item = -1; /* DataBLER_MCH_Re static int hf_lte_rrc_mch_Index_r12 = -1; /* INTEGER_1_maxPMCH_PerMBSFN */ static int hf_lte_rrc_dataBLER_Result_r12 = -1; /* BLER_Result_r12 */ static int hf_lte_rrc_bler_r12 = -1; /* BLER_Range_r12 */ -static int hf_lte_rrc_blocksReceived_r12 = -1; /* BIT_STRING_SIZE_11 */ +static int hf_lte_rrc_blocksReceived_r12 = -1; /* T_blocksReceived_r12 */ +static int hf_lte_rrc_n_r12 = -1; /* T_n_r12 */ +static int hf_lte_rrc_m_r12 = -1; /* T_m_r12 */ static int hf_lte_rrc_MeasResultList2GERAN_r10_item = -1; /* MeasResultListGERAN */ static int hf_lte_rrc_failedCellId_r11 = -1; /* CellGlobalIdEUTRA */ static int hf_lte_rrc_locationInfo_r11 = -1; /* LocationInfo_r10 */ @@ -997,23 +1091,23 @@ static int hf_lte_rrc_numberOfPreamblesSent_r11 = -1; /* NumberOfPreamblesSent_ static int hf_lte_rrc_contentionDetected_r11 = -1; /* BOOLEAN */ static int hf_lte_rrc_maxTxPowerReached_r11 = -1; /* BOOLEAN */ static int hf_lte_rrc_measResultListEUTRA_v1130 = -1; /* MeasResultList2EUTRA_v9e0 */ -static int hf_lte_rrc_measResultFailedCell_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResultFailedCell_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_failedCellRSRQ_Type_r12 = -1; /* RSRQ_Type_r12 */ -static int hf_lte_rrc_criticalExtensions_37 = -1; /* T_criticalExtensions_37 */ -static int hf_lte_rrc_c1_33 = -1; /* T_c1_33 */ +static int hf_lte_rrc_criticalExtensions_42 = -1; /* T_criticalExtensions_42 */ +static int hf_lte_rrc_c1_38 = -1; /* T_c1_38 */ static int hf_lte_rrc_ulHandoverPreparationTransfer_r8 = -1; /* ULHandoverPreparationTransfer_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_37 = -1; /* T_criticalExtensionsFuture_37 */ +static int hf_lte_rrc_criticalExtensionsFuture_42 = -1; /* T_criticalExtensionsFuture_42 */ static int hf_lte_rrc_meid = -1; /* BIT_STRING_SIZE_56 */ static int hf_lte_rrc_dedicatedInfo = -1; /* DedicatedInfoCDMA2000 */ -static int hf_lte_rrc_nonCriticalExtension_113 = -1; /* ULHandoverPreparationTransfer_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_114 = -1; /* T_nonCriticalExtension_43 */ -static int hf_lte_rrc_criticalExtensions_38 = -1; /* T_criticalExtensions_38 */ -static int hf_lte_rrc_c1_34 = -1; /* T_c1_34 */ +static int hf_lte_rrc_nonCriticalExtension_123 = -1; /* ULHandoverPreparationTransfer_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_124 = -1; /* T_nonCriticalExtension_48 */ +static int hf_lte_rrc_criticalExtensions_43 = -1; /* T_criticalExtensions_43 */ +static int hf_lte_rrc_c1_39 = -1; /* T_c1_39 */ static int hf_lte_rrc_ulInformationTransfer_r8 = -1; /* ULInformationTransfer_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_38 = -1; /* T_criticalExtensionsFuture_38 */ +static int hf_lte_rrc_criticalExtensionsFuture_43 = -1; /* T_criticalExtensionsFuture_43 */ static int hf_lte_rrc_dedicatedInfoType_01 = -1; /* T_dedicatedInfoType_01 */ -static int hf_lte_rrc_nonCriticalExtension_115 = -1; /* ULInformationTransfer_v8a0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_116 = -1; /* T_nonCriticalExtension_44 */ +static int hf_lte_rrc_nonCriticalExtension_125 = -1; /* ULInformationTransfer_v8a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_126 = -1; /* T_nonCriticalExtension_49 */ static int hf_lte_rrc_ac_BarringInfo = -1; /* T_ac_BarringInfo */ static int hf_lte_rrc_ac_BarringForEmergency = -1; /* BOOLEAN */ static int hf_lte_rrc_ac_BarringForMO_Signalling = -1; /* AC_BarringConfig */ @@ -1033,17 +1127,17 @@ static int hf_lte_rrc_ac_BarringForCSFB_r10 = -1; /* AC_BarringConfig */ static int hf_lte_rrc_ac_BarringSkipForMMTELVoice_r12 = -1; /* T_ac_BarringSkipForMMTELVoice_r12 */ static int hf_lte_rrc_ac_BarringSkipForMMTELVideo_r12 = -1; /* T_ac_BarringSkipForMMTELVideo_r12 */ static int hf_lte_rrc_ac_BarringSkipForSMS_r12 = -1; /* T_ac_BarringSkipForSMS_r12 */ -static int hf_lte_rrc_ac_BarringPerPLMNList_r12 = -1; /* AC_BarringPerPLMNList_r12 */ +static int hf_lte_rrc_ac_BarringPerPLMN_List_r12 = -1; /* AC_BarringPerPLMN_List_r12 */ static int hf_lte_rrc_multiBandInfoList_01 = -1; /* SEQUENCE_SIZE_1_maxMultiBands_OF_AdditionalSpectrumEmission */ static int hf_lte_rrc_multiBandInfoList_item = -1; /* AdditionalSpectrumEmission */ -static int hf_lte_rrc_nonCriticalExtension_117 = -1; /* SystemInformationBlockType2_v9e0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_127 = -1; /* SystemInformationBlockType2_v9e0_IEs */ static int hf_lte_rrc_ul_CarrierFreq_v9e0 = -1; /* ARFCN_ValueEUTRA_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_118 = -1; /* T_nonCriticalExtension_45 */ +static int hf_lte_rrc_nonCriticalExtension_128 = -1; /* T_nonCriticalExtension_50 */ static int hf_lte_rrc_ac_BarringFactor = -1; /* T_ac_BarringFactor */ static int hf_lte_rrc_ac_BarringTime = -1; /* T_ac_BarringTime */ static int hf_lte_rrc_ac_BarringForSpecialAC = -1; /* BIT_STRING_SIZE_5 */ static int hf_lte_rrc_MBSFN_SubframeConfigList_item = -1; /* MBSFN_SubframeConfig */ -static int hf_lte_rrc_AC_BarringPerPLMNList_r12_item = -1; /* AC_BarringPerPLMN_r12 */ +static int hf_lte_rrc_AC_BarringPerPLMN_List_r12_item = -1; /* AC_BarringPerPLMN_r12 */ static int hf_lte_rrc_plmn_IdentityIndex_r12 = -1; /* INTEGER_1_maxPLMN_r11 */ static int hf_lte_rrc_ac_BarringInfo_r12 = -1; /* T_ac_BarringInfo_r12 */ static int hf_lte_rrc_ac_BarringForEmergency_r12 = -1; /* BOOLEAN */ @@ -1087,17 +1181,16 @@ static int hf_lte_rrc_q_OffsetCell = -1; /* Q_OffsetRange */ static int hf_lte_rrc_IntraFreqBlackCellList_item = -1; /* PhysCellIdRange */ static int hf_lte_rrc_interFreqCarrierFreqList = -1; /* InterFreqCarrierFreqList */ static int hf_lte_rrc_lateNonCriticalExtension_05 = -1; /* T_lateNonCriticalExtension_04 */ +static int hf_lte_rrc_interFreqCarrierFreqList_v1250 = -1; /* InterFreqCarrierFreqList_v1250 */ +static int hf_lte_rrc_interFreqCarrierFreqListExt_r12 = -1; /* InterFreqCarrierFreqListExt_r12 */ static int hf_lte_rrc_interFreqCarrierFreqList_v8h0 = -1; /* SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v8h0 */ static int hf_lte_rrc_interFreqCarrierFreqList_v8h0_item = -1; /* InterFreqCarrierFreqInfo_v8h0 */ -static int hf_lte_rrc_nonCriticalExtension_119 = -1; /* SystemInformationBlockType5_v9e0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_129 = -1; /* SystemInformationBlockType5_v9e0_IEs */ static int hf_lte_rrc_interFreqCarrierFreqList_v9e0 = -1; /* SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v9e0 */ static int hf_lte_rrc_interFreqCarrierFreqList_v9e0_item = -1; /* InterFreqCarrierFreqInfo_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_120 = -1; /* SystemInformationBlockType5_v12xy_IEs */ -static int hf_lte_rrc_interFreqCarrierFreqList_v12xy = -1; /* InterFreqCarrierFreqList_v12xy */ -static int hf_lte_rrc_interFreqCarrierFreqListExt_r12 = -1; /* InterFreqCarrierFreqListExt_r12 */ -static int hf_lte_rrc_nonCriticalExtension_121 = -1; /* T_nonCriticalExtension_46 */ +static int hf_lte_rrc_nonCriticalExtension_130 = -1; /* T_nonCriticalExtension_51 */ static int hf_lte_rrc_InterFreqCarrierFreqList_item = -1; /* InterFreqCarrierFreqInfo */ -static int hf_lte_rrc_InterFreqCarrierFreqList_v12xy_item = -1; /* InterFreqCarrierFreqInfo_v12xy */ +static int hf_lte_rrc_InterFreqCarrierFreqList_v1250_item = -1; /* InterFreqCarrierFreqInfo_v1250 */ static int hf_lte_rrc_InterFreqCarrierFreqListExt_r12_item = -1; /* InterFreqCarrierFreqInfo_r12 */ static int hf_lte_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueEUTRA */ static int hf_lte_rrc_threshX_High = -1; /* ReselectionThreshold */ @@ -1136,16 +1229,15 @@ static int hf_lte_rrc_carrierFreqListUTRA_TDD = -1; /* CarrierFreqListUTRA_TDD static int hf_lte_rrc_t_ReselectionUTRA = -1; /* T_Reselection */ static int hf_lte_rrc_t_ReselectionUTRA_SF = -1; /* SpeedStateScaleFactors */ static int hf_lte_rrc_lateNonCriticalExtension_06 = -1; /* T_lateNonCriticalExtension_05 */ -static int hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0 = -1; /* SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0 */ -static int hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0_item = -1; /* CarrierFreqInfoUTRA_FDD_v8h0 */ -static int hf_lte_rrc_nonCriticalExtension_122 = -1; /* SystemInformationBlockType6_v12xy_IEs */ -static int hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy = -1; /* SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy */ -static int hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy_item = -1; /* CarrierFreqInfoUTRA_v12xy */ -static int hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy = -1; /* SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy */ -static int hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy_item = -1; /* CarrierFreqInfoUTRA_v12xy */ +static int hf_lte_rrc_carrierFreqListUTRA_FDD_v1250 = -1; /* SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 */ +static int hf_lte_rrc_carrierFreqListUTRA_FDD_v1250_item = -1; /* CarrierFreqInfoUTRA_v1250 */ +static int hf_lte_rrc_carrierFreqListUTRA_TDD_v1250 = -1; /* SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 */ +static int hf_lte_rrc_carrierFreqListUTRA_TDD_v1250_item = -1; /* CarrierFreqInfoUTRA_v1250 */ static int hf_lte_rrc_carrierFreqListUTRA_FDD_Ext_r12 = -1; /* CarrierFreqListUTRA_FDD_Ext_r12 */ static int hf_lte_rrc_carrierFreqListUTRA_TDD_Ext_r12 = -1; /* CarrierFreqListUTRA_TDD_Ext_r12 */ -static int hf_lte_rrc_nonCriticalExtension_123 = -1; /* T_nonCriticalExtension_47 */ +static int hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0 = -1; /* SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0 */ +static int hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0_item = -1; /* CarrierFreqInfoUTRA_FDD_v8h0 */ +static int hf_lte_rrc_nonCriticalExtension_131 = -1; /* T_nonCriticalExtension_52 */ static int hf_lte_rrc_reducedMeasPerformance_r12_02 = -1; /* T_reducedMeasPerformance_r12_02 */ static int hf_lte_rrc_CarrierFreqListUTRA_FDD_item = -1; /* CarrierFreqUTRA_FDD */ static int hf_lte_rrc_q_RxLevMin_01 = -1; /* INTEGER_M60_M13 */ @@ -1286,15 +1378,30 @@ static int hf_lte_rrc_timeInfoUTC_r11 = -1; /* T_timeInfoUTC_r11 */ static int hf_lte_rrc_dayLightSavingTime_r11 = -1; /* T_dayLightSavingTime_r11 */ static int hf_lte_rrc_leapSeconds_r11 = -1; /* T_leapSeconds_r11 */ static int hf_lte_rrc_localTimeOffset_r11 = -1; /* INTEGER_M63_64 */ -static int hf_lte_rrc_wlan_OffloadPerPLMN_List_r12 = -1; /* SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12 */ -static int hf_lte_rrc_wlan_OffloadPerPLMN_List_r12_item = -1; /* WLAN_OffloadPerPLMN_r12 */ +static int hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12 = -1; /* SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12 */ +static int hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12_item = -1; /* WLAN_OffloadInfoPerPLMN_r12 */ static int hf_lte_rrc_wlan_OffloadConfigCommon_r12 = -1; /* WLAN_OffloadConfig_r12 */ static int hf_lte_rrc_wlan_Id_List_r12 = -1; /* WLAN_Id_List_r12 */ -static int hf_lte_rrc_WLAN_Id_List_r12_item = -1; /* WLAN_Id_r12 */ -static int hf_lte_rrc_wlan_Identifiers = -1; /* T_wlan_Identifiers */ -static int hf_lte_rrc_ssid = -1; /* T_ssid */ -static int hf_lte_rrc_bssid = -1; /* OCTET_STRING_SIZE_6 */ -static int hf_lte_rrc_hessid = -1; /* OCTET_STRING_SIZE_6 */ +static int hf_lte_rrc_WLAN_Id_List_r12_item = -1; /* WLAN_Identifiers_r12 */ +static int hf_lte_rrc_ssid_r12 = -1; /* T_ssid_r12 */ +static int hf_lte_rrc_bssid_r12 = -1; /* OCTET_STRING_SIZE_6 */ +static int hf_lte_rrc_hessid_r12 = -1; /* OCTET_STRING_SIZE_6 */ +static int hf_lte_rrc_commConfig_r12 = -1; /* T_commConfig_r12 */ +static int hf_lte_rrc_commRxPool_r12 = -1; /* SL_CommRxPoolList_r12 */ +static int hf_lte_rrc_commTxPoolNormalCommon_r12 = -1; /* SL_CommTxPoolList_r12 */ +static int hf_lte_rrc_commTxPoolExceptional_r12 = -1; /* SL_CommTxPoolList_r12 */ +static int hf_lte_rrc_commSyncConfig_r12 = -1; /* SL_SyncConfigList_r12 */ +static int hf_lte_rrc_discConfig_r12 = -1; /* T_discConfig_r12 */ +static int hf_lte_rrc_discRxPool_r12 = -1; /* SL_DiscRxPoolList_r12 */ +static int hf_lte_rrc_discTxPoolCommon_r12 = -1; /* SL_DiscTxPoolList_r12 */ +static int hf_lte_rrc_discTxPowerInfo_r12 = -1; /* SL_DiscTxPowerInfoList_r12 */ +static int hf_lte_rrc_discSyncConfig_r12 = -1; /* SL_SyncConfigList_r12 */ +static int hf_lte_rrc_discInterFreqList_r12 = -1; /* SL_CarrierFreqInfoList_r12 */ +static int hf_lte_rrc_SL_CarrierFreqInfoList_r12_item = -1; /* SL_CarrierFreqInfo_r12 */ +static int hf_lte_rrc_plmn_IdentityList_r12 = -1; /* PLMN_IdentityList4_r12 */ +static int hf_lte_rrc_PLMN_IdentityList4_r12_item = -1; /* PLMN_IdentityInfo2_r12 */ +static int hf_lte_rrc_plmn_Index_r12 = -1; /* INTEGER_1_maxPLMN_r11 */ +static int hf_lte_rrc_plmnIdentity_r12 = -1; /* PLMN_Identity */ static int hf_lte_rrc_antennaPortsCount = -1; /* T_antennaPortsCount */ static int hf_lte_rrc_transmissionMode = -1; /* T_transmissionMode */ static int hf_lte_rrc_codebookSubsetRestriction = -1; /* T_codebookSubsetRestriction */ @@ -1315,7 +1422,7 @@ static int hf_lte_rrc_transmissionMode_r10 = -1; /* T_transmissionMode_r10 */ static int hf_lte_rrc_codebookSubsetRestriction_r10 = -1; /* BIT_STRING */ static int hf_lte_rrc_ue_TransmitAntennaSelection_01 = -1; /* T_ue_TransmitAntennaSelection_01 */ static int hf_lte_rrc_setup_03 = -1; /* T_setup_03 */ -static int hf_lte_rrc_alternativeCodebookEnabledFor4TX_r12 = -1; /* T_alternativeCodebookEnabledFor4TX_r12 */ +static int hf_lte_rrc_alternativeCodebookEnabledFor4TX_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_transmissionModeUL_r10 = -1; /* T_transmissionModeUL_r10 */ static int hf_lte_rrc_fourAntennaPortActivated_r10 = -1; /* T_fourAntennaPortActivated_r10 */ static int hf_lte_rrc_cqi_ReportModeAperiodic = -1; /* CQI_ReportModeAperiodic */ @@ -1334,9 +1441,9 @@ static int hf_lte_rrc_cqi_ReportPeriodic_v1130 = -1; /* CQI_ReportPeriodic_v113 static int hf_lte_rrc_cqi_ReportBoth_r11 = -1; /* CQI_ReportBoth_r11 */ static int hf_lte_rrc_csi_SubframePatternConfig_r12 = -1; /* T_csi_SubframePatternConfig_r12 */ static int hf_lte_rrc_setup_05 = -1; /* T_setup_05 */ -static int hf_lte_rrc_csi_MeasSubframeSet_r12 = -1; /* BIT_STRING_SIZE_10 */ -static int hf_lte_rrc_cqi_ReportBoth_r12 = -1; /* CQI_ReportBoth_r12 */ -static int hf_lte_rrc_cqi_ReportAperiodic_v12x0 = -1; /* CQI_ReportAperiodic_v12x0 */ +static int hf_lte_rrc_csi_MeasSubframeSets_r12 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_lte_rrc_cqi_ReportBoth_v1250 = -1; /* CQI_ReportBoth_v1250 */ +static int hf_lte_rrc_cqi_ReportAperiodic_v1250 = -1; /* CQI_ReportAperiodic_v1250 */ static int hf_lte_rrc_altCQI_Table_r12 = -1; /* T_altCQI_Table_r12 */ static int hf_lte_rrc_cqi_ReportModeAperiodic_r10 = -1; /* CQI_ReportModeAperiodic */ static int hf_lte_rrc_nomPDSCH_RS_EPRE_Offset_r10 = -1; /* INTEGER_M1_6 */ @@ -1386,7 +1493,7 @@ static int hf_lte_rrc_aperiodicCSI_Trigger_r10 = -1; /* T_aperiodicCSI_Trigger_ static int hf_lte_rrc_trigger1_r10 = -1; /* BIT_STRING_SIZE_8 */ static int hf_lte_rrc_trigger2_r10 = -1; /* BIT_STRING_SIZE_8 */ static int hf_lte_rrc_setup_11 = -1; /* T_setup_11 */ -static int hf_lte_rrc_aperiodicCSI_Trigger_r12 = -1; /* T_aperiodicCSI_Trigger_r12 */ +static int hf_lte_rrc_aperiodicCSI_Trigger_v1250 = -1; /* T_aperiodicCSI_Trigger_v1250 */ static int hf_lte_rrc_trigger_SubframeSetIndicator_r12 = -1; /* T_trigger_SubframeSetIndicator_r12 */ static int hf_lte_rrc_trigger1_SubframeSetIndicator_r12 = -1; /* BIT_STRING_SIZE_8 */ static int hf_lte_rrc_trigger2_SubframeSetIndicator_r12 = -1; /* BIT_STRING_SIZE_8 */ @@ -1398,12 +1505,10 @@ static int hf_lte_rrc_csi_IM_ConfigToReleaseList_r11 = -1; /* CSI_IM_ConfigToRe static int hf_lte_rrc_csi_IM_ConfigToAddModList_r11 = -1; /* CSI_IM_ConfigToAddModList_r11 */ static int hf_lte_rrc_csi_ProcessToReleaseList_r11 = -1; /* CSI_ProcessToReleaseList_r11 */ static int hf_lte_rrc_csi_ProcessToAddModList_r11 = -1; /* CSI_ProcessToAddModList_r11 */ -static int hf_lte_rrc_csi_IM_ConfigToReleaseList_r12 = -1; /* CSI_IM_ConfigToReleaseList_r12 */ -static int hf_lte_rrc_csi_IM_ConfigToAddModList_r12 = -1; /* CSI_IM_ConfigToAddModList_r12 */ +static int hf_lte_rrc_csi_IM_ConfigToReleaseListExt_r12 = -1; /* CSI_IM_ConfigId_v1250 */ +static int hf_lte_rrc_csi_IM_ConfigToAddModListExt_r12 = -1; /* CSI_IM_ConfigExt_r12 */ static int hf_lte_rrc_CSI_IM_ConfigToAddModList_r11_item = -1; /* CSI_IM_Config_r11 */ -static int hf_lte_rrc_CSI_IM_ConfigToAddModList_r12_item = -1; /* CSI_IM_Config_r12 */ static int hf_lte_rrc_CSI_IM_ConfigToReleaseList_r11_item = -1; /* CSI_IM_ConfigId_r11 */ -static int hf_lte_rrc_CSI_IM_ConfigToReleaseList_r12_item = -1; /* CSI_IM_ConfigId_r12 */ static int hf_lte_rrc_CSI_ProcessToAddModList_r11_item = -1; /* CSI_Process_r11 */ static int hf_lte_rrc_CSI_ProcessToReleaseList_r11_item = -1; /* CSI_ProcessId_r11 */ static int hf_lte_rrc_ri_Ref_CSI_ProcessId_r11 = -1; /* CSI_ProcessId_r11 */ @@ -1417,7 +1522,7 @@ static int hf_lte_rrc_pdsch_Start_r10 = -1; /* INTEGER_1_4 */ static int hf_lte_rrc_csi_IM_ConfigId_r11 = -1; /* CSI_IM_ConfigId_r11 */ static int hf_lte_rrc_resourceConfig_r11 = -1; /* INTEGER_0_31 */ static int hf_lte_rrc_subframeConfig_r11 = -1; /* INTEGER_0_154 */ -static int hf_lte_rrc_csi_IM_ConfigId_r12 = -1; /* CSI_IM_ConfigId_r12 */ +static int hf_lte_rrc_csi_IM_ConfigId_v1250 = -1; /* CSI_IM_ConfigId_v1250 */ static int hf_lte_rrc_resourceConfig_r12 = -1; /* INTEGER_0_31 */ static int hf_lte_rrc_subframeConfig_r12 = -1; /* INTEGER_0_154 */ static int hf_lte_rrc_csi_ProcessId_r11 = -1; /* CSI_ProcessId_r11 */ @@ -1428,45 +1533,44 @@ static int hf_lte_rrc_cqi_ReportBothProc_r11 = -1; /* CQI_ReportBothProc_r11 */ static int hf_lte_rrc_cqi_ReportPeriodicProcId_r11 = -1; /* INTEGER_0_maxCQI_ProcExt_r11 */ static int hf_lte_rrc_cqi_ReportAperiodicProc_r11 = -1; /* CQI_ReportAperiodicProc_r11 */ static int hf_lte_rrc_alternativeCodebookEnabledFor4TXProc_r12 = -1; /* T_alternativeCodebookEnabledFor4TXProc_r12 */ -static int hf_lte_rrc_csi_IM_ConfigIdList_r12 = -1; /* SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12 */ -static int hf_lte_rrc_csi_IM_ConfigIdList_r12_item = -1; /* CSI_IM_ConfigId_r12 */ -static int hf_lte_rrc_cqi_ReportAperiodicProcSecond_r12 = -1; /* CQI_ReportAperiodicProc_r11 */ +static int hf_lte_rrc_csi_IM_ConfigIdList_r12 = -1; /* T_csi_IM_ConfigIdList_r12 */ +static int hf_lte_rrc_setup_12 = -1; /* SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12 */ +static int hf_lte_rrc_setup_item = -1; /* CSI_IM_ConfigId_r12 */ +static int hf_lte_rrc_cqi_ReportAperiodicProc2_r12 = -1; /* T_cqi_ReportAperiodicProc2_r12 */ +static int hf_lte_rrc_setup_13 = -1; /* CQI_ReportAperiodicProc_r11 */ static int hf_lte_rrc_p_C_r11 = -1; /* INTEGER_M8_15 */ static int hf_lte_rrc_codebookSubsetRestriction_r11 = -1; /* BIT_STRING */ static int hf_lte_rrc_csi_RS_r10 = -1; /* T_csi_RS_r10 */ -static int hf_lte_rrc_setup_12 = -1; /* T_setup_12 */ +static int hf_lte_rrc_setup_14 = -1; /* T_setup_12 */ static int hf_lte_rrc_antennaPortsCount_r10 = -1; /* T_antennaPortsCount_r10 */ static int hf_lte_rrc_resourceConfig_r10 = -1; /* INTEGER_0_31 */ static int hf_lte_rrc_subframeConfig_r10 = -1; /* INTEGER_0_154 */ static int hf_lte_rrc_p_C_r10 = -1; /* INTEGER_M8_15 */ -static int hf_lte_rrc_zeroTxPowerCSI_RS_r10 = -1; /* T_zeroTxPowerCSI_RS_r10 */ -static int hf_lte_rrc_setup_13 = -1; /* T_setup_13 */ -static int hf_lte_rrc_zeroTxPowerResourceConfigList_r10 = -1; /* BIT_STRING_SIZE_16 */ -static int hf_lte_rrc_zeroTxPowerSubframeConfig_r10 = -1; /* INTEGER_0_154 */ -static int hf_lte_rrc_eimta_ZeroTxPowerCSI_RS_r12 = -1; /* T_eimta_ZeroTxPowerCSI_RS_r12 */ -static int hf_lte_rrc_setup_14 = -1; /* T_setup_14 */ -static int hf_lte_rrc_zeroTxPowerResourceConfigList_r12 = -1; /* BIT_STRING_SIZE_16 */ -static int hf_lte_rrc_zeroTxPowerSubframeConfig_r12 = -1; /* INTEGER_0_154 */ +static int hf_lte_rrc_zeroTxPowerCSI_RS_r10 = -1; /* ZeroTxPowerCSI_RS_Conf_r12 */ +static int hf_lte_rrc_zeroTxPowerCSI_RS2_r12 = -1; /* ZeroTxPowerCSI_RS_Conf_r12 */ static int hf_lte_rrc_ds_ZeroTxPowerCSI_RS_r12 = -1; /* T_ds_ZeroTxPowerCSI_RS_r12 */ -static int hf_lte_rrc_setup_15 = -1; /* T_setup_15 */ +static int hf_lte_rrc_setup_15 = -1; /* T_setup_13 */ static int hf_lte_rrc_zeroTxPowerCSI_RS_List_r12 = -1; /* SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12 */ static int hf_lte_rrc_zeroTxPowerCSI_RS_List_r12_item = -1; /* ZeroTxPowerCSI_RS_r12 */ +static int hf_lte_rrc_setup_16 = -1; /* ZeroTxPowerCSI_RS_r12 */ +static int hf_lte_rrc_zeroTxPowerResourceConfigList_r12 = -1; /* BIT_STRING_SIZE_16 */ +static int hf_lte_rrc_zeroTxPowerSubframeConfig_r12 = -1; /* INTEGER_0_154 */ static int hf_lte_rrc_antennaPortsCount_r11 = -1; /* T_antennaPortsCount_r11 */ static int hf_lte_rrc_scramblingIdentity_r11 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_qcl_CRS_Info_r11 = -1; /* T_qcl_CRS_Info_r11 */ static int hf_lte_rrc_qcl_ScramblingIdentity_r11 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_crs_PortsCount_r11 = -1; /* T_crs_PortsCount_r11 */ static int hf_lte_rrc_mbsfn_SubframeConfigList_r11 = -1; /* T_mbsfn_SubframeConfigList_r11 */ -static int hf_lte_rrc_setup_16 = -1; /* T_setup_16 */ +static int hf_lte_rrc_setup_17 = -1; /* T_setup_14 */ static int hf_lte_rrc_subframeConfigList = -1; /* MBSFN_SubframeConfigList */ static int hf_lte_rrc_csi_RS_ConfigZPId_r11 = -1; /* CSI_RS_ConfigZPId_r11 */ static int hf_lte_rrc_resourceConfigList_r11 = -1; /* BIT_STRING_SIZE_16 */ -static int hf_lte_rrc_setup_17 = -1; /* T_setup_17 */ +static int hf_lte_rrc_setup_18 = -1; /* T_setup_15 */ static int hf_lte_rrc_scramblingIdentity2_r11 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_config_r11 = -1; /* T_config_r11 */ -static int hf_lte_rrc_setup_18 = -1; /* T_setup_18 */ +static int hf_lte_rrc_setup_19 = -1; /* T_setup_16 */ static int hf_lte_rrc_subframePatternConfig_r11 = -1; /* T_subframePatternConfig_r11 */ -static int hf_lte_rrc_setup_19 = -1; /* T_setup_19 */ +static int hf_lte_rrc_setup_20 = -1; /* T_setup_17 */ static int hf_lte_rrc_subframePattern_r11 = -1; /* MeasSubframePattern_r10 */ static int hf_lte_rrc_startSymbol_r11 = -1; /* INTEGER_1_4 */ static int hf_lte_rrc_setConfigToReleaseList_r11 = -1; /* EPDCCH_SetConfigToReleaseList_r11 */ @@ -1481,16 +1585,17 @@ static int hf_lte_rrc_resourceBlockAssignment_r11_01 = -1; /* BIT_STRING_SIZE_4 static int hf_lte_rrc_dmrs_ScramblingSequenceInt_r11 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_pucch_ResourceStartOffset_r11 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_re_MappingQCL_ConfigId_r11 = -1; /* PDSCH_RE_MappingQCL_ConfigId_r11 */ -static int hf_lte_rrc_csi_RS_ConfigZPId_Second_r12 = -1; /* CSI_RS_ConfigZPId_r11 */ -static int hf_lte_rrc_setup_20 = -1; /* T_setup_20 */ +static int hf_lte_rrc_csi_RS_ConfigZPId2_r12 = -1; /* T_csi_RS_ConfigZPId2_r12 */ +static int hf_lte_rrc_setup_21 = -1; /* CSI_RS_ConfigZPId_r11 */ +static int hf_lte_rrc_setup_22 = -1; /* T_setup_18 */ static int hf_lte_rrc_eimta_RNTI_r12 = -1; /* C_RNTI */ static int hf_lte_rrc_eimta_CommandPeriodicity_r12 = -1; /* T_eimta_CommandPeriodicity_r12 */ static int hf_lte_rrc_eimta_CommandSubframeSet_r12 = -1; /* BIT_STRING_SIZE_10 */ -static int hf_lte_rrc_setup_21 = -1; /* T_setup_21 */ -static int hf_lte_rrc_eimta_ReConfigIndex_r12 = -1; /* INTEGER_1_5 */ -static int hf_lte_rrc_eimta_HarqReferenceConfig_r12 = -1; /* T_eimta_HarqReferenceConfig_r12 */ -static int hf_lte_rrc_mbsfn_SubframeConfigList_v12x0 = -1; /* T_mbsfn_SubframeConfigList_v12x0 */ -static int hf_lte_rrc_setup_22 = -1; /* T_setup_22 */ +static int hf_lte_rrc_setup_23 = -1; /* T_setup_19 */ +static int hf_lte_rrc_eimta_UL_DL_ConfigIndex_r12 = -1; /* INTEGER_1_5 */ +static int hf_lte_rrc_eimta_HARQ_ReferenceConfig_r12 = -1; /* T_eimta_HARQ_ReferenceConfig_r12 */ +static int hf_lte_rrc_mbsfn_SubframeConfigList_v1250 = -1; /* T_mbsfn_SubframeConfigList_v1250 */ +static int hf_lte_rrc_setup_24 = -1; /* T_setup_20 */ static int hf_lte_rrc_subframeConfigList_r12 = -1; /* MBSFN_SubframeConfigList */ static int hf_lte_rrc_ul_SpecificParameters = -1; /* T_ul_SpecificParameters */ static int hf_lte_rrc_priority = -1; /* T_priority */ @@ -1501,13 +1606,13 @@ static int hf_lte_rrc_logicalChannelSR_Mask_r9 = -1; /* T_logicalChannelSR_Mask static int hf_lte_rrc_logicalChannelSR_Prohibit_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_ul_SCH_Config = -1; /* T_ul_SCH_Config */ static int hf_lte_rrc_maxHARQ_Tx = -1; /* T_maxHARQ_Tx */ -static int hf_lte_rrc_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */ -static int hf_lte_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */ +static int hf_lte_rrc_periodicBSR_Timer = -1; /* PeriodicBSR_Timer_r12 */ +static int hf_lte_rrc_retxBSR_Timer = -1; /* RetxBSR_Timer_r12 */ static int hf_lte_rrc_ttiBundling = -1; /* BOOLEAN */ static int hf_lte_rrc_drx_Config = -1; /* DRX_Config */ static int hf_lte_rrc_timeAlignmentTimerDedicated = -1; /* TimeAlignmentTimer */ static int hf_lte_rrc_phr_Config = -1; /* T_phr_Config */ -static int hf_lte_rrc_setup_23 = -1; /* T_setup_23 */ +static int hf_lte_rrc_setup_25 = -1; /* T_setup_21 */ static int hf_lte_rrc_periodicPHR_Timer = -1; /* T_periodicPHR_Timer */ static int hf_lte_rrc_prohibitPHR_Timer = -1; /* T_prohibitPHR_Timer */ static int hf_lte_rrc_dl_PathlossChange = -1; /* T_dl_PathlossChange */ @@ -1521,14 +1626,14 @@ static int hf_lte_rrc_stag_ToAddModList_r11 = -1; /* STAG_ToAddModList_r11 */ static int hf_lte_rrc_drx_Config_v1130 = -1; /* DRX_Config_v1130 */ static int hf_lte_rrc_e_HARQ_Pattern_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_dualConnectivityPHR = -1; /* T_dualConnectivityPHR */ -static int hf_lte_rrc_setup_24 = -1; /* T_setup_24 */ +static int hf_lte_rrc_setup_26 = -1; /* T_setup_22 */ static int hf_lte_rrc_phr_ModeOtherCG_r12 = -1; /* T_phr_ModeOtherCG_r12 */ static int hf_lte_rrc_logicalChannelSR_Config_r12 = -1; /* T_logicalChannelSR_Config_r12 */ -static int hf_lte_rrc_setup_25 = -1; /* T_setup_25 */ +static int hf_lte_rrc_setup_27 = -1; /* T_setup_23 */ static int hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12 = -1; /* T_logicalChannelSR_ProhibitTimer_r12 */ static int hf_lte_rrc_stag_Id_r11 = -1; /* STAG_Id_r11 */ static int hf_lte_rrc_release_01 = -1; /* T_release */ -static int hf_lte_rrc_setup_26 = -1; /* T_setup_26 */ +static int hf_lte_rrc_setup_28 = -1; /* T_setup_24 */ static int hf_lte_rrc_onDurationTimer = -1; /* T_onDurationTimer */ static int hf_lte_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */ static int hf_lte_rrc_drx_RetransmissionTimer = -1; /* T_drx_RetransmissionTimer */ @@ -1581,7 +1686,7 @@ static int hf_lte_rrc_profile0x0103 = -1; /* BOOLEAN */ static int hf_lte_rrc_profile0x0104 = -1; /* BOOLEAN */ static int hf_lte_rrc_rn_IntegrityProtection_r10 = -1; /* T_rn_IntegrityProtection_r10 */ static int hf_lte_rrc_pdcp_SN_Size_v1130 = -1; /* T_pdcp_SN_Size_v1130 */ -static int hf_lte_rrc_ul_DataPath_r12 = -1; /* T_ul_DataPath_r12 */ +static int hf_lte_rrc_ul_DataSplitDRB_ViaSCG_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_t_Reordering_r12 = -1; /* T_t_Reordering_r12 */ static int hf_lte_rrc_referenceSignalPower = -1; /* T_referenceSignalPower */ static int hf_lte_rrc_p_b = -1; /* INTEGER_0_3 */ @@ -1597,7 +1702,7 @@ static int hf_lte_rrc_optionalSetOfFields_r11 = -1; /* T_optionalSetOfFields_r1 static int hf_lte_rrc_crs_PortsCount_r11_01 = -1; /* T_crs_PortsCount_r11_01 */ static int hf_lte_rrc_crs_FreqShift_r11 = -1; /* INTEGER_0_5 */ static int hf_lte_rrc_mbsfn_SubframeConfigList_r11_01 = -1; /* T_mbsfn_SubframeConfigList_r11_01 */ -static int hf_lte_rrc_setup_27 = -1; /* T_setup_27 */ +static int hf_lte_rrc_setup_29 = -1; /* T_setup_25 */ static int hf_lte_rrc_pdsch_Start_r11 = -1; /* T_pdsch_Start_r11 */ static int hf_lte_rrc_qcl_CSI_RS_ConfigNZPId_r11 = -1; /* CSI_RS_ConfigNZPId_r11 */ static int hf_lte_rrc_phich_Duration = -1; /* T_phich_Duration */ @@ -1627,7 +1732,7 @@ static int hf_lte_rrc_soundingRS_UL_ConfigDedicated_v1020 = -1; /* SoundingRS_U static int hf_lte_rrc_soundingRS_UL_ConfigDedicatedAperiodic_r10 = -1; /* SoundingRS_UL_ConfigDedicatedAperiodic_r10 */ static int hf_lte_rrc_uplinkPowerControlDedicated_v1020 = -1; /* UplinkPowerControlDedicated_v1020 */ static int hf_lte_rrc_additionalSpectrumEmissionCA_r10 = -1; /* T_additionalSpectrumEmissionCA_r10 */ -static int hf_lte_rrc_setup_28 = -1; /* T_setup_28 */ +static int hf_lte_rrc_setup_30 = -1; /* T_setup_26 */ static int hf_lte_rrc_additionalSpectrumEmissionPCell_r10 = -1; /* AdditionalSpectrumEmission */ static int hf_lte_rrc_csi_RS_ConfigNZPToReleaseList_r11 = -1; /* CSI_RS_ConfigNZPToReleaseList_r11 */ static int hf_lte_rrc_csi_RS_ConfigNZPToAddModList_r11 = -1; /* CSI_RS_ConfigNZPToAddModList_r11 */ @@ -1639,14 +1744,14 @@ static int hf_lte_rrc_cqi_ReportConfig_v1130 = -1; /* CQI_ReportConfig_v1130 */ static int hf_lte_rrc_pucch_ConfigDedicated_v1130 = -1; /* PUCCH_ConfigDedicated_v1130 */ static int hf_lte_rrc_pusch_ConfigDedicated_v1130 = -1; /* PUSCH_ConfigDedicated_v1130 */ static int hf_lte_rrc_uplinkPowerControlDedicated_v1130 = -1; /* UplinkPowerControlDedicated_v1130 */ -static int hf_lte_rrc_antennaInfo_v12xx = -1; /* AntennaInfoDedicated_v12xx */ +static int hf_lte_rrc_antennaInfo_v1250 = -1; /* AntennaInfoDedicated_v1250 */ static int hf_lte_rrc_eimta_MainConfig_r12 = -1; /* EIMTA_MainConfig_r12 */ static int hf_lte_rrc_eimta_MainConfigPCell_r12 = -1; /* EIMTA_MainConfigServCell_r12 */ -static int hf_lte_rrc_pucch_ConfigDedicated_v12x0 = -1; /* PUCCH_ConfigDedicated_v12x0 */ -static int hf_lte_rrc_cqi_ReportConfigPCell_v12x0 = -1; /* CQI_ReportConfig_v12x0 */ -static int hf_lte_rrc_uplinkPowerControlDedicated_v12x0 = -1; /* UplinkPowerControlDedicated_v12x0 */ -static int hf_lte_rrc_pusch_ConfigDedicated_v12x0 = -1; /* PUSCH_ConfigDedicated_v12x0 */ -static int hf_lte_rrc_csi_RS_Config2_r12 = -1; /* CSI_RS_Config2_r12 */ +static int hf_lte_rrc_pucch_ConfigDedicated_v1250 = -1; /* PUCCH_ConfigDedicated_v1250 */ +static int hf_lte_rrc_cqi_ReportConfigPCell_v1250 = -1; /* CQI_ReportConfig_v1250 */ +static int hf_lte_rrc_uplinkPowerControlDedicated_v1250 = -1; /* UplinkPowerControlDedicated_v1250 */ +static int hf_lte_rrc_pusch_ConfigDedicated_v1250 = -1; /* PUSCH_ConfigDedicated_v1250 */ +static int hf_lte_rrc_csi_RS_Config_v1250 = -1; /* CSI_RS_Config_v1250 */ static int hf_lte_rrc_nonUL_Configuration_r10 = -1; /* T_nonUL_Configuration_r10 */ static int hf_lte_rrc_antennaInfo_r10_01 = -1; /* AntennaInfoDedicated_r10 */ static int hf_lte_rrc_crossCarrierSchedulingConfig_r10 = -1; /* CrossCarrierSchedulingConfig_r10 */ @@ -1658,8 +1763,8 @@ static int hf_lte_rrc_cqi_ReportConfigSCell_r10 = -1; /* CQI_ReportConfigSCell_ static int hf_lte_rrc_soundingRS_UL_ConfigDedicated_r10 = -1; /* SoundingRS_UL_ConfigDedicated */ static int hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1130 = -1; /* UplinkPowerControlDedicated_v1130 */ static int hf_lte_rrc_eimta_MainConfigSCell_r12 = -1; /* EIMTA_MainConfigServCell_r12 */ -static int hf_lte_rrc_cqi_ReportConfigSCell_v12x0 = -1; /* CQI_ReportConfig_v12x0 */ -static int hf_lte_rrc_uplinkPowerControlDedicatedSCell_v12x0 = -1; /* UplinkPowerControlDedicated_v12x0 */ +static int hf_lte_rrc_cqi_ReportConfigSCell_v1250 = -1; /* CQI_ReportConfig_v1250 */ +static int hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1250 = -1; /* UplinkPowerControlDedicated_v1250 */ static int hf_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11_item = -1; /* CSI_RS_ConfigNZP_r11 */ static int hf_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11_item = -1; /* CSI_RS_ConfigNZPId_r11 */ static int hf_lte_rrc_CSI_RS_ConfigZPToAddModList_r11_item = -1; /* CSI_RS_ConfigZP_r11 */ @@ -1676,7 +1781,7 @@ static int hf_lte_rrc_nRB_CQI = -1; /* INTEGER_0_98 */ static int hf_lte_rrc_nCS_AN = -1; /* INTEGER_0_7 */ static int hf_lte_rrc_n1PUCCH_AN = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_ackNackRepetition = -1; /* T_ackNackRepetition */ -static int hf_lte_rrc_setup_29 = -1; /* T_setup_29 */ +static int hf_lte_rrc_setup_31 = -1; /* T_setup_27 */ static int hf_lte_rrc_repetitionFactor = -1; /* T_repetitionFactor */ static int hf_lte_rrc_n1PUCCH_AN_Rep = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_tdd_AckNackFeedbackMode = -1; /* T_tdd_AckNackFeedbackMode */ @@ -1685,27 +1790,27 @@ static int hf_lte_rrc_format3_r10 = -1; /* T_format3_r10 */ static int hf_lte_rrc_n3PUCCH_AN_List_r10 = -1; /* T_n3PUCCH_AN_List_r10 */ static int hf_lte_rrc_n3PUCCH_AN_List_r10_item = -1; /* INTEGER_0_549 */ static int hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format3_r10 = -1; /* T_twoAntennaPortActivatedPUCCH_Format3_r10 */ -static int hf_lte_rrc_setup_30 = -1; /* T_setup_30 */ +static int hf_lte_rrc_setup_32 = -1; /* T_setup_28 */ static int hf_lte_rrc_n3PUCCH_AN_ListP1_r10 = -1; /* T_n3PUCCH_AN_ListP1_r10 */ static int hf_lte_rrc_n3PUCCH_AN_ListP1_r10_item = -1; /* INTEGER_0_549 */ static int hf_lte_rrc_channelSelection_r10 = -1; /* T_channelSelection_r10 */ static int hf_lte_rrc_n1PUCCH_AN_CS_r10 = -1; /* T_n1PUCCH_AN_CS_r10 */ -static int hf_lte_rrc_setup_31 = -1; /* T_setup_31 */ +static int hf_lte_rrc_setup_33 = -1; /* T_setup_29 */ static int hf_lte_rrc_n1PUCCH_AN_CS_List_r10 = -1; /* SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10 */ static int hf_lte_rrc_n1PUCCH_AN_CS_List_r10_item = -1; /* N1PUCCH_AN_CS_r10 */ static int hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format1a1b_r10 = -1; /* T_twoAntennaPortActivatedPUCCH_Format1a1b_r10 */ static int hf_lte_rrc_simultaneousPUCCH_PUSCH_r10 = -1; /* T_simultaneousPUCCH_PUSCH_r10 */ static int hf_lte_rrc_n1PUCCH_AN_RepP1_r10 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_n1PUCCH_AN_CS_v1130 = -1; /* T_n1PUCCH_AN_CS_v1130 */ -static int hf_lte_rrc_setup_32 = -1; /* T_setup_32 */ +static int hf_lte_rrc_setup_34 = -1; /* T_setup_30 */ static int hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11 = -1; /* T_n1PUCCH_AN_CS_ListP1_r11 */ static int hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11_item = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_nPUCCH_Param_r11 = -1; /* T_nPUCCH_Param_r11 */ -static int hf_lte_rrc_setup_33 = -1; /* T_setup_33 */ +static int hf_lte_rrc_setup_35 = -1; /* T_setup_31 */ static int hf_lte_rrc_nPUCCH_Identity_r11 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_n1PUCCH_AN_r11 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_nkaPUCCH_Param_r12 = -1; /* T_nkaPUCCH_Param_r12 */ -static int hf_lte_rrc_setup_34 = -1; /* T_setup_34 */ +static int hf_lte_rrc_setup_36 = -1; /* T_setup_32 */ static int hf_lte_rrc_nkaPUCCH_AN_r12 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_N1PUCCH_AN_CS_r10_item = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_pusch_ConfigBasic = -1; /* T_pusch_ConfigBasic */ @@ -1724,11 +1829,11 @@ static int hf_lte_rrc_betaOffset_CQI_Index_MC_r10 = -1; /* INTEGER_0_15 */ static int hf_lte_rrc_groupHoppingDisabled_r10 = -1; /* T_groupHoppingDisabled_r10 */ static int hf_lte_rrc_dmrs_WithOCC_Activated_r10 = -1; /* T_dmrs_WithOCC_Activated_r10 */ static int hf_lte_rrc_pusch_DMRS_r11 = -1; /* T_pusch_DMRS_r11 */ -static int hf_lte_rrc_setup_35 = -1; /* T_setup_35 */ +static int hf_lte_rrc_setup_37 = -1; /* T_setup_33 */ static int hf_lte_rrc_nPUSCH_Identity_r11 = -1; /* INTEGER_0_509 */ static int hf_lte_rrc_nDMRS_CSH_Identity_r11 = -1; /* INTEGER_0_509 */ static int hf_lte_rrc_uciOnPUSCH = -1; /* T_uciOnPUSCH */ -static int hf_lte_rrc_setup_36 = -1; /* T_setup_36 */ +static int hf_lte_rrc_setup_38 = -1; /* T_setup_34 */ static int hf_lte_rrc_betaOffset_ACK_Index_SubframeSet2_r12 = -1; /* INTEGER_0_15 */ static int hf_lte_rrc_betaOffset_RI_Index_SubframeSet2_r12 = -1; /* INTEGER_0_15 */ static int hf_lte_rrc_betaOffset_CQI_Index_SubframeSet2_r12 = -1; /* INTEGER_0_15 */ @@ -1776,9 +1881,8 @@ static int hf_lte_rrc_soundingRS_UL_ConfigCommon = -1; /* SoundingRS_UL_ConfigC static int hf_lte_rrc_uplinkPowerControlCommon = -1; /* UplinkPowerControlCommon */ static int hf_lte_rrc_ul_CyclicPrefixLength = -1; /* UL_CyclicPrefixLength */ static int hf_lte_rrc_uplinkPowerControlCommon_v1020 = -1; /* UplinkPowerControlCommon_v1020 */ -static int hf_lte_rrc_rach_ConfigCommon_v12xy = -1; /* RACH_ConfigCommon_v12xy */ +static int hf_lte_rrc_rach_ConfigCommon_v1250 = -1; /* RACH_ConfigCommon_v1250 */ static int hf_lte_rrc_prach_Config_01 = -1; /* PRACH_Config */ -static int hf_lte_rrc_antennaInfoCommon = -1; /* AntennaInfoCommon */ static int hf_lte_rrc_basicFields_r12 = -1; /* RadioResourceConfigCommonSCell_r10 */ static int hf_lte_rrc_pucch_ConfigCommon_r12 = -1; /* PUCCH_ConfigCommon */ static int hf_lte_rrc_rach_ConfigCommon_r12 = -1; /* RACH_ConfigCommon */ @@ -1818,7 +1922,7 @@ static int hf_lte_rrc_physicalConfigDedicated = -1; /* PhysicalConfigDedicated static int hf_lte_rrc_rlf_TimersAndConstants_r9 = -1; /* RLF_TimersAndConstants_r9 */ static int hf_lte_rrc_measSubframePatternPCell_r10 = -1; /* MeasSubframePatternPCell_r10 */ static int hf_lte_rrc_neighCellsCRS_Info_r11 = -1; /* NeighCellsCRS_Info_r11 */ -static int hf_lte_rrc_naics_InfoPCell_r12 = -1; /* NAICS_AssistanceInfo_r12 */ +static int hf_lte_rrc_naics_Info_r12 = -1; /* NAICS_AssistanceInfo_r12 */ static int hf_lte_rrc_physicalConfigDedicatedPSCell_r12 = -1; /* PhysicalConfigDedicated */ static int hf_lte_rrc_sps_Config_r12 = -1; /* SPS_Config */ static int hf_lte_rrc_drb_ToAddModListSCG_r12 = -1; /* DRB_ToAddModListSCG_r12 */ @@ -1826,7 +1930,6 @@ static int hf_lte_rrc_mac_MainConfigSCG_r12 = -1; /* MAC_MainConfig */ static int hf_lte_rrc_rlf_TimersAndConstantsSCG_r12 = -1; /* RLF_TimersAndConstantsSCG_r12 */ static int hf_lte_rrc_physicalConfigDedicatedSCell_r10 = -1; /* PhysicalConfigDedicatedSCell_r10 */ static int hf_lte_rrc_mac_MainConfigSCell_r11 = -1; /* MAC_MainConfigSCell_r11 */ -static int hf_lte_rrc_naics_InfoSCell_r12 = -1; /* NAICS_AssistanceInfo_r12 */ static int hf_lte_rrc_SRB_ToAddModList_item = -1; /* SRB_ToAddMod */ static int hf_lte_rrc_srb_Identity = -1; /* INTEGER_1_2 */ static int hf_lte_rrc_rlc_Config = -1; /* T_rlc_Config */ @@ -1841,7 +1944,7 @@ static int hf_lte_rrc_rlc_Config_01 = -1; /* RLC_Config */ static int hf_lte_rrc_logicalChannelIdentity = -1; /* T_logicalChannelIdentity */ static int hf_lte_rrc_logicalChannelConfig_01 = -1; /* LogicalChannelConfig */ static int hf_lte_rrc_drb_TypeChange_r12 = -1; /* T_drb_TypeChange_r12 */ -static int hf_lte_rrc_rlc_Config_v12xy = -1; /* RLC_Config_v12xy */ +static int hf_lte_rrc_rlc_Config_v1250 = -1; /* RLC_Config_v1250 */ static int hf_lte_rrc_drb_Identity_r12 = -1; /* DRB_Identity */ static int hf_lte_rrc_drb_Type_r12 = -1; /* T_drb_Type_r12 */ static int hf_lte_rrc_split_r12 = -1; /* NULL */ @@ -1852,13 +1955,13 @@ static int hf_lte_rrc_rlc_ConfigSCG_r12 = -1; /* RLC_Config */ static int hf_lte_rrc_logicalChannelIdentitySCG_r12 = -1; /* INTEGER_3_10 */ static int hf_lte_rrc_logicalChannelConfigSCG_r12 = -1; /* LogicalChannelConfig */ static int hf_lte_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */ -static int hf_lte_rrc_setup_37 = -1; /* MeasSubframePattern_r10 */ -static int hf_lte_rrc_setup_38 = -1; /* CRS_AssistanceInfoList_r11 */ +static int hf_lte_rrc_setup_39 = -1; /* MeasSubframePattern_r10 */ +static int hf_lte_rrc_setup_40 = -1; /* CRS_AssistanceInfoList_r11 */ static int hf_lte_rrc_CRS_AssistanceInfoList_r11_item = -1; /* CRS_AssistanceInfo_r11 */ static int hf_lte_rrc_physCellId_r11_02 = -1; /* PhysCellId */ static int hf_lte_rrc_antennaPortsCount_r11_01 = -1; /* T_antennaPortsCount_r11_01 */ static int hf_lte_rrc_mbsfn_SubframeConfigList_r11_02 = -1; /* MBSFN_SubframeConfigList */ -static int hf_lte_rrc_setup_39 = -1; /* T_setup_37 */ +static int hf_lte_rrc_setup_41 = -1; /* T_setup_35 */ static int hf_lte_rrc_neighCellsToReleaseList_r12 = -1; /* NeighCellsToReleaseList_r12 */ static int hf_lte_rrc_neighCellsToAddModList_r12 = -1; /* NeighCellsToAddModList_r12 */ static int hf_lte_rrc_servCellp_a_r12 = -1; /* P_a */ @@ -1888,13 +1991,13 @@ static int hf_lte_rrc_maxRetxThreshold = -1; /* T_maxRetxThreshold */ static int hf_lte_rrc_t_Reordering = -1; /* T_Reordering */ static int hf_lte_rrc_t_StatusProhibit = -1; /* T_StatusProhibit */ static int hf_lte_rrc_sn_FieldLength = -1; /* SN_FieldLength */ -static int hf_lte_rrc_setup_40 = -1; /* T_setup_38 */ +static int hf_lte_rrc_setup_42 = -1; /* T_setup_36 */ static int hf_lte_rrc_t301_r9 = -1; /* T_t301_r9 */ static int hf_lte_rrc_t310_r9 = -1; /* T_t310_r9 */ static int hf_lte_rrc_n310_r9 = -1; /* T_n310_r9 */ static int hf_lte_rrc_t311_r9 = -1; /* T_t311_r9 */ static int hf_lte_rrc_n311_r9 = -1; /* T_n311_r9 */ -static int hf_lte_rrc_setup_41 = -1; /* T_setup_39 */ +static int hf_lte_rrc_setup_43 = -1; /* T_setup_37 */ static int hf_lte_rrc_t313_r12 = -1; /* T_t313_r12 */ static int hf_lte_rrc_n313_r12 = -1; /* T_n313_r12 */ static int hf_lte_rrc_n314_r12 = -1; /* T_n314_r12 */ @@ -1931,17 +2034,17 @@ static int hf_lte_rrc_fallbackForFormat3 = -1; /* T_fallbackForFormat3 */ static int hf_lte_rrc_n1PUCCH_AN_P0_r10 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_n1PUCCH_AN_P1_r10 = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_fdd = -1; /* T_fdd */ -static int hf_lte_rrc_setup_42 = -1; /* T_setup_40 */ +static int hf_lte_rrc_setup_44 = -1; /* T_setup_38 */ static int hf_lte_rrc_sr_PUCCH_ResourceIndex = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_sr_ConfigIndex = -1; /* T_sr_ConfigIndex */ static int hf_lte_rrc_dsr_TransMax = -1; /* T_dsr_TransMax */ static int hf_lte_rrc_sr_PUCCH_ResourceIndexP1_r10 = -1; /* INTEGER_0_2047 */ -static int hf_lte_rrc_setup_43 = -1; /* T_setup_41 */ +static int hf_lte_rrc_setup_45 = -1; /* T_setup_39 */ static int hf_lte_rrc_srs_BandwidthConfig = -1; /* T_srs_BandwidthConfig */ static int hf_lte_rrc_srs_SubframeConfig = -1; /* T_srs_SubframeConfig */ static int hf_lte_rrc_ackNackSRS_SimultaneousTransmission = -1; /* BOOLEAN */ static int hf_lte_rrc_srs_MaxUpPts = -1; /* T_srs_MaxUpPts */ -static int hf_lte_rrc_setup_44 = -1; /* T_setup_42 */ +static int hf_lte_rrc_setup_46 = -1; /* T_setup_40 */ static int hf_lte_rrc_srs_Bandwidth = -1; /* T_srs_Bandwidth */ static int hf_lte_rrc_srs_HoppingBandwidth = -1; /* T_srs_HoppingBandwidth */ static int hf_lte_rrc_freqDomainPosition = -1; /* INTEGER_0_23 */ @@ -1950,12 +2053,12 @@ static int hf_lte_rrc_srs_ConfigIndex = -1; /* INTEGER_0_1023 */ static int hf_lte_rrc_transmissionComb = -1; /* INTEGER_0_1 */ static int hf_lte_rrc_cyclicShift_01 = -1; /* T_cyclicShift */ static int hf_lte_rrc_srs_AntennaPort_r10 = -1; /* SRS_AntennaPort */ -static int hf_lte_rrc_setup_45 = -1; /* T_setup_43 */ +static int hf_lte_rrc_setup_47 = -1; /* T_setup_41 */ static int hf_lte_rrc_srs_ConfigIndexAp_r10 = -1; /* INTEGER_0_31 */ static int hf_lte_rrc_srs_ConfigApDCI_Format4_r10 = -1; /* SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10 */ static int hf_lte_rrc_srs_ConfigApDCI_Format4_r10_item = -1; /* SRS_ConfigAp_r10 */ static int hf_lte_rrc_srs_ActivateAp_r10 = -1; /* T_srs_ActivateAp_r10 */ -static int hf_lte_rrc_setup_46 = -1; /* T_setup_44 */ +static int hf_lte_rrc_setup_48 = -1; /* T_setup_42 */ static int hf_lte_rrc_srs_ConfigApDCI_Format0_r10 = -1; /* SRS_ConfigAp_r10 */ static int hf_lte_rrc_srs_ConfigApDCI_Format1a2b2c_r10 = -1; /* SRS_ConfigAp_r10 */ static int hf_lte_rrc_srs_AntennaPortAp_r10 = -1; /* SRS_AntennaPort */ @@ -1966,14 +2069,14 @@ static int hf_lte_rrc_cyclicShiftAp_r10 = -1; /* T_cyclicShiftAp_r10 */ static int hf_lte_rrc_semiPersistSchedC_RNTI = -1; /* C_RNTI */ static int hf_lte_rrc_sps_ConfigDL = -1; /* SPS_ConfigDL */ static int hf_lte_rrc_sps_ConfigUL = -1; /* SPS_ConfigUL */ -static int hf_lte_rrc_setup_47 = -1; /* T_setup_45 */ +static int hf_lte_rrc_setup_49 = -1; /* T_setup_43 */ static int hf_lte_rrc_semiPersistSchedIntervalDL = -1; /* T_semiPersistSchedIntervalDL */ static int hf_lte_rrc_numberOfConfSPS_Processes = -1; /* INTEGER_1_8 */ static int hf_lte_rrc_n1PUCCH_AN_PersistentList = -1; /* N1PUCCH_AN_PersistentList */ static int hf_lte_rrc_twoAntennaPortActivated_r10 = -1; /* T_twoAntennaPortActivated_r10 */ -static int hf_lte_rrc_setup_48 = -1; /* T_setup_46 */ +static int hf_lte_rrc_setup_50 = -1; /* T_setup_44 */ static int hf_lte_rrc_n1PUCCH_AN_PersistentListP1_r10 = -1; /* N1PUCCH_AN_PersistentList */ -static int hf_lte_rrc_setup_49 = -1; /* T_setup_47 */ +static int hf_lte_rrc_setup_51 = -1; /* T_setup_45 */ static int hf_lte_rrc_semiPersistSchedIntervalUL = -1; /* T_semiPersistSchedIntervalUL */ static int hf_lte_rrc_implicitReleaseAfter = -1; /* T_implicitReleaseAfter */ static int hf_lte_rrc_p0_Persistent = -1; /* T_p0_Persistent */ @@ -1981,29 +2084,32 @@ static int hf_lte_rrc_p0_NominalPUSCH_Persistent = -1; /* T_p0_NominalPUSCH_Per static int hf_lte_rrc_p0_UE_PUSCH_Persistent = -1; /* T_p0_UE_PUSCH_Persistent */ static int hf_lte_rrc_twoIntervalsConfig = -1; /* T_twoIntervalsConfig */ static int hf_lte_rrc_p0_PersistentSubframeSet2_r12 = -1; /* T_p0_PersistentSubframeSet2_r12 */ +static int hf_lte_rrc_setup_52 = -1; /* T_setup_46 */ static int hf_lte_rrc_p0_NominalPUSCH_PersistentSubframeSet2_r12 = -1; /* T_p0_NominalPUSCH_PersistentSubframeSet2_r12 */ static int hf_lte_rrc_p0_UE_PUSCH_PersistentSubframeSet2_r12 = -1; /* T_p0_UE_PUSCH_PersistentSubframeSet2_r12 */ static int hf_lte_rrc_N1PUCCH_AN_PersistentList_item = -1; /* INTEGER_0_2047 */ static int hf_lte_rrc_subframeAssignment = -1; /* T_subframeAssignment */ static int hf_lte_rrc_specialSubframePatterns = -1; /* T_specialSubframePatterns */ static int hf_lte_rrc_specialSubframePatterns_v1130 = -1; /* T_specialSubframePatterns_v1130 */ -static int hf_lte_rrc_setup_50 = -1; /* T_setup_48 */ +static int hf_lte_rrc_subframeAssignmentSL_r12 = -1; /* T_subframeAssignmentSL_r12 */ +static int hf_lte_rrc_setup_53 = -1; /* T_setup_47 */ static int hf_lte_rrc_tpc_RNTI = -1; /* BIT_STRING_SIZE_16 */ static int hf_lte_rrc_tpc_Index = -1; /* TPC_Index */ static int hf_lte_rrc_indexOfFormat3 = -1; /* INTEGER_1_15 */ static int hf_lte_rrc_indexOfFormat3A = -1; /* INTEGER_1_31 */ static int hf_lte_rrc_p0_NominalPUSCH = -1; /* T_p0_NominalPUSCH */ -static int hf_lte_rrc_alpha = -1; /* T_alpha */ +static int hf_lte_rrc_alpha = -1; /* Alpha_r12 */ static int hf_lte_rrc_p0_NominalPUCCH = -1; /* T_p0_NominalPUCCH */ static int hf_lte_rrc_deltaFList_PUCCH = -1; /* DeltaFList_PUCCH */ static int hf_lte_rrc_deltaPreambleMsg3 = -1; /* INTEGER_M1_6 */ static int hf_lte_rrc_deltaF_PUCCH_Format3_r10 = -1; /* T_deltaF_PUCCH_Format3_r10 */ static int hf_lte_rrc_deltaF_PUCCH_Format1bCS_r10 = -1; /* T_deltaF_PUCCH_Format1bCS_r10 */ -static int hf_lte_rrc_deltaF_PUCCH_Format3_r10_01 = -1; /* T_deltaF_PUCCH_Format3_r10_01 */ -static int hf_lte_rrc_deltaF_PUCCH_Format1bCS_r10_01 = -1; /* T_deltaF_PUCCH_Format1bCS_r10_01 */ -static int hf_lte_rrc_p0_NominalPUCCH_01 = -1; /* T_p0_NominalPUCCH_01 */ +static int hf_lte_rrc_deltaF_PUCCH_Format3_r12 = -1; /* T_deltaF_PUCCH_Format3_r12 */ +static int hf_lte_rrc_deltaF_PUCCH_Format1bCS_r12 = -1; /* T_deltaF_PUCCH_Format1bCS_r12 */ +static int hf_lte_rrc_p0_NominalPUCCH_r12 = -1; /* T_p0_NominalPUCCH_r12 */ +static int hf_lte_rrc_deltaFList_PUCCH_r12 = -1; /* DeltaFList_PUCCH */ static int hf_lte_rrc_p0_NominalPUSCH_r10 = -1; /* T_p0_NominalPUSCH_r10 */ -static int hf_lte_rrc_alpha_r10 = -1; /* T_alpha_r10 */ +static int hf_lte_rrc_alpha_r10 = -1; /* Alpha_r12 */ static int hf_lte_rrc_deltaPreambleMsg3_r11 = -1; /* INTEGER_M1_6 */ static int hf_lte_rrc_p0_UE_PUSCH = -1; /* T_p0_UE_PUSCH */ static int hf_lte_rrc_deltaMCS_Enabled = -1; /* T_deltaMCS_Enabled */ @@ -2017,10 +2123,10 @@ static int hf_lte_rrc_pSRS_Offset_v1130 = -1; /* INTEGER_16_31 */ static int hf_lte_rrc_pSRS_OffsetAp_v1130 = -1; /* INTEGER_16_31 */ static int hf_lte_rrc_deltaTxD_OffsetListPUCCH_v1130 = -1; /* DeltaTxD_OffsetListPUCCH_v1130 */ static int hf_lte_rrc_set2PowerControlParameter = -1; /* T_set2PowerControlParameter */ -static int hf_lte_rrc_setup_51 = -1; /* T_setup_49 */ +static int hf_lte_rrc_setup_54 = -1; /* T_setup_48 */ static int hf_lte_rrc_tpc_SubframeSet_r12 = -1; /* BIT_STRING_SIZE_10 */ static int hf_lte_rrc_p0_NominalPUSCH_SubframeSet2_r12 = -1; /* T_p0_NominalPUSCH_SubframeSet2_r12 */ -static int hf_lte_rrc_alpha_SubframeSet2_r12 = -1; /* T_alpha_SubframeSet2_r12 */ +static int hf_lte_rrc_alpha_SubframeSet2_r12 = -1; /* Alpha_r12 */ static int hf_lte_rrc_p0_UE_PUSCH_SubframeSet2_r12 = -1; /* T_p0_UE_PUSCH_SubframeSet2_r12 */ static int hf_lte_rrc_p0_UE_PUSCH_r10 = -1; /* T_p0_UE_PUSCH_r10 */ static int hf_lte_rrc_deltaMCS_Enabled_r10 = -1; /* T_deltaMCS_Enabled_r10 */ @@ -2079,9 +2185,10 @@ static int hf_lte_rrc_radioResourceConfigCommon_01 = -1; /* RadioResourceConfig static int hf_lte_rrc_rach_ConfigDedicated = -1; /* RACH_ConfigDedicated */ static int hf_lte_rrc_carrierFreq_v9e0_01 = -1; /* CarrierFreqEUTRA_v9e0 */ static int hf_lte_rrc_drb_ContinueROHC_r11 = -1; /* T_drb_ContinueROHC_r11 */ -static int hf_lte_rrc_t307 = -1; /* T_t307 */ +static int hf_lte_rrc_t307_r12 = -1; /* T_t307_r12 */ static int hf_lte_rrc_ue_IdentitySCG_r12 = -1; /* C_RNTI */ static int hf_lte_rrc_rach_ConfigDedicated_r12 = -1; /* RACH_ConfigDedicated */ +static int hf_lte_rrc_cipheringAlgorithmSCG_r12 = -1; /* CipheringAlgorithm_r12 */ static int hf_lte_rrc_dl_Bandwidth_01 = -1; /* T_dl_Bandwidth_01 */ static int hf_lte_rrc_ul_Bandwidth_01 = -1; /* T_ul_Bandwidth_01 */ static int hf_lte_rrc_dl_CarrierFreq_v9e0_01 = -1; /* ARFCN_ValueEUTRA_r9 */ @@ -2136,20 +2243,20 @@ static int hf_lte_rrc_quantityConfig = -1; /* QuantityConfig */ static int hf_lte_rrc_measGapConfig = -1; /* MeasGapConfig */ static int hf_lte_rrc_s_Measure = -1; /* S_Measure */ static int hf_lte_rrc_speedStatePars = -1; /* T_speedStatePars */ -static int hf_lte_rrc_setup_52 = -1; /* T_setup_50 */ +static int hf_lte_rrc_setup_55 = -1; /* T_setup_49 */ static int hf_lte_rrc_timeToTrigger_SF = -1; /* SpeedStateScaleFactors */ static int hf_lte_rrc_measObjectToAddModList_v9e0 = -1; /* MeasObjectToAddModList_v9e0 */ static int hf_lte_rrc_allowInterruptions_r11 = -1; /* BOOLEAN */ static int hf_lte_rrc_measScaleFactor_r12 = -1; /* T_measScaleFactor_r12 */ -static int hf_lte_rrc_setup_53 = -1; /* MeasScaleFactor_r12 */ +static int hf_lte_rrc_setup_56 = -1; /* MeasScaleFactor_r12 */ static int hf_lte_rrc_measIdToRemoveListExt_r12 = -1; /* MeasIdToRemoveListExt_r12 */ static int hf_lte_rrc_measIdToAddModListExt_r12 = -1; /* MeasIdToAddModListExt_r12 */ static int hf_lte_rrc_measRSRQ_OnAllSymbols_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_MeasIdToRemoveList_item = -1; /* MeasId */ -static int hf_lte_rrc_MeasIdToRemoveListExt_r12_item = -1; /* MeasId_v12xy */ +static int hf_lte_rrc_MeasIdToRemoveListExt_r12_item = -1; /* MeasId_v1250 */ static int hf_lte_rrc_MeasObjectToRemoveList_item = -1; /* MeasObjectId */ static int hf_lte_rrc_ReportConfigToRemoveList_item = -1; /* ReportConfigId */ -static int hf_lte_rrc_setup_54 = -1; /* T_setup_51 */ +static int hf_lte_rrc_setup_57 = -1; /* T_setup_50 */ static int hf_lte_rrc_dmtc_PeriodOffset_r12 = -1; /* T_dmtc_PeriodOffset_r12 */ static int hf_lte_rrc_ms40_r12 = -1; /* INTEGER_0_39 */ static int hf_lte_rrc_ms80_r12 = -1; /* INTEGER_0_79 */ @@ -2166,7 +2273,7 @@ static int hf_lte_rrc_physCellId_r12_01 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_scramblingIdentity_r12 = -1; /* INTEGER_0_503 */ static int hf_lte_rrc_subframeOffset_r12 = -1; /* INTEGER_0_4 */ static int hf_lte_rrc_csi_RS_IndividualOffset_r12 = -1; /* Q_OffsetRange */ -static int hf_lte_rrc_setup_55 = -1; /* T_setup_52 */ +static int hf_lte_rrc_setup_58 = -1; /* T_setup_51 */ static int hf_lte_rrc_gapOffset = -1; /* T_gapOffset */ static int hf_lte_rrc_gp0 = -1; /* INTEGER_0_39 */ static int hf_lte_rrc_gp1 = -1; /* INTEGER_0_79 */ @@ -2175,7 +2282,7 @@ static int hf_lte_rrc_MeasIdToAddModListExt_r12_item = -1; /* MeasIdToAddModExt static int hf_lte_rrc_measId = -1; /* MeasId */ static int hf_lte_rrc_measObjectId = -1; /* MeasObjectId */ static int hf_lte_rrc_reportConfigId = -1; /* ReportConfigId */ -static int hf_lte_rrc_measId_v12xy = -1; /* MeasId_v12xy */ +static int hf_lte_rrc_measId_v1250 = -1; /* MeasId_v1250 */ static int hf_lte_rrc_measObjectId_r12 = -1; /* MeasObjectId */ static int hf_lte_rrc_reportConfigId_r12 = -1; /* ReportConfigId */ static int hf_lte_rrc_carrierFreq_04 = -1; /* CarrierFreqCDMA2000 */ @@ -2197,17 +2304,20 @@ static int hf_lte_rrc_widebandRSRQ_Meas_r11 = -1; /* BOOLEAN */ static int hf_lte_rrc_altTTT_CellsToRemoveList_r12 = -1; /* CellIndexList */ static int hf_lte_rrc_altTTT_CellsToAddModList_r12 = -1; /* AltTTT_CellsToAddModList_r12 */ static int hf_lte_rrc_t312_r12 = -1; /* T_t312_r12 */ +static int hf_lte_rrc_setup_59 = -1; /* T_setup_52 */ static int hf_lte_rrc_reducedMeasPerformance_r12_05 = -1; /* BOOLEAN */ static int hf_lte_rrc_measDS_Config_r12 = -1; /* MeasDS_Config_r12 */ static int hf_lte_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */ static int hf_lte_rrc_cellIndividualOffset = -1; /* Q_OffsetRange */ static int hf_lte_rrc_BlackCellsToAddModList_item = -1; /* BlackCellsToAddMod */ static int hf_lte_rrc_physCellIdRange = -1; /* PhysCellIdRange */ -static int hf_lte_rrc_setup_56 = -1; /* T_setup_53 */ +static int hf_lte_rrc_setup_60 = -1; /* T_setup_53 */ static int hf_lte_rrc_measSubframePatternNeigh_r10 = -1; /* MeasSubframePattern_r10 */ static int hf_lte_rrc_measSubframeCellList_r10 = -1; /* MeasSubframeCellList_r10 */ static int hf_lte_rrc_MeasSubframeCellList_r10_item = -1; /* PhysCellIdRange */ static int hf_lte_rrc_AltTTT_CellsToAddModList_r12_item = -1; /* AltTTT_CellsToAddMod_r12 */ +static int hf_lte_rrc_cellIndex_r12 = -1; /* INTEGER_1_maxCellMeas */ +static int hf_lte_rrc_physCellIdRange_r12 = -1; /* PhysCellIdRange */ static int hf_lte_rrc_cellForWhichToReportCGI_02 = -1; /* PhysCellIdGERAN */ static int hf_lte_rrc_MeasObjectToAddModList_item = -1; /* MeasObjectToAddMod */ static int hf_lte_rrc_MeasObjectToAddModList_v9e0_item = -1; /* MeasObjectToAddMod_v9e0 */ @@ -2239,7 +2349,7 @@ static int hf_lte_rrc_measResultListGERAN = -1; /* MeasResultListGERAN */ static int hf_lte_rrc_measResultsCDMA2000 = -1; /* MeasResultsCDMA2000 */ static int hf_lte_rrc_measResultForECID_r9 = -1; /* MeasResultForECID_r9 */ static int hf_lte_rrc_measResultServFreqList_r10 = -1; /* MeasResultServFreqList_r10 */ -static int hf_lte_rrc_measResultPCell_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResultPCell_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_measResultCSI_RS_List_r12 = -1; /* MeasResultCSI_RS_List_r12 */ static int hf_lte_rrc_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */ static int hf_lte_rrc_cgi_Info = -1; /* T_cgi_Info */ @@ -2248,7 +2358,7 @@ static int hf_lte_rrc_plmn_IdentityList_01 = -1; /* PLMN_IdentityList2 */ static int hf_lte_rrc_measResult = -1; /* T_measResult */ static int hf_lte_rrc_additionalSI_Info_r9 = -1; /* AdditionalSI_Info_r9 */ static int hf_lte_rrc_primaryPLMN_Suitable_r12 = -1; /* T_primaryPLMN_Suitable_r12 */ -static int hf_lte_rrc_measResult_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResult_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_MeasResultServFreqList_r10_item = -1; /* MeasResultServFreq_r10 */ static int hf_lte_rrc_servFreqId_r10 = -1; /* ServCellIndex_r10 */ static int hf_lte_rrc_measResultSCell_r10 = -1; /* T_measResultSCell_r10 */ @@ -2257,8 +2367,8 @@ static int hf_lte_rrc_rsrqResultSCell_r10 = -1; /* RSRQ_Range */ static int hf_lte_rrc_measResultBestNeighCell_r10 = -1; /* T_measResultBestNeighCell_r10 */ static int hf_lte_rrc_rsrpResultNCell_r10 = -1; /* RSRP_Range */ static int hf_lte_rrc_rsrqResultNCell_r10 = -1; /* RSRQ_Range */ -static int hf_lte_rrc_measResultSCell_v12xy = -1; /* RSRQ_Range_v12xy */ -static int hf_lte_rrc_measResultBestNeighCell_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_measResultSCell_v1250 = -1; /* RSRQ_Range_v1250 */ +static int hf_lte_rrc_measResultBestNeighCell_v1250 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_MeasResultCSI_RS_List_r12_item = -1; /* MeasResultCSI_RS_r12 */ static int hf_lte_rrc_csi_RSRP_Result_r12 = -1; /* CSI_RSRP_Range_r12 */ static int hf_lte_rrc_MeasResultListUTRA_item = -1; /* MeasResultUTRA */ @@ -2294,7 +2404,7 @@ static int hf_lte_rrc_quantityConfigUTRA = -1; /* QuantityConfigUTRA */ static int hf_lte_rrc_quantityConfigGERAN = -1; /* QuantityConfigGERAN */ static int hf_lte_rrc_quantityConfigCDMA2000 = -1; /* QuantityConfigCDMA2000 */ static int hf_lte_rrc_quantityConfigUTRA_v1020 = -1; /* QuantityConfigUTRA_v1020 */ -static int hf_lte_rrc_quantityConfigEUTRA_v12xy = -1; /* QuantityConfigEUTRA_v12xy */ +static int hf_lte_rrc_quantityConfigEUTRA_v1250 = -1; /* QuantityConfigEUTRA_v1250 */ static int hf_lte_rrc_filterCoefficientRSRP = -1; /* FilterCoefficient */ static int hf_lte_rrc_filterCoefficientRSRQ = -1; /* FilterCoefficient */ static int hf_lte_rrc_filterCoefficientCSI_RSRP_r12 = -1; /* FilterCoefficient */ @@ -2322,7 +2432,7 @@ static int hf_lte_rrc_eventA6_r10 = -1; /* T_eventA6_r10 */ static int hf_lte_rrc_a6_Offset_r10 = -1; /* INTEGER_M30_30 */ static int hf_lte_rrc_a6_ReportOnLeave_r10 = -1; /* BOOLEAN */ static int hf_lte_rrc_eventC1_r12 = -1; /* T_eventC1_r12 */ -static int hf_lte_rrc_c1_Threshold_r12 = -1; /* ThresholdEUTRA_v12xy */ +static int hf_lte_rrc_c1_Threshold_r12 = -1; /* ThresholdEUTRA_v1250 */ static int hf_lte_rrc_c1_ReportOnLeave_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_eventC2_r12 = -1; /* T_eventC2_r12 */ static int hf_lte_rrc_c2_RefCSI_RS_r12 = -1; /* MeasCSI_RS_Id_r12 */ @@ -2341,14 +2451,16 @@ static int hf_lte_rrc_si_RequestForHO_r9 = -1; /* T_si_RequestForHO_r9 */ static int hf_lte_rrc_ue_RxTxTimeDiffPeriodical_r9 = -1; /* T_ue_RxTxTimeDiffPeriodical_r9 */ static int hf_lte_rrc_includeLocationInfo_r10 = -1; /* T_includeLocationInfo_r10 */ static int hf_lte_rrc_reportAddNeighMeas_r10 = -1; /* T_reportAddNeighMeas_r10 */ -static int hf_lte_rrc_alternativeTimeToTrigger_r12 = -1; /* TimeToTrigger */ -static int hf_lte_rrc_useT312_r12 = -1; /* T_useT312_r12 */ -static int hf_lte_rrc_usePSCell_r12 = -1; /* T_usePSCell_r12 */ -static int hf_lte_rrc_aN_Threshold1_v12xy = -1; /* RSRQ_Range_v12xy */ -static int hf_lte_rrc_a5_Threshold2_v12xy = -1; /* RSRQ_Range_v12xy */ -static int hf_lte_rrc_reportStrongestCSI_RSs_r12 = -1; /* T_reportStrongestCSI_RSs_r12 */ -static int hf_lte_rrc_reportCRS_Meas_r12 = -1; /* T_reportCRS_Meas_r12 */ -static int hf_lte_rrc_triggerQuantityCSI_RS_r12 = -1; /* T_triggerQuantityCSI_RS_r12 */ +static int hf_lte_rrc_alternativeTimeToTrigger_r12 = -1; /* T_alternativeTimeToTrigger_r12 */ +static int hf_lte_rrc_setup_61 = -1; /* TimeToTrigger */ +static int hf_lte_rrc_useT312_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_usePSCell_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_aN_Threshold1_v1250 = -1; /* RSRQ_RangeConfig_r12 */ +static int hf_lte_rrc_a5_Threshold2_v1250 = -1; /* RSRQ_RangeConfig_r12 */ +static int hf_lte_rrc_reportStrongestCSI_RSs_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_reportCRS_Meas_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_triggerQuantityCSI_RS_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_setup_62 = -1; /* RSRQ_Range_v1250 */ static int hf_lte_rrc_threshold_RSRP = -1; /* Threshold_RSRP_Range */ static int hf_lte_rrc_threshold_RSRQ = -1; /* Threshold_RSRQ_Range */ static int hf_lte_rrc_triggerType_01 = -1; /* T_triggerType_01 */ @@ -2371,13 +2483,15 @@ static int hf_lte_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */ static int hf_lte_rrc_si_RequestForHO_r9_01 = -1; /* T_si_RequestForHO_r9_01 */ static int hf_lte_rrc_reportQuantityUTRA_FDD_r10 = -1; /* T_reportQuantityUTRA_FDD_r10 */ static int hf_lte_rrc_includeLocationInfo_r11 = -1; /* BOOLEAN */ -static int hf_lte_rrc_b2_Threshold1_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_b2_Threshold1_v1250 = -1; /* T_b2_Threshold1_v1250 */ static int hf_lte_rrc_utra_RSCP_01 = -1; /* Threshold_utra_RSRP */ static int hf_lte_rrc_utra_EcN0_01 = -1; /* Threshold_utra_EcN0 */ static int hf_lte_rrc_ReportConfigToAddModList_item = -1; /* ReportConfigToAddMod */ static int hf_lte_rrc_reportConfig = -1; /* T_reportConfig */ static int hf_lte_rrc_reportConfigEUTRA = -1; /* ReportConfigEUTRA */ static int hf_lte_rrc_reportConfigInterRAT = -1; /* ReportConfigInterRAT */ +static int hf_lte_rrc_allSymbols_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_wideBand_r12 = -1; /* BOOLEAN */ static int hf_lte_rrc_cellGlobalIdList_r10 = -1; /* CellGlobalIdList_r10 */ static int hf_lte_rrc_trackingAreaCodeList_r10 = -1; /* TrackingAreaCodeList_r10 */ static int hf_lte_rrc_trackingAreaCodeList_v1130 = -1; /* TrackingAreaCodeList_v1130 */ @@ -2394,12 +2508,12 @@ static int hf_lte_rrc_reportProximityConfig_r9 = -1; /* ReportProximityConfig_r static int hf_lte_rrc_idc_Config_r11 = -1; /* IDC_Config_r11 */ static int hf_lte_rrc_powerPrefIndicationConfig_r11 = -1; /* PowerPrefIndicationConfig_r11 */ static int hf_lte_rrc_obtainLocationConfig_r11 = -1; /* ObtainLocationConfig_r11 */ -static int hf_lte_rrc_idc_Indication_r11 = -1; /* T_idc_Indication_r11 */ +static int hf_lte_rrc_idc_Indication_r11_01 = -1; /* T_idc_Indication_r11_01 */ static int hf_lte_rrc_autonomousDenialParameters_r11 = -1; /* T_autonomousDenialParameters_r11 */ static int hf_lte_rrc_autonomousDenialSubframes_r11 = -1; /* T_autonomousDenialSubframes_r11 */ static int hf_lte_rrc_autonomousDenialValidity_r11 = -1; /* T_autonomousDenialValidity_r11 */ static int hf_lte_rrc_obtainLocation_r11 = -1; /* T_obtainLocation_r11 */ -static int hf_lte_rrc_setup_57 = -1; /* T_setup_54 */ +static int hf_lte_rrc_setup_63 = -1; /* T_setup_54 */ static int hf_lte_rrc_powerPrefIndicationTimer_r11 = -1; /* T_powerPrefIndicationTimer_r11 */ static int hf_lte_rrc_proximityIndicationEUTRA_r9 = -1; /* T_proximityIndicationEUTRA_r9 */ static int hf_lte_rrc_proximityIndicationUTRA_r9 = -1; /* T_proximityIndicationUTRA_r9 */ @@ -2424,23 +2538,23 @@ static int hf_lte_rrc_utraTDD768 = -1; /* IRAT_ParametersUTRA_TDD768 static int hf_lte_rrc_geran_02 = -1; /* IRAT_ParametersGERAN */ static int hf_lte_rrc_cdma2000_HRPD_01 = -1; /* IRAT_ParametersCDMA2000_HRPD */ static int hf_lte_rrc_cdma2000_1xRTT_01 = -1; /* IRAT_ParametersCDMA2000_1XRTT */ -static int hf_lte_rrc_nonCriticalExtension_124 = -1; /* UE_EUTRA_Capability_v920_IEs */ +static int hf_lte_rrc_nonCriticalExtension_132 = -1; /* UE_EUTRA_Capability_v920_IEs */ static int hf_lte_rrc_featureGroupIndRel9Add_r9 = -1; /* T_featureGroupIndRel9Add_r9 */ static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_r9 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_r9 */ static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_r9 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_r9 */ -static int hf_lte_rrc_nonCriticalExtension_125 = -1; /* UE_EUTRA_Capability_v9c0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_133 = -1; /* UE_EUTRA_Capability_v9c0_IEs */ static int hf_lte_rrc_interRAT_ParametersUTRA_v9c0 = -1; /* IRAT_ParametersUTRA_v9c0 */ -static int hf_lte_rrc_nonCriticalExtension_126 = -1; /* UE_EUTRA_Capability_v9d0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_134 = -1; /* UE_EUTRA_Capability_v9d0_IEs */ static int hf_lte_rrc_phyLayerParameters_v9d0 = -1; /* PhyLayerParameters_v9d0 */ -static int hf_lte_rrc_nonCriticalExtension_127 = -1; /* UE_EUTRA_Capability_v9e0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_135 = -1; /* UE_EUTRA_Capability_v9e0_IEs */ static int hf_lte_rrc_rf_Parameters_v9e0 = -1; /* RF_Parameters_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_128 = -1; /* UE_EUTRA_Capability_v9h0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_136 = -1; /* UE_EUTRA_Capability_v9h0_IEs */ static int hf_lte_rrc_interRAT_ParametersUTRA_v9h0 = -1; /* IRAT_ParametersUTRA_v9h0 */ -static int hf_lte_rrc_nonCriticalExtension_129 = -1; /* UE_EUTRA_Capability_v10c0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_137 = -1; /* UE_EUTRA_Capability_v10c0_IEs */ static int hf_lte_rrc_otdoa_PositioningCapabilities_r10 = -1; /* OTDOA_PositioningCapabilities_r10 */ -static int hf_lte_rrc_nonCriticalExtension_130 = -1; /* UE_EUTRA_Capability_v10f0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_138 = -1; /* UE_EUTRA_Capability_v10f0_IEs */ static int hf_lte_rrc_rf_Parameters_v10f0 = -1; /* RF_Parameters_v10f0 */ -static int hf_lte_rrc_nonCriticalExtension_131 = -1; /* T_nonCriticalExtension_48 */ +static int hf_lte_rrc_nonCriticalExtension_139 = -1; /* T_nonCriticalExtension_53 */ static int hf_lte_rrc_phyLayerParameters_v920 = -1; /* PhyLayerParameters_v920 */ static int hf_lte_rrc_interRAT_ParametersGERAN_v920 = -1; /* IRAT_ParametersGERAN_v920 */ static int hf_lte_rrc_interRAT_ParametersUTRA_v920 = -1; /* IRAT_ParametersUTRA_v920 */ @@ -2449,9 +2563,9 @@ static int hf_lte_rrc_deviceType_r9 = -1; /* T_deviceType_r9 */ static int hf_lte_rrc_csg_ProximityIndicationParameters_r9 = -1; /* CSG_ProximityIndicationParameters_r9 */ static int hf_lte_rrc_neighCellSI_AcquisitionParameters_r9 = -1; /* NeighCellSI_AcquisitionParameters_r9 */ static int hf_lte_rrc_son_Parameters_r9 = -1; /* SON_Parameters_r9 */ -static int hf_lte_rrc_nonCriticalExtension_132 = -1; /* UE_EUTRA_Capability_v940_IEs */ +static int hf_lte_rrc_nonCriticalExtension_140 = -1; /* UE_EUTRA_Capability_v940_IEs */ static int hf_lte_rrc_lateNonCriticalExtension_07 = -1; /* T_lateNonCriticalExtension_06 */ -static int hf_lte_rrc_nonCriticalExtension_133 = -1; /* UE_EUTRA_Capability_v1020_IEs */ +static int hf_lte_rrc_nonCriticalExtension_141 = -1; /* UE_EUTRA_Capability_v1020_IEs */ static int hf_lte_rrc_ue_Category_v1020 = -1; /* INTEGER_6_8 */ static int hf_lte_rrc_phyLayerParameters_v1020 = -1; /* PhyLayerParameters_v1020 */ static int hf_lte_rrc_rf_Parameters_v1020 = -1; /* RF_Parameters_v1020 */ @@ -2460,13 +2574,13 @@ static int hf_lte_rrc_featureGroupIndRel10_r10 = -1; /* T_featureGroupIndRel10_ static int hf_lte_rrc_interRAT_ParametersCDMA2000_v1020 = -1; /* IRAT_ParametersCDMA2000_1XRTT_v1020 */ static int hf_lte_rrc_ue_BasedNetwPerfMeasParameters_r10 = -1; /* UE_BasedNetwPerfMeasParameters_r10 */ static int hf_lte_rrc_interRAT_ParametersUTRA_TDD_v1020 = -1; /* IRAT_ParametersUTRA_TDD_v1020 */ -static int hf_lte_rrc_nonCriticalExtension_134 = -1; /* UE_EUTRA_Capability_v1060_IEs */ +static int hf_lte_rrc_nonCriticalExtension_142 = -1; /* UE_EUTRA_Capability_v1060_IEs */ static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1060 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1060 */ static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1060 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1060 */ static int hf_lte_rrc_rf_Parameters_v1060 = -1; /* RF_Parameters_v1060 */ -static int hf_lte_rrc_nonCriticalExtension_135 = -1; /* UE_EUTRA_Capability_v1090_IEs */ +static int hf_lte_rrc_nonCriticalExtension_143 = -1; /* UE_EUTRA_Capability_v1090_IEs */ static int hf_lte_rrc_rf_Parameters_v1090 = -1; /* RF_Parameters_v1090 */ -static int hf_lte_rrc_nonCriticalExtension_136 = -1; /* UE_EUTRA_Capability_v1130_IEs */ +static int hf_lte_rrc_nonCriticalExtension_144 = -1; /* UE_EUTRA_Capability_v1130_IEs */ static int hf_lte_rrc_pdcp_Parameters_v1130 = -1; /* PDCP_Parameters_v1130 */ static int hf_lte_rrc_phyLayerParameters_v1130 = -1; /* PhyLayerParameters_v1130 */ static int hf_lte_rrc_rf_Parameters_v1130 = -1; /* RF_Parameters_v1130 */ @@ -2475,31 +2589,33 @@ static int hf_lte_rrc_interRAT_ParametersCDMA2000_v1130 = -1; /* IRAT_Parameter static int hf_lte_rrc_otherParameters_r11 = -1; /* Other_Parameters_r11 */ static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1130 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1130 */ static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1130 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1130 */ -static int hf_lte_rrc_nonCriticalExtension_137 = -1; /* UE_EUTRA_Capability_v1170_IEs */ +static int hf_lte_rrc_nonCriticalExtension_145 = -1; /* UE_EUTRA_Capability_v1170_IEs */ static int hf_lte_rrc_phyLayerParameters_v1170 = -1; /* PhyLayerParameters_v1170 */ static int hf_lte_rrc_ue_Category_v1170 = -1; /* INTEGER_9_10 */ -static int hf_lte_rrc_nonCriticalExtension_138 = -1; /* UE_EUTRA_Capability_v1180_IEs */ +static int hf_lte_rrc_nonCriticalExtension_146 = -1; /* UE_EUTRA_Capability_v1180_IEs */ static int hf_lte_rrc_rf_Parameters_v1180 = -1; /* RF_Parameters_v1180 */ static int hf_lte_rrc_mbms_Parameters_r11 = -1; /* MBMS_Parameters_r11 */ static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1180 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1180 */ static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1180 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1180 */ -static int hf_lte_rrc_nonCriticalExtension_139 = -1; /* UE_EUTRA_Capability_v11a0_IEs */ +static int hf_lte_rrc_nonCriticalExtension_147 = -1; /* UE_EUTRA_Capability_v11a0_IEs */ static int hf_lte_rrc_ue_Category_v11a0 = -1; /* INTEGER_11_12 */ static int hf_lte_rrc_measParameters_v11a0 = -1; /* MeasParameters_v11a0 */ -static int hf_lte_rrc_nonCriticalExtension_140 = -1; /* UE_EUTRA_Capability_v12xy_IEs */ -static int hf_lte_rrc_phyLayerParameters_v12xy = -1; /* PhyLayerParameters_v12xy */ -static int hf_lte_rrc_rf_Parameters_v12xy = -1; /* RF_Parameters_v12xy */ +static int hf_lte_rrc_nonCriticalExtension_148 = -1; /* UE_EUTRA_Capability_v1250_IEs */ +static int hf_lte_rrc_phyLayerParameters_v1250 = -1; /* PhyLayerParameters_v1250 */ +static int hf_lte_rrc_rf_Parameters_v1250 = -1; /* RF_Parameters_v1250 */ static int hf_lte_rrc_rlc_Parameters_r12 = -1; /* RLC_Parameters_r12 */ -static int hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v12xy = -1; /* UE_BasedNetwPerfMeasParameters_v12xy */ -static int hf_lte_rrc_ue_Category_v12xy = -1; /* INTEGER_0_15 */ +static int hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v1250 = -1; /* UE_BasedNetwPerfMeasParameters_v1250 */ +static int hf_lte_rrc_ue_CategoryDL_r12 = -1; /* INTEGER_0_14 */ +static int hf_lte_rrc_ue_CategoryUL_r12 = -1; /* INTEGER_0_13 */ static int hf_lte_rrc_wlan_IW_Parameters_r12 = -1; /* WLAN_IW_Parameters_r12 */ -static int hf_lte_rrc_measParameters_v12xy = -1; /* MeasParameters_v12xy */ +static int hf_lte_rrc_measParameters_v1250 = -1; /* MeasParameters_v1250 */ static int hf_lte_rrc_dc_Parameters_r12 = -1; /* DC_Parameters_r12 */ -static int hf_lte_rrc_mbms_Parameters_v12xy = -1; /* MBMS_Parameters_v12xy */ +static int hf_lte_rrc_mbms_Parameters_v1250 = -1; /* MBMS_Parameters_v1250 */ static int hf_lte_rrc_mac_Parameters_r12 = -1; /* MAC_Parameters_r12 */ -static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v12xy = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v12xy */ -static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v12xy = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v12xy */ -static int hf_lte_rrc_nonCriticalExtension_141 = -1; /* T_nonCriticalExtension_49 */ +static int hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1250 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1250 */ +static int hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1250 = -1; /* UE_EUTRA_CapabilityAddXDD_Mode_v1250 */ +static int hf_lte_rrc_sl_Parameters_r12 = -1; /* SL_Parameters_r12 */ +static int hf_lte_rrc_nonCriticalExtension_149 = -1; /* T_nonCriticalExtension_54 */ static int hf_lte_rrc_phyLayerParameters_r9 = -1; /* PhyLayerParameters */ static int hf_lte_rrc_featureGroupIndicators_r9 = -1; /* T_featureGroupIndicators_r9 */ static int hf_lte_rrc_featureGroupIndRel9Add_r9_01 = -1; /* T_featureGroupIndRel9Add_r9_01 */ @@ -2512,7 +2628,6 @@ static int hf_lte_rrc_interRAT_ParametersCDMA2000_v1060 = -1; /* IRAT_Parameter static int hf_lte_rrc_interRAT_ParametersUTRA_TDD_v1060 = -1; /* IRAT_ParametersUTRA_TDD_v1020 */ static int hf_lte_rrc_drb_TypeSplit_r12 = -1; /* T_drb_TypeSplit_r12 */ static int hf_lte_rrc_drb_TypeSCG_r12 = -1; /* T_drb_TypeSCG_r12 */ -static int hf_lte_rrc_singleDuplexModeCG_r12 = -1; /* T_singleDuplexModeCG_r12 */ static int hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12_01 = -1; /* T_logicalChannelSR_ProhibitTimer_r12_01 */ static int hf_lte_rrc_longDRX_Command_r12 = -1; /* T_longDRX_Command_r12 */ static int hf_lte_rrc_extended_RLC_LI_Field_r12 = -1; /* T_extended_RLC_LI_Field_r12 */ @@ -2544,8 +2659,8 @@ static int hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_r11 = -1; /* T_interB static int hf_lte_rrc_e_HARQ_Pattern_FDD_r12 = -1; /* T_e_HARQ_Pattern_FDD_r12 */ static int hf_lte_rrc_enhanced_4TxCodebook_r12 = -1; /* T_enhanced_4TxCodebook_r12 */ static int hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12 = -1; /* T_tdd_FDD_CA_PCellDuplex_r12 */ -static int hf_lte_rrc_phy_TDD_ReConfig_TDDPCell_r12 = -1; /* T_phy_TDD_ReConfig_TDDPCell_r12 */ -static int hf_lte_rrc_phy_TDD_ReConfig_FDDPCell_r12 = -1; /* T_phy_TDD_ReConfig_FDDPCell_r12 */ +static int hf_lte_rrc_phy_TDD_ReConfig_TDD_PCell_r12 = -1; /* T_phy_TDD_ReConfig_TDD_PCell_r12 */ +static int hf_lte_rrc_phy_TDD_ReConfig_FDD_PCell_r12 = -1; /* T_phy_TDD_ReConfig_FDD_PCell_r12 */ static int hf_lte_rrc_pusch_FeedbackMode_r12 = -1; /* T_pusch_FeedbackMode_r12 */ static int hf_lte_rrc_pusch_SRS_PowerControl_SubframeSet_r12 = -1; /* T_pusch_SRS_PowerControl_SubframeSet_r12 */ static int hf_lte_rrc_csi_SubframeSet_r12 = -1; /* T_csi_SubframeSet_r12 */ @@ -2565,16 +2680,17 @@ static int hf_lte_rrc_freqBandRetrieval_r11 = -1; /* T_freqBandRetrieval_r11 */ static int hf_lte_rrc_requestedBands_r11 = -1; /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicator_r11 */ static int hf_lte_rrc_requestedBands_r11_item = -1; /* FreqBandIndicator_r11 */ static int hf_lte_rrc_supportedBandCombinationAdd_r11 = -1; /* SupportedBandCombinationAdd_r11 */ -static int hf_lte_rrc_supportedBandListEUTRA_v12xy = -1; /* SupportedBandListEUTRA_v12xy */ -static int hf_lte_rrc_supportedBandCombination_v12xy = -1; /* SupportedBandCombination_v12xy */ -static int hf_lte_rrc_supportedBandCombinationAdd_v12xy = -1; /* SupportedBandCombinationAdd_v12xy */ +static int hf_lte_rrc_supportedBandListEUTRA_v1250 = -1; /* SupportedBandListEUTRA_v1250 */ +static int hf_lte_rrc_supportedBandCombination_v1250 = -1; /* SupportedBandCombination_v1250 */ +static int hf_lte_rrc_supportedBandCombinationAdd_v1250 = -1; /* SupportedBandCombinationAdd_v1250 */ +static int hf_lte_rrc_freqBandPriorityAdjustment_r12 = -1; /* T_freqBandPriorityAdjustment_r12 */ static int hf_lte_rrc_SupportedBandCombination_r10_item = -1; /* BandCombinationParameters_r10 */ static int hf_lte_rrc_SupportedBandCombinationExt_r10_item = -1; /* BandCombinationParametersExt_r10 */ static int hf_lte_rrc_SupportedBandCombination_v1090_item = -1; /* BandCombinationParameters_v1090 */ static int hf_lte_rrc_SupportedBandCombination_v1130_item = -1; /* BandCombinationParameters_v1130 */ -static int hf_lte_rrc_SupportedBandCombination_v12xy_item = -1; /* BandCombinationParameters_v12xy */ +static int hf_lte_rrc_SupportedBandCombination_v1250_item = -1; /* BandCombinationParameters_v1250 */ static int hf_lte_rrc_SupportedBandCombinationAdd_r11_item = -1; /* BandCombinationParameters_r11 */ -static int hf_lte_rrc_SupportedBandCombinationAdd_v12xy_item = -1; /* BandCombinationParameters_v12xy */ +static int hf_lte_rrc_SupportedBandCombinationAdd_v1250_item = -1; /* BandCombinationParameters_v1250 */ static int hf_lte_rrc_BandCombinationParameters_r10_item = -1; /* BandParameters_r10 */ static int hf_lte_rrc_supportedBandwidthCombinationSet_r10 = -1; /* SupportedBandwidthCombinationSet_r10 */ static int hf_lte_rrc_BandCombinationParameters_v1090_item = -1; /* BandParameters_v1090 */ @@ -2589,10 +2705,13 @@ static int hf_lte_rrc_multipleTimingAdvance_r11_01 = -1; /* T_multipleTimingAdv static int hf_lte_rrc_simultaneousRx_Tx_r11_01 = -1; /* T_simultaneousRx_Tx_r11_01 */ static int hf_lte_rrc_bandInfoEUTRA_r11 = -1; /* BandInfoEUTRA */ static int hf_lte_rrc_dc_Support_r12 = -1; /* T_dc_Support_r12 */ -static int hf_lte_rrc_supported_r12 = -1; /* T_supported_r12 */ static int hf_lte_rrc_asynchronous_r12 = -1; /* T_asynchronous_r12 */ -static int hf_lte_rrc_supportedCellGrouping_r12 = -1; /* BIT_STRING_SIZE_1_15 */ +static int hf_lte_rrc_supportedCellGrouping_r12 = -1; /* T_supportedCellGrouping_r12 */ +static int hf_lte_rrc_threeEntries_r12 = -1; /* BIT_STRING_SIZE_3 */ +static int hf_lte_rrc_fourEntries_r12 = -1; /* BIT_STRING_SIZE_7 */ +static int hf_lte_rrc_fiveEntries_r12 = -1; /* BIT_STRING_SIZE_15 */ static int hf_lte_rrc_supportedNAICS_2CRS_AP_r12 = -1; /* BIT_STRING_SIZE_1_maxNAICS_Entries_r12 */ +static int hf_lte_rrc_commSupportedBandsPerBC_r12 = -1; /* BIT_STRING_SIZE_1_maxBands */ static int hf_lte_rrc_bandEUTRA_r10 = -1; /* T_bandEUTRA_r10 */ static int hf_lte_rrc_bandParametersUL_r10 = -1; /* BandParametersUL_r10 */ static int hf_lte_rrc_bandParametersDL_r10 = -1; /* BandParametersDL_r10 */ @@ -2610,22 +2729,23 @@ static int hf_lte_rrc_ca_BandwidthClassDL_r10 = -1; /* CA_BandwidthClass_r10 */ static int hf_lte_rrc_supportedMIMO_CapabilityDL_r10 = -1; /* MIMO_CapabilityDL_r10 */ static int hf_lte_rrc_SupportedBandListEUTRA_item = -1; /* SupportedBandEUTRA */ static int hf_lte_rrc_SupportedBandListEUTRA_v9e0_item = -1; /* SupportedBandEUTRA_v9e0 */ -static int hf_lte_rrc_SupportedBandListEUTRA_v12xy_item = -1; /* SupportedBandEUTRA_v12xy */ +static int hf_lte_rrc_SupportedBandListEUTRA_v1250_item = -1; /* SupportedBandEUTRA_v1250 */ static int hf_lte_rrc_bandEUTRA = -1; /* FreqBandIndicator */ static int hf_lte_rrc_halfDuplex = -1; /* BOOLEAN */ static int hf_lte_rrc_bandEUTRA_v9e0 = -1; /* FreqBandIndicator_v9e0 */ static int hf_lte_rrc_dl_256QAM_r12 = -1; /* T_dl_256QAM_r12 */ +static int hf_lte_rrc_ul_64QAM_r12 = -1; /* T_ul_64QAM_r12 */ static int hf_lte_rrc_bandListEUTRA = -1; /* BandListEUTRA */ static int hf_lte_rrc_bandCombinationListEUTRA_r10 = -1; /* BandCombinationListEUTRA_r10 */ static int hf_lte_rrc_rsrqMeasWideband_r11 = -1; /* T_rsrqMeasWideband_r11 */ static int hf_lte_rrc_benefitsFromInterruption_r11 = -1; /* T_benefitsFromInterruption_r11 */ static int hf_lte_rrc_timerT312_r12 = -1; /* T_timerT312_r12 */ -static int hf_lte_rrc_alternativeTimeToTrigger_r12_01 = -1; /* T_alternativeTimeToTrigger_r12 */ +static int hf_lte_rrc_alternativeTimeToTrigger_r12_01 = -1; /* T_alternativeTimeToTrigger_r12_01 */ static int hf_lte_rrc_incMonEUTRA_r12 = -1; /* T_incMonEUTRA_r12 */ static int hf_lte_rrc_incMonUTRA_r12 = -1; /* T_incMonUTRA_r12 */ static int hf_lte_rrc_extendedMaxMeasId_r12 = -1; /* T_extendedMaxMeasId_r12 */ static int hf_lte_rrc_extendedRSRQ_LowerRange_r12 = -1; /* T_extendedRSRQ_LowerRange_r12 */ -static int hf_lte_rrc_rsrqOnAllSymbols_r12 = -1; /* T_rsrqOnAllSymbols_r12 */ +static int hf_lte_rrc_rsrq_OnAllSymbols_r12 = -1; /* T_rsrq_OnAllSymbols_r12 */ static int hf_lte_rrc_crs_DiscoverySignalsMeas_r12 = -1; /* T_crs_DiscoverySignalsMeas_r12 */ static int hf_lte_rrc_csi_RS_DiscoverySignalsMeas_r12 = -1; /* T_csi_RS_DiscoverySignalsMeas_r12 */ static int hf_lte_rrc_BandListEUTRA_item = -1; /* BandInfoEUTRA */ @@ -2691,9 +2811,19 @@ static int hf_lte_rrc_mbms_AsyncDC_r12 = -1; /* T_mbms_AsyncDC_r12 */ static int hf_lte_rrc_wlan_IW_RAN_Rules_r12 = -1; /* T_wlan_IW_RAN_Rules_r12 */ static int hf_lte_rrc_wlan_IW_ANDSF_Policies_r12 = -1; /* T_wlan_IW_ANDSF_Policies_r12 */ static int hf_lte_rrc_NAICS_Capability_List_r12_item = -1; /* NAICS_Capability_Entry_r12 */ -static int hf_lte_rrc_numberOfNAICSCapableCC_r12 = -1; /* INTEGER_1_5 */ +static int hf_lte_rrc_numberOfNAICS_CapableCC_r12 = -1; /* INTEGER_1_5 */ static int hf_lte_rrc_numberOfAggregatedPRB_r12 = -1; /* T_numberOfAggregatedPRB_r12 */ -static int hf_lte_rrc_ue_Category_v12xy_01 = -1; /* INTEGER_0 */ +static int hf_lte_rrc_commSimultaneousTx_r12 = -1; /* T_commSimultaneousTx_r12 */ +static int hf_lte_rrc_commSupportedBands_r12 = -1; /* FreqBandIndicatorListEUTRA_r12 */ +static int hf_lte_rrc_discSupportedBands_r12 = -1; /* SupportedBandInfoList_r12 */ +static int hf_lte_rrc_discScheduledResourceAlloc_r12 = -1; /* T_discScheduledResourceAlloc_r12 */ +static int hf_lte_rrc_disc_UE_SelectedResourceAlloc_r12 = -1; /* T_disc_UE_SelectedResourceAlloc_r12 */ +static int hf_lte_rrc_disc_SLSS_r12 = -1; /* T_disc_SLSS_r12 */ +static int hf_lte_rrc_discSupportedProc_r12 = -1; /* T_discSupportedProc_r12 */ +static int hf_lte_rrc_SupportedBandInfoList_r12_item = -1; /* SupportedBandInfo_r12 */ +static int hf_lte_rrc_support_r12 = -1; /* T_support_r12 */ +static int hf_lte_rrc_FreqBandIndicatorListEUTRA_r12_item = -1; /* FreqBandIndicator_r11 */ +static int hf_lte_rrc_ue_Category_v1250 = -1; /* INTEGER_0 */ static int hf_lte_rrc_t300 = -1; /* T_t300 */ static int hf_lte_rrc_t301 = -1; /* T_t301 */ static int hf_lte_rrc_t310 = -1; /* T_t310 */ @@ -2724,10 +2854,10 @@ static int hf_lte_rrc_thresholdChannelUtilization_r12 = -1; /* T_thresholdChann static int hf_lte_rrc_thresholdChannelUtilizationLow_r12 = -1; /* T_thresholdChannelUtilizationLow_r12 */ static int hf_lte_rrc_thresholdChannelUtilizationHigh_r12 = -1; /* T_thresholdChannelUtilizationHigh_r12 */ static int hf_lte_rrc_thresholdBackhaul_Bandwidth_r12 = -1; /* T_thresholdBackhaul_Bandwidth_r12 */ -static int hf_lte_rrc_thresholdBackhaulDL_BandwidthLow_r12 = -1; /* WLAN_backhaulRate */ -static int hf_lte_rrc_thresholdBackhaulDL_BandwidthHigh_r12 = -1; /* WLAN_backhaulRate */ -static int hf_lte_rrc_thresholdBackhaulUL_BandwidthLow_r12 = -1; /* WLAN_backhaulRate */ -static int hf_lte_rrc_thresholdBackhaulUL_BandwidthHigh_r12 = -1; /* WLAN_backhaulRate */ +static int hf_lte_rrc_thresholdBackhaulDL_BandwidthLow_r12 = -1; /* WLAN_backhaulRate_r12 */ +static int hf_lte_rrc_thresholdBackhaulDL_BandwidthHigh_r12 = -1; /* WLAN_backhaulRate_r12 */ +static int hf_lte_rrc_thresholdBackhaulUL_BandwidthLow_r12 = -1; /* WLAN_backhaulRate_r12 */ +static int hf_lte_rrc_thresholdBackhaulUL_BandwidthHigh_r12 = -1; /* WLAN_backhaulRate_r12 */ static int hf_lte_rrc_thresholdBeaconRSSI_r12 = -1; /* T_thresholdBeaconRSSI_r12 */ static int hf_lte_rrc_thresholdBeaconRSSI_Low_r12 = -1; /* INTEGER_0_255 */ static int hf_lte_rrc_thresholdBeaconRSSI_High_r12 = -1; /* INTEGER_0_255 */ @@ -2737,7 +2867,7 @@ static int hf_lte_rrc_notificationRepetitionCoeff_r9 = -1; /* T_notificationRep static int hf_lte_rrc_notificationOffset_r9 = -1; /* INTEGER_0_10 */ static int hf_lte_rrc_notificationSF_Index_r9 = -1; /* INTEGER_1_6 */ static int hf_lte_rrc_MBSFN_AreaInfoList_r9_item = -1; /* MBSFN_AreaInfo_r9 */ -static int hf_lte_rrc_mbsfn_AreaId_r9 = -1; /* INTEGER_0_255 */ +static int hf_lte_rrc_mbsfn_AreaId_r9 = -1; /* MBSFN_AreaId_r12 */ static int hf_lte_rrc_non_MBSFNregionLength = -1; /* T_non_MBSFNregionLength */ static int hf_lte_rrc_notificationIndicator_r9 = -1; /* INTEGER_0_7 */ static int hf_lte_rrc_mcch_Config_r9 = -1; /* T_mcch_Config_r9 */ @@ -2766,77 +2896,118 @@ static int hf_lte_rrc_dataMCS_r9 = -1; /* INTEGER_0_28 */ static int hf_lte_rrc_mch_SchedulingPeriod_r9 = -1; /* T_mch_SchedulingPeriod_r9 */ static int hf_lte_rrc_sf_AllocEnd_r12 = -1; /* INTEGER_0_1535 */ static int hf_lte_rrc_dataMCS_r12 = -1; /* T_dataMCS_r12 */ -static int hf_lte_rrc_t1_r12 = -1; /* INTEGER_0_28 */ -static int hf_lte_rrc_t2_r12 = -1; /* INTEGER_0_27 */ +static int hf_lte_rrc_normal_r12 = -1; /* INTEGER_0_28 */ +static int hf_lte_rrc_higerOrder_r12 = -1; /* INTEGER_0_27 */ static int hf_lte_rrc_mch_SchedulingPeriod_r12 = -1; /* T_mch_SchedulingPeriod_r12 */ static int hf_lte_rrc_plmn_Id_r9 = -1; /* T_plmn_Id_r9 */ static int hf_lte_rrc_plmn_Index_r9 = -1; /* INTEGER_1_maxPLMN_r11 */ static int hf_lte_rrc_explicitValue_r9 = -1; /* PLMN_Identity */ static int hf_lte_rrc_serviceId_r9 = -1; /* OCTET_STRING_SIZE_3 */ -static int hf_lte_rrc_criticalExtensions_39 = -1; /* T_criticalExtensions_39 */ -static int hf_lte_rrc_c1_35 = -1; /* T_c1_35 */ -static int hf_lte_rrc_handoverCommand_r8 = -1; /* HandoverCommand_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_39 = -1; /* T_criticalExtensionsFuture_39 */ -static int hf_lte_rrc_handoverCommandMessage = -1; /* T_handoverCommandMessage */ -static int hf_lte_rrc_nonCriticalExtension_142 = -1; /* T_nonCriticalExtension_50 */ -static int hf_lte_rrc_criticalExtensions_40 = -1; /* T_criticalExtensions_40 */ -static int hf_lte_rrc_c1_36 = -1; /* T_c1_36 */ -static int hf_lte_rrc_handoverPreparationInformation_r8 = -1; /* HandoverPreparationInformation_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_40 = -1; /* T_criticalExtensionsFuture_40 */ -static int hf_lte_rrc_ue_RadioAccessCapabilityInfo = -1; /* UE_CapabilityRAT_ContainerList */ -static int hf_lte_rrc_as_Config = -1; /* AS_Config */ -static int hf_lte_rrc_rrm_Config = -1; /* RRM_Config */ -static int hf_lte_rrc_as_Context = -1; /* AS_Context */ -static int hf_lte_rrc_nonCriticalExtension_143 = -1; /* HandoverPreparationInformation_v920_IEs */ -static int hf_lte_rrc_ue_ConfigRelease_r9 = -1; /* T_ue_ConfigRelease_r9 */ -static int hf_lte_rrc_nonCriticalExtension_144 = -1; /* HandoverPreparationInformation_v9d0_IEs */ -static int hf_lte_rrc_nonCriticalExtension_145 = -1; /* HandoverPreparationInformation_v9e0_IEs */ -static int hf_lte_rrc_as_Config_v9e0 = -1; /* AS_Config_v9e0 */ -static int hf_lte_rrc_nonCriticalExtension_146 = -1; /* HandoverPreparationInformation_v1130_IEs */ -static int hf_lte_rrc_as_Context_v1130 = -1; /* AS_Context_v1130 */ -static int hf_lte_rrc_nonCriticalExtension_147 = -1; /* HandoverPreparationInformation_v12xy_IEs */ -static int hf_lte_rrc_ue_SupportedEARFCN_r12 = -1; /* ARFCN_ValueEUTRA_r9 */ -static int hf_lte_rrc_as_Config_v12xy = -1; /* AS_Config_v12xy */ -static int hf_lte_rrc_nonCriticalExtension_148 = -1; /* T_nonCriticalExtension_51 */ -static int hf_lte_rrc_criticalExtensions_41 = -1; /* T_criticalExtensions_41 */ -static int hf_lte_rrc_c1_37 = -1; /* T_c1_37 */ -static int hf_lte_rrc_scg_Config_r12 = -1; /* SCG_Config_r12_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_41 = -1; /* T_criticalExtensionsFuture_41 */ -static int hf_lte_rrc_scg_RadioConfig_r12 = -1; /* SCG_ConfigPartSCG_r12 */ -static int hf_lte_rrc_nonCriticalExtension_149 = -1; /* T_nonCriticalExtension_52 */ -static int hf_lte_rrc_criticalExtensions_42 = -1; /* T_criticalExtensions_42 */ -static int hf_lte_rrc_c1_38 = -1; /* T_c1_38 */ -static int hf_lte_rrc_ueRadioAccessCapabilityInformation_r8 = -1; /* UERadioAccessCapabilityInformation_r8_IEs */ -static int hf_lte_rrc_criticalExtensionsFuture_42 = -1; /* T_criticalExtensionsFuture_42 */ -static int hf_lte_rrc_ue_RadioAccessCapabilityInfo_01 = -1; /* T_ue_RadioAccessCapabilityInfo */ -static int hf_lte_rrc_nonCriticalExtension_150 = -1; /* T_nonCriticalExtension_53 */ -static int hf_lte_rrc_sourceMeasConfig = -1; /* MeasConfig */ -static int hf_lte_rrc_sourceRadioResourceConfig = -1; /* RadioResourceConfigDedicated */ -static int hf_lte_rrc_sourceSecurityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */ -static int hf_lte_rrc_sourceUE_Identity = -1; /* C_RNTI */ -static int hf_lte_rrc_sourceMasterInformationBlock = -1; /* MasterInformationBlock */ -static int hf_lte_rrc_sourceSystemInformationBlockType1 = -1; /* SystemInformationBlockType1 */ -static int hf_lte_rrc_sourceSystemInformationBlockType2 = -1; /* SystemInformationBlockType2 */ -static int hf_lte_rrc_sourceDl_CarrierFreq = -1; /* ARFCN_ValueEUTRA */ -static int hf_lte_rrc_sourceSystemInformationBlockType1Ext = -1; /* T_sourceSystemInformationBlockType1Ext */ -static int hf_lte_rrc_sourceOtherConfig_r9 = -1; /* OtherConfig_r9 */ -static int hf_lte_rrc_sourceSCellConfigList_r10 = -1; /* SCellToAddModList_r10 */ -static int hf_lte_rrc_sourceConfigSCG_r12 = -1; /* SCG_Config_r12 */ -static int hf_lte_rrc_sourceDl_CarrierFreq_v9e0 = -1; /* ARFCN_ValueEUTRA_v9e0 */ -static int hf_lte_rrc_sourceWlan_OffloadConfig_r12 = -1; /* WLAN_OffloadConfig_r12 */ -static int hf_lte_rrc_reestablishmentInfo = -1; /* ReestablishmentInfo */ -static int hf_lte_rrc_idc_Indication_r11_01 = -1; /* T_idc_Indication_r11_01 */ -static int hf_lte_rrc_mbmsInterestIndication_r11_01 = -1; /* T_mbmsInterestIndication_r11 */ -static int hf_lte_rrc_powerPrefIndication_r11_01 = -1; /* T_powerPrefIndication_r11_01 */ -static int hf_lte_rrc_sourcePhysCellId = -1; /* PhysCellId */ -static int hf_lte_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */ -static int hf_lte_rrc_additionalReestabInfoList = -1; /* AdditionalReestabInfoList */ -static int hf_lte_rrc_AdditionalReestabInfoList_item = -1; /* AdditionalReestabInfo */ -static int hf_lte_rrc_key_eNodeB_Star = -1; /* Key_eNodeB_Star */ -static int hf_lte_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */ -static int hf_lte_rrc_candidateCellInfoList_r10 = -1; /* CandidateCellInfoList_r10 */ -static int hf_lte_rrc_CandidateCellInfoList_r10_item = -1; /* CandidateCellInfo_r10 */ -static int hf_lte_rrc_rsrqResult_v12xy = -1; /* RSRQ_Range_v12xy */ +static int hf_lte_rrc_commTxResources_r12 = -1; /* T_commTxResources_r12 */ +static int hf_lte_rrc_setup_64 = -1; /* T_setup_55 */ +static int hf_lte_rrc_scheduled_r12 = -1; /* T_scheduled_r12 */ +static int hf_lte_rrc_sl_RNTI_r12 = -1; /* C_RNTI */ +static int hf_lte_rrc_mac_MainConfig_r12 = -1; /* MAC_MainConfigSL_r12 */ +static int hf_lte_rrc_commTxConfig_r12 = -1; /* SL_CommResourcePool_r12 */ +static int hf_lte_rrc_mcs_r12 = -1; /* INTEGER_0_28 */ +static int hf_lte_rrc_ue_Selected_r12 = -1; /* T_ue_Selected_r12 */ +static int hf_lte_rrc_commTxPoolNormalDedicated_r12 = -1; /* T_commTxPoolNormalDedicated_r12 */ +static int hf_lte_rrc_poolToReleaseList_r12 = -1; /* SL_TxPoolToReleaseList_r12 */ +static int hf_lte_rrc_poolToAddModList_r12 = -1; /* SL_CommTxPoolToAddModList_r12 */ +static int hf_lte_rrc_SL_CommTxPoolToAddModList_r12_item = -1; /* SL_CommTxPoolToAddMod_r12 */ +static int hf_lte_rrc_poolIdentity_r12 = -1; /* SL_TxPoolIdentity_r12 */ +static int hf_lte_rrc_pool_r12 = -1; /* SL_CommResourcePool_r12 */ +static int hf_lte_rrc_periodic_BSR_TimerSL = -1; /* PeriodicBSR_Timer_r12 */ +static int hf_lte_rrc_retx_BSR_TimerSL = -1; /* RetxBSR_Timer_r12 */ +static int hf_lte_rrc_SL_CommTxPoolList_r12_item = -1; /* SL_CommResourcePool_r12 */ +static int hf_lte_rrc_SL_CommRxPoolList_r12_item = -1; /* SL_CommResourcePool_r12 */ +static int hf_lte_rrc_sc_CP_Len_r12 = -1; /* SL_CP_Len_r12 */ +static int hf_lte_rrc_sc_Period_r12 = -1; /* SL_PeriodComm_r12 */ +static int hf_lte_rrc_sc_TF_ResourceConfig_r12 = -1; /* SL_TF_ResourceConfig_r12 */ +static int hf_lte_rrc_data_CP_Len_r12 = -1; /* SL_CP_Len_r12 */ +static int hf_lte_rrc_dataHoppingConfig_r12 = -1; /* SL_HoppingConfigComm_r12 */ +static int hf_lte_rrc_ue_SelectedResourceConfig_r12 = -1; /* T_ue_SelectedResourceConfig_r12 */ +static int hf_lte_rrc_data_TF_ResourceConfig_r12 = -1; /* SL_TF_ResourceConfig_r12 */ +static int hf_lte_rrc_trpt_Subset_r12 = -1; /* SL_TRPT_Subset_r12 */ +static int hf_lte_rrc_rxParametersNCell_r12 = -1; /* T_rxParametersNCell_r12 */ +static int hf_lte_rrc_tdd_Config_r12 = -1; /* TDD_Config */ +static int hf_lte_rrc_syncConfigIndex_r12 = -1; /* INTEGER_0_15 */ +static int hf_lte_rrc_txParameters_r12 = -1; /* T_txParameters_r12 */ +static int hf_lte_rrc_sc_TxParameters_r12 = -1; /* SL_TxParameters_r12 */ +static int hf_lte_rrc_dataTxParameters_r12 = -1; /* SL_TxParameters_r12 */ +static int hf_lte_rrc_discTxResources_r12 = -1; /* T_discTxResources_r12 */ +static int hf_lte_rrc_setup_65 = -1; /* T_setup_56 */ +static int hf_lte_rrc_scheduled_r12_01 = -1; /* T_scheduled_r12_01 */ +static int hf_lte_rrc_discTxConfig_r12 = -1; /* SL_DiscResourcePool_r12 */ +static int hf_lte_rrc_discTF_IndexList_r12 = -1; /* SL_TF_IndexPairList_r12 */ +static int hf_lte_rrc_discHoppingConfig_r12 = -1; /* SL_HoppingConfigDisc_r12 */ +static int hf_lte_rrc_ue_Selected_r12_01 = -1; /* T_ue_Selected_r12_01 */ +static int hf_lte_rrc_discTxPoolDedicated_r12 = -1; /* T_discTxPoolDedicated_r12 */ +static int hf_lte_rrc_poolToAddModList_r12_01 = -1; /* SL_DiscTxPoolToAddModList_r12 */ +static int hf_lte_rrc_SL_DiscTxPoolToAddModList_r12_item = -1; /* SL_DiscTxPoolToAddMod_r12 */ +static int hf_lte_rrc_pool_r12_01 = -1; /* SL_DiscResourcePool_r12 */ +static int hf_lte_rrc_SL_TF_IndexPairList_r12_item = -1; /* SL_TF_IndexPair_r12 */ +static int hf_lte_rrc_discSF_Index_r12 = -1; /* INTEGER_1_200 */ +static int hf_lte_rrc_discPRB_Index_r12 = -1; /* INTEGER_1_50 */ +static int hf_lte_rrc_SL_DiscTxPoolList_r12_item = -1; /* SL_DiscResourcePool_r12 */ +static int hf_lte_rrc_SL_DiscRxPoolList_r12_item = -1; /* SL_DiscResourcePool_r12 */ +static int hf_lte_rrc_cp_Len_r12 = -1; /* SL_CP_Len_r12 */ +static int hf_lte_rrc_discPeriod_r12 = -1; /* T_discPeriod_r12 */ +static int hf_lte_rrc_numRetx_r12 = -1; /* INTEGER_0_3 */ +static int hf_lte_rrc_numRepetition_r12 = -1; /* INTEGER_1_50 */ +static int hf_lte_rrc_tf_ResourceConfig_r12 = -1; /* SL_TF_ResourceConfig_r12 */ +static int hf_lte_rrc_txParameters_r12_01 = -1; /* T_txParameters_r12_01 */ +static int hf_lte_rrc_txParametersGeneral_r12 = -1; /* SL_TxParameters_r12 */ +static int hf_lte_rrc_ue_SelectedResourceConfig_r12_01 = -1; /* T_ue_SelectedResourceConfig_r12_01 */ +static int hf_lte_rrc_poolSelection_r12 = -1; /* T_poolSelection_r12 */ +static int hf_lte_rrc_rsrpBased_r12 = -1; /* SL_PoolSelectionConfig_r12 */ +static int hf_lte_rrc_random_r12 = -1; /* NULL */ +static int hf_lte_rrc_txProbability_r12 = -1; /* T_txProbability_r12 */ +static int hf_lte_rrc_rxParameters_r12 = -1; /* T_rxParameters_r12 */ +static int hf_lte_rrc_threshLow_r12 = -1; /* RSRP_RangeSL2_r12 */ +static int hf_lte_rrc_threshHigh_r12 = -1; /* RSRP_RangeSL2_r12 */ +static int hf_lte_rrc_SL_DiscTxPowerInfoList_r12_item = -1; /* SL_DiscTxPowerInfo_r12 */ +static int hf_lte_rrc_discMaxTxPower_r12 = -1; /* P_Max */ +static int hf_lte_rrc_hoppingParameter_r12 = -1; /* INTEGER_0_504 */ +static int hf_lte_rrc_numSubbands_r12 = -1; /* T_numSubbands_r12 */ +static int hf_lte_rrc_rb_Offset_r12 = -1; /* INTEGER_0_110 */ +static int hf_lte_rrc_a_r12 = -1; /* INTEGER_1_200 */ +static int hf_lte_rrc_b_r12 = -1; /* INTEGER_1_10 */ +static int hf_lte_rrc_c_r12 = -1; /* T_c_r12 */ +static int hf_lte_rrc_small_r12 = -1; /* INTEGER_0_319 */ +static int hf_lte_rrc_large_r12 = -1; /* INTEGER_0_10239 */ +static int hf_lte_rrc_SL_SyncConfigList_r12_item = -1; /* SL_SyncConfig_r12 */ +static int hf_lte_rrc_syncCP_Len_r12 = -1; /* SL_CP_Len_r12 */ +static int hf_lte_rrc_syncOffsetIndicator_r12 = -1; /* SL_OffsetIndicatorSync_r12 */ +static int hf_lte_rrc_slssid_r12 = -1; /* SLSSID_r12 */ +static int hf_lte_rrc_txParameters_r12_02 = -1; /* T_txParameters_r12_02 */ +static int hf_lte_rrc_syncTxParameters_r12 = -1; /* SL_TxParameters_r12 */ +static int hf_lte_rrc_syncTxThreshIC_r12 = -1; /* RSRP_RangeSL_r12 */ +static int hf_lte_rrc_syncInfoReserved_r12 = -1; /* BIT_STRING_SIZE_19 */ +static int hf_lte_rrc_rxParamsNCell_r12 = -1; /* T_rxParamsNCell_r12 */ +static int hf_lte_rrc_discSyncWindow_r12 = -1; /* T_discSyncWindow_r12 */ +static int hf_lte_rrc_prb_Num_r12 = -1; /* INTEGER_1_100 */ +static int hf_lte_rrc_prb_Start_r12 = -1; /* INTEGER_0_99 */ +static int hf_lte_rrc_prb_End_r12 = -1; /* INTEGER_0_99 */ +static int hf_lte_rrc_offsetIndicator_r12 = -1; /* SL_OffsetIndicator_r12 */ +static int hf_lte_rrc_subframeBitmap_r12 = -1; /* SubframeBitmapSL_r12 */ +static int hf_lte_rrc_bs4_r12 = -1; /* BIT_STRING_SIZE_4 */ +static int hf_lte_rrc_bs8_r12 = -1; /* BIT_STRING_SIZE_8 */ +static int hf_lte_rrc_bs12_r12 = -1; /* BIT_STRING_SIZE_12 */ +static int hf_lte_rrc_bs16_r12 = -1; /* BIT_STRING_SIZE_16 */ +static int hf_lte_rrc_bs30_r12 = -1; /* BIT_STRING_SIZE_30 */ +static int hf_lte_rrc_bs40_r12 = -1; /* BIT_STRING_SIZE_40 */ +static int hf_lte_rrc_bs42_r12 = -1; /* BIT_STRING_SIZE_42 */ +static int hf_lte_rrc_alpha_r12 = -1; /* Alpha_r12 */ +static int hf_lte_rrc_p0_r12 = -1; /* P0_SL_r12 */ +static int hf_lte_rrc_SL_TxPoolToReleaseList_r12_item = -1; /* SL_TxPoolIdentity_r12 */ +static int hf_lte_rrc_message_08 = -1; /* SBCCH_SL_BCH_MessageType */ +static int hf_lte_rrc_sl_Bandwidth_r12 = -1; /* T_sl_Bandwidth_r12 */ +static int hf_lte_rrc_tdd_ConfigSL_r12 = -1; /* TDD_ConfigSL_r12 */ +static int hf_lte_rrc_directFrameNumber_r12 = -1; /* BIT_STRING_SIZE_10 */ +static int hf_lte_rrc_directSubframeNumber_r12 = -1; /* INTEGER_0_9 */ +static int hf_lte_rrc_inCoverage_r12 = -1; /* BOOLEAN */ +static int hf_lte_rrc_reserved_r12 = -1; /* BIT_STRING_SIZE_19 */ static int dummy_hf_lte_rrc_eag_field = -1; /* never registered */ /*--- End of included file: packet-lte-rrc-hf.c ---*/ @@ -3003,91 +3174,131 @@ static int ett_lte_rrc = -1; /*--- Included file: packet-lte-rrc-ett.c ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-ett.c" +static gint ett_lte_rrc_HandoverCommand = -1; +static gint ett_lte_rrc_T_criticalExtensions = -1; +static gint ett_lte_rrc_T_c1 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture = -1; +static gint ett_lte_rrc_HandoverCommand_r8_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension = -1; +static gint ett_lte_rrc_HandoverPreparationInformation = -1; +static gint ett_lte_rrc_T_criticalExtensions_01 = -1; +static gint ett_lte_rrc_T_c1_01 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_01 = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_r8_IEs = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_v920_IEs = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_v1130_IEs = -1; +static gint ett_lte_rrc_HandoverPreparationInformation_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_01 = -1; +static gint ett_lte_rrc_SCG_Config_r12 = -1; +static gint ett_lte_rrc_T_criticalExtensions_02 = -1; +static gint ett_lte_rrc_T_c1_02 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_02 = -1; +static gint ett_lte_rrc_SCG_Config_r12_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_02 = -1; +static gint ett_lte_rrc_UERadioAccessCapabilityInformation = -1; +static gint ett_lte_rrc_T_criticalExtensions_03 = -1; +static gint ett_lte_rrc_T_c1_03 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_03 = -1; +static gint ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_03 = -1; +static gint ett_lte_rrc_AS_Config = -1; +static gint ett_lte_rrc_AS_Config_v9e0 = -1; +static gint ett_lte_rrc_AS_Config_v1250 = -1; +static gint ett_lte_rrc_AS_Context = -1; +static gint ett_lte_rrc_AS_Context_v1130 = -1; +static gint ett_lte_rrc_ReestablishmentInfo = -1; +static gint ett_lte_rrc_AdditionalReestabInfoList = -1; +static gint ett_lte_rrc_AdditionalReestabInfo = -1; +static gint ett_lte_rrc_RRM_Config = -1; +static gint ett_lte_rrc_CandidateCellInfoList_r10 = -1; +static gint ett_lte_rrc_CandidateCellInfo_r10 = -1; static gint ett_lte_rrc_BCCH_BCH_Message = -1; static gint ett_lte_rrc_BCCH_DL_SCH_Message = -1; static gint ett_lte_rrc_BCCH_DL_SCH_MessageType = -1; -static gint ett_lte_rrc_T_c1 = -1; +static gint ett_lte_rrc_T_c1_04 = -1; static gint ett_lte_rrc_T_messageClassExtension = -1; static gint ett_lte_rrc_MCCH_Message = -1; static gint ett_lte_rrc_MCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_01 = -1; +static gint ett_lte_rrc_T_c1_05 = -1; static gint ett_lte_rrc_T_later = -1; static gint ett_lte_rrc_T_c2 = -1; static gint ett_lte_rrc_T_messageClassExtension_01 = -1; static gint ett_lte_rrc_PCCH_Message = -1; static gint ett_lte_rrc_PCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_02 = -1; +static gint ett_lte_rrc_T_c1_06 = -1; static gint ett_lte_rrc_T_messageClassExtension_02 = -1; static gint ett_lte_rrc_DL_CCCH_Message = -1; static gint ett_lte_rrc_DL_CCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_03 = -1; +static gint ett_lte_rrc_T_c1_07 = -1; static gint ett_lte_rrc_T_messageClassExtension_03 = -1; static gint ett_lte_rrc_DL_DCCH_Message = -1; static gint ett_lte_rrc_DL_DCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_04 = -1; +static gint ett_lte_rrc_T_c1_08 = -1; static gint ett_lte_rrc_T_messageClassExtension_04 = -1; static gint ett_lte_rrc_UL_CCCH_Message = -1; static gint ett_lte_rrc_UL_CCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_05 = -1; +static gint ett_lte_rrc_T_c1_09 = -1; static gint ett_lte_rrc_T_messageClassExtension_05 = -1; static gint ett_lte_rrc_UL_DCCH_Message = -1; static gint ett_lte_rrc_UL_DCCH_MessageType = -1; -static gint ett_lte_rrc_T_c1_06 = -1; +static gint ett_lte_rrc_T_c1_10 = -1; static gint ett_lte_rrc_T_messageClassExtension_06 = -1; static gint ett_lte_rrc_T_c2_01 = -1; static gint ett_lte_rrc_T_messageClassExtensionFuture_r11 = -1; static gint ett_lte_rrc_CounterCheck = -1; -static gint ett_lte_rrc_T_criticalExtensions = -1; -static gint ett_lte_rrc_T_c1_07 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture = -1; +static gint ett_lte_rrc_T_criticalExtensions_04 = -1; +static gint ett_lte_rrc_T_c1_11 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_04 = -1; static gint ett_lte_rrc_CounterCheck_r8_IEs = -1; static gint ett_lte_rrc_CounterCheck_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_04 = -1; static gint ett_lte_rrc_DRB_CountMSB_InfoList = -1; static gint ett_lte_rrc_DRB_CountMSB_Info = -1; static gint ett_lte_rrc_CounterCheckResponse = -1; -static gint ett_lte_rrc_T_criticalExtensions_01 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_01 = -1; +static gint ett_lte_rrc_T_criticalExtensions_05 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_05 = -1; static gint ett_lte_rrc_CounterCheckResponse_r8_IEs = -1; static gint ett_lte_rrc_CounterCheckResponse_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_01 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_05 = -1; static gint ett_lte_rrc_DRB_CountInfoList = -1; static gint ett_lte_rrc_DRB_CountInfo = -1; static gint ett_lte_rrc_CSFBParametersRequestCDMA2000 = -1; -static gint ett_lte_rrc_T_criticalExtensions_02 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_02 = -1; +static gint ett_lte_rrc_T_criticalExtensions_06 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_06 = -1; static gint ett_lte_rrc_CSFBParametersRequestCDMA2000_r8_IEs = -1; static gint ett_lte_rrc_CSFBParametersRequestCDMA2000_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_02 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_06 = -1; static gint ett_lte_rrc_CSFBParametersResponseCDMA2000 = -1; -static gint ett_lte_rrc_T_criticalExtensions_03 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_03 = -1; +static gint ett_lte_rrc_T_criticalExtensions_07 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_07 = -1; static gint ett_lte_rrc_CSFBParametersResponseCDMA2000_r8_IEs = -1; static gint ett_lte_rrc_CSFBParametersResponseCDMA2000_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_03 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_07 = -1; static gint ett_lte_rrc_DLInformationTransfer = -1; -static gint ett_lte_rrc_T_criticalExtensions_04 = -1; -static gint ett_lte_rrc_T_c1_08 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_04 = -1; +static gint ett_lte_rrc_T_criticalExtensions_08 = -1; +static gint ett_lte_rrc_T_c1_12 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_08 = -1; static gint ett_lte_rrc_DLInformationTransfer_r8_IEs = -1; static gint ett_lte_rrc_T_dedicatedInfoType = -1; static gint ett_lte_rrc_DLInformationTransfer_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_04 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_08 = -1; static gint ett_lte_rrc_HandoverFromEUTRAPreparationRequest = -1; -static gint ett_lte_rrc_T_criticalExtensions_05 = -1; -static gint ett_lte_rrc_T_c1_09 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_05 = -1; +static gint ett_lte_rrc_T_criticalExtensions_09 = -1; +static gint ett_lte_rrc_T_c1_13 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_09 = -1; static gint ett_lte_rrc_HandoverFromEUTRAPreparationRequest_r8_IEs = -1; static gint ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v890_IEs = -1; static gint ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v920_IEs = -1; static gint ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v1020_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_05 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_09 = -1; static gint ett_lte_rrc_InDeviceCoexIndication_r11 = -1; -static gint ett_lte_rrc_T_criticalExtensions_06 = -1; -static gint ett_lte_rrc_T_c1_10 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_06 = -1; +static gint ett_lte_rrc_T_criticalExtensions_10 = -1; +static gint ett_lte_rrc_T_c1_14 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_10 = -1; static gint ett_lte_rrc_InDeviceCoexIndication_r11_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_06 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_10 = -1; static gint ett_lte_rrc_AffectedCarrierFreqList_r11 = -1; static gint ett_lte_rrc_AffectedCarrierFreq_r11 = -1; static gint ett_lte_rrc_TDM_AssistanceInfo_r11 = -1; @@ -3096,71 +3307,71 @@ static gint ett_lte_rrc_IDC_SubframePatternList_r11 = -1; static gint ett_lte_rrc_IDC_SubframePattern_r11 = -1; static gint ett_lte_rrc_T_subframePatternTDD_r11 = -1; static gint ett_lte_rrc_InterFreqRSTDMeasurementIndication_r10 = -1; -static gint ett_lte_rrc_T_criticalExtensions_07 = -1; -static gint ett_lte_rrc_T_c1_11 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_07 = -1; +static gint ett_lte_rrc_T_criticalExtensions_11 = -1; +static gint ett_lte_rrc_T_c1_15 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_11 = -1; static gint ett_lte_rrc_InterFreqRSTDMeasurementIndication_r10_IEs = -1; static gint ett_lte_rrc_T_rstd_InterFreqIndication_r10 = -1; static gint ett_lte_rrc_T_start = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_07 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_11 = -1; static gint ett_lte_rrc_RSTD_InterFreqInfoList_r10 = -1; static gint ett_lte_rrc_RSTD_InterFreqInfo_r10 = -1; static gint ett_lte_rrc_LoggedMeasurementConfiguration_r10 = -1; -static gint ett_lte_rrc_T_criticalExtensions_08 = -1; -static gint ett_lte_rrc_T_c1_12 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_08 = -1; +static gint ett_lte_rrc_T_criticalExtensions_12 = -1; +static gint ett_lte_rrc_T_c1_16 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_12 = -1; static gint ett_lte_rrc_LoggedMeasurementConfiguration_r10_IEs = -1; static gint ett_lte_rrc_LoggedMeasurementConfiguration_v1080_IEs = -1; static gint ett_lte_rrc_LoggedMeasurementConfiguration_v1130_IEs = -1; -static gint ett_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_08 = -1; +static gint ett_lte_rrc_LoggedMeasurementConfiguration_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_12 = -1; static gint ett_lte_rrc_TargetMBSFN_AreaList_r12 = -1; static gint ett_lte_rrc_TargetMBSFN_Area_r12 = -1; static gint ett_lte_rrc_MasterInformationBlock = -1; static gint ett_lte_rrc_MBMSCountingRequest_r10 = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_09 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_13 = -1; static gint ett_lte_rrc_CountingRequestList_r10 = -1; static gint ett_lte_rrc_CountingRequestInfo_r10 = -1; static gint ett_lte_rrc_MBMSCountingResponse_r10 = -1; -static gint ett_lte_rrc_T_criticalExtensions_09 = -1; -static gint ett_lte_rrc_T_c1_13 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_09 = -1; +static gint ett_lte_rrc_T_criticalExtensions_13 = -1; +static gint ett_lte_rrc_T_c1_17 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_13 = -1; static gint ett_lte_rrc_MBMSCountingResponse_r10_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_10 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_14 = -1; static gint ett_lte_rrc_CountingResponseList_r10 = -1; static gint ett_lte_rrc_CountingResponseInfo_r10 = -1; static gint ett_lte_rrc_MBMSInterestIndication_r11 = -1; -static gint ett_lte_rrc_T_criticalExtensions_10 = -1; -static gint ett_lte_rrc_T_c1_14 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_10 = -1; +static gint ett_lte_rrc_T_criticalExtensions_14 = -1; +static gint ett_lte_rrc_T_c1_18 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_14 = -1; static gint ett_lte_rrc_MBMSInterestIndication_r11_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_11 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_15 = -1; static gint ett_lte_rrc_MBSFNAreaConfiguration_r9 = -1; static gint ett_lte_rrc_MBSFNAreaConfiguration_v930_IEs = -1; -static gint ett_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_12 = -1; +static gint ett_lte_rrc_MBSFNAreaConfiguration_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_16 = -1; static gint ett_lte_rrc_CommonSF_AllocPatternList_r9 = -1; static gint ett_lte_rrc_MeasurementReport = -1; -static gint ett_lte_rrc_T_criticalExtensions_11 = -1; -static gint ett_lte_rrc_T_c1_15 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_11 = -1; +static gint ett_lte_rrc_T_criticalExtensions_15 = -1; +static gint ett_lte_rrc_T_c1_19 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_15 = -1; static gint ett_lte_rrc_MeasurementReport_r8_IEs = -1; static gint ett_lte_rrc_MeasurementReport_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_13 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_17 = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand = -1; -static gint ett_lte_rrc_T_criticalExtensions_12 = -1; -static gint ett_lte_rrc_T_c1_16 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_12 = -1; +static gint ett_lte_rrc_T_criticalExtensions_16 = -1; +static gint ett_lte_rrc_T_c1_20 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_16 = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_r8_IEs = -1; static gint ett_lte_rrc_T_purpose = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_v8a0_IEs = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_v8d0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_14 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_18 = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_r9_IEs = -1; static gint ett_lte_rrc_T_purpose_01 = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_v930_IEs = -1; static gint ett_lte_rrc_MobilityFromEUTRACommand_v960_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_15 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_19 = -1; static gint ett_lte_rrc_Handover = -1; static gint ett_lte_rrc_CellChangeOrder = -1; static gint ett_lte_rrc_T_targetRAT_Type_01 = -1; @@ -3171,47 +3382,48 @@ static gint ett_lte_rrc_Paging = -1; static gint ett_lte_rrc_Paging_v890_IEs = -1; static gint ett_lte_rrc_Paging_v920_IEs = -1; static gint ett_lte_rrc_Paging_v1130_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_16 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_20 = -1; static gint ett_lte_rrc_PagingRecordList = -1; static gint ett_lte_rrc_PagingRecord = -1; static gint ett_lte_rrc_PagingUE_Identity = -1; static gint ett_lte_rrc_IMSI = -1; static gint ett_lte_rrc_ProximityIndication_r9 = -1; -static gint ett_lte_rrc_T_criticalExtensions_13 = -1; -static gint ett_lte_rrc_T_c1_17 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_13 = -1; +static gint ett_lte_rrc_T_criticalExtensions_17 = -1; +static gint ett_lte_rrc_T_c1_21 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_17 = -1; static gint ett_lte_rrc_ProximityIndication_r9_IEs = -1; static gint ett_lte_rrc_T_carrierFreq_r9 = -1; static gint ett_lte_rrc_ProximityIndication_v930_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_17 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_21 = -1; static gint ett_lte_rrc_RNReconfiguration_r10 = -1; -static gint ett_lte_rrc_T_criticalExtensions_14 = -1; -static gint ett_lte_rrc_T_c1_18 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_14 = -1; +static gint ett_lte_rrc_T_criticalExtensions_18 = -1; +static gint ett_lte_rrc_T_c1_22 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_18 = -1; static gint ett_lte_rrc_RNReconfiguration_r10_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_18 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_22 = -1; static gint ett_lte_rrc_RN_SystemInfo_r10 = -1; static gint ett_lte_rrc_RNReconfigurationComplete_r10 = -1; -static gint ett_lte_rrc_T_criticalExtensions_15 = -1; -static gint ett_lte_rrc_T_c1_19 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_15 = -1; +static gint ett_lte_rrc_T_criticalExtensions_19 = -1; +static gint ett_lte_rrc_T_c1_23 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_19 = -1; static gint ett_lte_rrc_RNReconfigurationComplete_r10_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_19 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_23 = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration = -1; -static gint ett_lte_rrc_T_criticalExtensions_16 = -1; -static gint ett_lte_rrc_T_c1_20 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_16 = -1; +static gint ett_lte_rrc_T_criticalExtensions_20 = -1; +static gint ett_lte_rrc_T_c1_24 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_20 = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration_r8_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedInfoNAS = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration_v890_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration_v920_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration_v1020_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfiguration_v1130_IEs = -1; -static gint ett_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs = -1; -static gint ett_lte_rrc_T_wlan_OffloadDedicated_r12 = -1; +static gint ett_lte_rrc_RRCConnectionReconfiguration_v1250_IEs = -1; +static gint ett_lte_rrc_T_wlan_OffloadInfo_r12 = -1; static gint ett_lte_rrc_T_setup = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_20 = -1; -static gint ett_lte_rrc_PSCell_r12 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_24 = -1; +static gint ett_lte_rrc_SL_SyncTxControl_r12 = -1; +static gint ett_lte_rrc_PSCellToAddMod_r12 = -1; static gint ett_lte_rrc_T_cellIdentification_r12 = -1; static gint ett_lte_rrc_PowerCoordinationInfo_r12 = -1; static gint ett_lte_rrc_SCellToAddModList_r10 = -1; @@ -3220,71 +3432,71 @@ static gint ett_lte_rrc_T_cellIdentification_r10 = -1; static gint ett_lte_rrc_SCellToReleaseList_r10 = -1; static gint ett_lte_rrc_SCG_Configuration_r12 = -1; static gint ett_lte_rrc_T_setup_01 = -1; -static gint ett_lte_rrc_T_scg_ConfigPartMCG = -1; +static gint ett_lte_rrc_T_scg_ConfigPartMCG_r12 = -1; static gint ett_lte_rrc_SCG_ConfigPartSCG_r12 = -1; static gint ett_lte_rrc_SecurityConfigHO = -1; static gint ett_lte_rrc_T_handoverType = -1; static gint ett_lte_rrc_T_intraLTE = -1; static gint ett_lte_rrc_T_interRAT = -1; static gint ett_lte_rrc_RRCConnectionReconfigurationComplete = -1; -static gint ett_lte_rrc_T_criticalExtensions_17 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_17 = -1; +static gint ett_lte_rrc_T_criticalExtensions_21 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_21 = -1; static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_v8a0_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_v1020_IEs = -1; static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_v1130_IEs = -1; -static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_21 = -1; +static gint ett_lte_rrc_RRCConnectionReconfigurationComplete_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_25 = -1; static gint ett_lte_rrc_RRCConnectionReestablishment = -1; -static gint ett_lte_rrc_T_criticalExtensions_18 = -1; -static gint ett_lte_rrc_T_c1_21 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_18 = -1; +static gint ett_lte_rrc_T_criticalExtensions_22 = -1; +static gint ett_lte_rrc_T_c1_25 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_22 = -1; static gint ett_lte_rrc_RRCConnectionReestablishment_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishment_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_22 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_26 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete = -1; -static gint ett_lte_rrc_T_criticalExtensions_19 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_19 = -1; +static gint ett_lte_rrc_T_criticalExtensions_23 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_23 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v920_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v8a0_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v1020_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v1130_IEs = -1; -static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_23 = -1; +static gint ett_lte_rrc_RRCConnectionReestablishmentComplete_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_27 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentReject = -1; -static gint ett_lte_rrc_T_criticalExtensions_20 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_20 = -1; +static gint ett_lte_rrc_T_criticalExtensions_24 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_24 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentReject_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentReject_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_24 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_28 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentRequest = -1; -static gint ett_lte_rrc_T_criticalExtensions_21 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_21 = -1; +static gint ett_lte_rrc_T_criticalExtensions_25 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_25 = -1; static gint ett_lte_rrc_RRCConnectionReestablishmentRequest_r8_IEs = -1; static gint ett_lte_rrc_ReestabUE_Identity = -1; static gint ett_lte_rrc_RRCConnectionReject = -1; -static gint ett_lte_rrc_T_criticalExtensions_22 = -1; -static gint ett_lte_rrc_T_c1_22 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_22 = -1; +static gint ett_lte_rrc_T_criticalExtensions_26 = -1; +static gint ett_lte_rrc_T_c1_26 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_26 = -1; static gint ett_lte_rrc_RRCConnectionReject_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionReject_v8a0_IEs = -1; static gint ett_lte_rrc_RRCConnectionReject_v1020_IEs = -1; static gint ett_lte_rrc_RRCConnectionReject_v1130_IEs = -1; static gint ett_lte_rrc_T_deprioritisationReq_r11 = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_25 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_29 = -1; static gint ett_lte_rrc_RRCConnectionRelease = -1; -static gint ett_lte_rrc_T_criticalExtensions_23 = -1; -static gint ett_lte_rrc_T_c1_23 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_23 = -1; +static gint ett_lte_rrc_T_criticalExtensions_27 = -1; +static gint ett_lte_rrc_T_c1_27 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_27 = -1; static gint ett_lte_rrc_RRCConnectionRelease_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionRelease_v890_IEs = -1; static gint ett_lte_rrc_RRCConnectionRelease_v9e0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_26 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_30 = -1; static gint ett_lte_rrc_RRCConnectionRelease_v920_IEs = -1; static gint ett_lte_rrc_T_cellInfoList_r9 = -1; static gint ett_lte_rrc_RRCConnectionRelease_v1020_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_27 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_31 = -1; static gint ett_lte_rrc_RedirectedCarrierInfo = -1; static gint ett_lte_rrc_RedirectedCarrierInfo_v9e0 = -1; static gint ett_lte_rrc_CarrierFreqListUTRA_TDD_r10 = -1; @@ -3315,76 +3527,83 @@ static gint ett_lte_rrc_CellInfoUTRA_TDD_r9 = -1; static gint ett_lte_rrc_CellInfoListUTRA_TDD_r10 = -1; static gint ett_lte_rrc_CellInfoUTRA_TDD_r10 = -1; static gint ett_lte_rrc_RRCConnectionRequest = -1; -static gint ett_lte_rrc_T_criticalExtensions_24 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_24 = -1; +static gint ett_lte_rrc_T_criticalExtensions_28 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_28 = -1; static gint ett_lte_rrc_RRCConnectionRequest_r8_IEs = -1; static gint ett_lte_rrc_InitialUE_Identity = -1; static gint ett_lte_rrc_RRCConnectionSetup = -1; -static gint ett_lte_rrc_T_criticalExtensions_25 = -1; -static gint ett_lte_rrc_T_c1_24 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_25 = -1; +static gint ett_lte_rrc_T_criticalExtensions_29 = -1; +static gint ett_lte_rrc_T_c1_28 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_29 = -1; static gint ett_lte_rrc_RRCConnectionSetup_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionSetup_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_28 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_32 = -1; static gint ett_lte_rrc_RRCConnectionSetupComplete = -1; -static gint ett_lte_rrc_T_criticalExtensions_26 = -1; -static gint ett_lte_rrc_T_c1_25 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_26 = -1; +static gint ett_lte_rrc_T_criticalExtensions_30 = -1; +static gint ett_lte_rrc_T_c1_29 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_30 = -1; static gint ett_lte_rrc_RRCConnectionSetupComplete_r8_IEs = -1; static gint ett_lte_rrc_RRCConnectionSetupComplete_v8a0_IEs = -1; static gint ett_lte_rrc_RRCConnectionSetupComplete_v1020_IEs = -1; static gint ett_lte_rrc_RRCConnectionSetupComplete_v1130_IEs = -1; -static gint ett_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_29 = -1; +static gint ett_lte_rrc_RRCConnectionSetupComplete_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_33 = -1; static gint ett_lte_rrc_RegisteredMME = -1; static gint ett_lte_rrc_SCGFailureInformation_r12 = -1; -static gint ett_lte_rrc_T_criticalExtensions_27 = -1; -static gint ett_lte_rrc_T_c1_26 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_27 = -1; +static gint ett_lte_rrc_T_criticalExtensions_31 = -1; +static gint ett_lte_rrc_T_c1_30 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_31 = -1; static gint ett_lte_rrc_SCGFailureInformation_r12_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_30 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_34 = -1; static gint ett_lte_rrc_FailureReportSCG_r12 = -1; -static gint ett_lte_rrc_T_measResultNeighCells_r12 = -1; static gint ett_lte_rrc_SecurityModeCommand = -1; -static gint ett_lte_rrc_T_criticalExtensions_28 = -1; -static gint ett_lte_rrc_T_c1_27 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_28 = -1; +static gint ett_lte_rrc_T_criticalExtensions_32 = -1; +static gint ett_lte_rrc_T_c1_31 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_32 = -1; static gint ett_lte_rrc_SecurityModeCommand_r8_IEs = -1; static gint ett_lte_rrc_SecurityModeCommand_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_31 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_35 = -1; static gint ett_lte_rrc_SecurityConfigSMC = -1; static gint ett_lte_rrc_SecurityModeComplete = -1; -static gint ett_lte_rrc_T_criticalExtensions_29 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_29 = -1; +static gint ett_lte_rrc_T_criticalExtensions_33 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_33 = -1; static gint ett_lte_rrc_SecurityModeComplete_r8_IEs = -1; static gint ett_lte_rrc_SecurityModeComplete_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_32 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_36 = -1; static gint ett_lte_rrc_SecurityModeFailure = -1; -static gint ett_lte_rrc_T_criticalExtensions_30 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_30 = -1; +static gint ett_lte_rrc_T_criticalExtensions_34 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_34 = -1; static gint ett_lte_rrc_SecurityModeFailure_r8_IEs = -1; static gint ett_lte_rrc_SecurityModeFailure_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_33 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_37 = -1; +static gint ett_lte_rrc_SidelinkUEInformation_r12 = -1; +static gint ett_lte_rrc_T_criticalExtensions_35 = -1; +static gint ett_lte_rrc_T_c1_32 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_35 = -1; +static gint ett_lte_rrc_SidelinkUEInformation_r12_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_38 = -1; +static gint ett_lte_rrc_SL_CommTxResourceReq_r12 = -1; +static gint ett_lte_rrc_SL_DestinationInfoList_r12 = -1; static gint ett_lte_rrc_SystemInformation = -1; -static gint ett_lte_rrc_T_criticalExtensions_31 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_31 = -1; +static gint ett_lte_rrc_T_criticalExtensions_36 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_36 = -1; static gint ett_lte_rrc_SystemInformation_r8_IEs = -1; static gint ett_lte_rrc_T_sib_TypeAndInfo = -1; static gint ett_lte_rrc_T_sib_TypeAndInfo_item = -1; static gint ett_lte_rrc_SystemInformation_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_34 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_39 = -1; static gint ett_lte_rrc_SystemInformationBlockType1 = -1; static gint ett_lte_rrc_T_cellAccessRelatedInfo = -1; static gint ett_lte_rrc_T_cellSelectionInfo = -1; static gint ett_lte_rrc_SystemInformationBlockType1_v890_IEs = -1; static gint ett_lte_rrc_SystemInformationBlockType1_v8h0_IEs = -1; static gint ett_lte_rrc_SystemInformationBlockType1_v9e0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_35 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_40 = -1; static gint ett_lte_rrc_SystemInformationBlockType1_v920_IEs = -1; static gint ett_lte_rrc_SystemInformationBlockType1_v1130_IEs = -1; -static gint ett_lte_rrc_SystemInformationBlockType1_v12xy_IEs = -1; -static gint ett_lte_rrc_T_cellAccessRelatedInfo_v12xy = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_36 = -1; +static gint ett_lte_rrc_SystemInformationBlockType1_v1250_IEs = -1; +static gint ett_lte_rrc_T_cellAccessRelatedInfo_v1250 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_41 = -1; static gint ett_lte_rrc_PLMN_IdentityList = -1; static gint ett_lte_rrc_PLMN_IdentityInfo = -1; static gint ett_lte_rrc_SchedulingInfoList = -1; @@ -3392,54 +3611,54 @@ static gint ett_lte_rrc_SchedulingInfo = -1; static gint ett_lte_rrc_SIB_MappingInfo = -1; static gint ett_lte_rrc_CellSelectionInfo_v920 = -1; static gint ett_lte_rrc_CellSelectionInfo_v1130 = -1; -static gint ett_lte_rrc_CellSelectionInfo_v12xy = -1; +static gint ett_lte_rrc_CellSelectionInfo_v1250 = -1; static gint ett_lte_rrc_UEAssistanceInformation_r11 = -1; -static gint ett_lte_rrc_T_criticalExtensions_32 = -1; -static gint ett_lte_rrc_T_c1_28 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_32 = -1; +static gint ett_lte_rrc_T_criticalExtensions_37 = -1; +static gint ett_lte_rrc_T_c1_33 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_37 = -1; static gint ett_lte_rrc_UEAssistanceInformation_r11_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_37 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_42 = -1; static gint ett_lte_rrc_UECapabilityEnquiry = -1; -static gint ett_lte_rrc_T_criticalExtensions_33 = -1; -static gint ett_lte_rrc_T_c1_29 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_33 = -1; +static gint ett_lte_rrc_T_criticalExtensions_38 = -1; +static gint ett_lte_rrc_T_c1_34 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_38 = -1; static gint ett_lte_rrc_UECapabilityEnquiry_r8_IEs = -1; static gint ett_lte_rrc_UECapabilityEnquiry_v8a0_IEs = -1; static gint ett_lte_rrc_UECapabilityEnquiry_v1180_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_16_OF_FreqBandIndicator_r11 = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_38 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_43 = -1; static gint ett_lte_rrc_UE_CapabilityRequest = -1; static gint ett_lte_rrc_UECapabilityInformation = -1; -static gint ett_lte_rrc_T_criticalExtensions_34 = -1; -static gint ett_lte_rrc_T_c1_30 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_34 = -1; +static gint ett_lte_rrc_T_criticalExtensions_39 = -1; +static gint ett_lte_rrc_T_c1_35 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_39 = -1; static gint ett_lte_rrc_UECapabilityInformation_r8_IEs = -1; static gint ett_lte_rrc_UECapabilityInformation_v8a0_IEs = -1; -static gint ett_lte_rrc_UECapabilityInformation_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_39 = -1; +static gint ett_lte_rrc_UECapabilityInformation_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_44 = -1; static gint ett_lte_rrc_UEInformationRequest_r9 = -1; -static gint ett_lte_rrc_T_criticalExtensions_35 = -1; -static gint ett_lte_rrc_T_c1_31 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_35 = -1; +static gint ett_lte_rrc_T_criticalExtensions_40 = -1; +static gint ett_lte_rrc_T_c1_36 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_40 = -1; static gint ett_lte_rrc_UEInformationRequest_r9_IEs = -1; static gint ett_lte_rrc_UEInformationRequest_v930_IEs = -1; static gint ett_lte_rrc_UEInformationRequest_v1020_IEs = -1; static gint ett_lte_rrc_UEInformationRequest_v1130_IEs = -1; -static gint ett_lte_rrc_UEInformationRequest_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_40 = -1; +static gint ett_lte_rrc_UEInformationRequest_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_45 = -1; static gint ett_lte_rrc_UEInformationResponse_r9 = -1; -static gint ett_lte_rrc_T_criticalExtensions_36 = -1; -static gint ett_lte_rrc_T_c1_32 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_36 = -1; +static gint ett_lte_rrc_T_criticalExtensions_41 = -1; +static gint ett_lte_rrc_T_c1_37 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_41 = -1; static gint ett_lte_rrc_UEInformationResponse_r9_IEs = -1; static gint ett_lte_rrc_T_rach_Report_r9 = -1; static gint ett_lte_rrc_UEInformationResponse_v9e0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_41 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_46 = -1; static gint ett_lte_rrc_UEInformationResponse_v930_IEs = -1; static gint ett_lte_rrc_UEInformationResponse_v1020_IEs = -1; static gint ett_lte_rrc_UEInformationResponse_v1130_IEs = -1; -static gint ett_lte_rrc_UEInformationResponse_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_42 = -1; +static gint ett_lte_rrc_UEInformationResponse_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_47 = -1; static gint ett_lte_rrc_RLF_Report_r9 = -1; static gint ett_lte_rrc_T_measResultLastServCell_r9 = -1; static gint ett_lte_rrc_T_measResultNeighCells_r9 = -1; @@ -3451,14 +3670,14 @@ static gint ett_lte_rrc_T_previousUTRA_CellId_r11 = -1; static gint ett_lte_rrc_T_physCellId_r11 = -1; static gint ett_lte_rrc_T_selectedUTRA_CellId_r11 = -1; static gint ett_lte_rrc_T_physCellId_r11_01 = -1; -static gint ett_lte_rrc_T_failedPCellId_v12xy = -1; +static gint ett_lte_rrc_T_failedPCellId_v1250 = -1; static gint ett_lte_rrc_RLF_Report_v9e0 = -1; static gint ett_lte_rrc_MeasResultList2EUTRA_r9 = -1; static gint ett_lte_rrc_MeasResultList2EUTRA_v9e0 = -1; -static gint ett_lte_rrc_MeasResultList2EUTRA_v12xy = -1; +static gint ett_lte_rrc_MeasResultList2EUTRA_v1250 = -1; static gint ett_lte_rrc_MeasResult2EUTRA_r9 = -1; static gint ett_lte_rrc_MeasResult2EUTRA_v9e0 = -1; -static gint ett_lte_rrc_MeasResult2EUTRA_v12xy = -1; +static gint ett_lte_rrc_MeasResult2EUTRA_v1250 = -1; static gint ett_lte_rrc_MeasResultList2UTRA_r9 = -1; static gint ett_lte_rrc_MeasResult2UTRA_r9 = -1; static gint ett_lte_rrc_MeasResultList2CDMA2000_r9 = -1; @@ -3474,35 +3693,36 @@ static gint ett_lte_rrc_T_mbsfn_Area_r12 = -1; static gint ett_lte_rrc_DataBLER_MCH_ResultList_r12 = -1; static gint ett_lte_rrc_DataBLER_MCH_Result_r12 = -1; static gint ett_lte_rrc_BLER_Result_r12 = -1; +static gint ett_lte_rrc_T_blocksReceived_r12 = -1; static gint ett_lte_rrc_MeasResultList2GERAN_r10 = -1; static gint ett_lte_rrc_ConnEstFailReport_r11 = -1; static gint ett_lte_rrc_T_measResultFailedCell_r11 = -1; static gint ett_lte_rrc_T_measResultNeighCells_r11 = -1; static gint ett_lte_rrc_ULHandoverPreparationTransfer = -1; -static gint ett_lte_rrc_T_criticalExtensions_37 = -1; -static gint ett_lte_rrc_T_c1_33 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_37 = -1; +static gint ett_lte_rrc_T_criticalExtensions_42 = -1; +static gint ett_lte_rrc_T_c1_38 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_42 = -1; static gint ett_lte_rrc_ULHandoverPreparationTransfer_r8_IEs = -1; static gint ett_lte_rrc_ULHandoverPreparationTransfer_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_43 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_48 = -1; static gint ett_lte_rrc_ULInformationTransfer = -1; -static gint ett_lte_rrc_T_criticalExtensions_38 = -1; -static gint ett_lte_rrc_T_c1_34 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_38 = -1; +static gint ett_lte_rrc_T_criticalExtensions_43 = -1; +static gint ett_lte_rrc_T_c1_39 = -1; +static gint ett_lte_rrc_T_criticalExtensionsFuture_43 = -1; static gint ett_lte_rrc_ULInformationTransfer_r8_IEs = -1; static gint ett_lte_rrc_T_dedicatedInfoType_01 = -1; static gint ett_lte_rrc_ULInformationTransfer_v8a0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_44 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_49 = -1; static gint ett_lte_rrc_SystemInformationBlockType2 = -1; static gint ett_lte_rrc_T_ac_BarringInfo = -1; static gint ett_lte_rrc_T_freqInfo = -1; static gint ett_lte_rrc_SystemInformationBlockType2_v8h0_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxMultiBands_OF_AdditionalSpectrumEmission = -1; static gint ett_lte_rrc_SystemInformationBlockType2_v9e0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_45 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_50 = -1; static gint ett_lte_rrc_AC_BarringConfig = -1; static gint ett_lte_rrc_MBSFN_SubframeConfigList = -1; -static gint ett_lte_rrc_AC_BarringPerPLMNList_r12 = -1; +static gint ett_lte_rrc_AC_BarringPerPLMN_List_r12 = -1; static gint ett_lte_rrc_AC_BarringPerPLMN_r12 = -1; static gint ett_lte_rrc_T_ac_BarringInfo_r12 = -1; static gint ett_lte_rrc_SystemInformationBlockType3 = -1; @@ -3522,29 +3742,27 @@ static gint ett_lte_rrc_SystemInformationBlockType5_v8h0_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v8h0 = -1; static gint ett_lte_rrc_SystemInformationBlockType5_v9e0_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v9e0 = -1; -static gint ett_lte_rrc_SystemInformationBlockType5_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_46 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_51 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqList = -1; -static gint ett_lte_rrc_InterFreqCarrierFreqList_v12xy = -1; +static gint ett_lte_rrc_InterFreqCarrierFreqList_v1250 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqListExt_r12 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqInfo = -1; static gint ett_lte_rrc_T_threshX_Q_r9 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqInfo_v8h0 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqInfo_v9e0 = -1; -static gint ett_lte_rrc_InterFreqCarrierFreqInfo_v12xy = -1; +static gint ett_lte_rrc_InterFreqCarrierFreqInfo_v1250 = -1; static gint ett_lte_rrc_InterFreqCarrierFreqInfo_r12 = -1; static gint ett_lte_rrc_T_threshX_Q_r12 = -1; static gint ett_lte_rrc_InterFreqNeighCellList = -1; static gint ett_lte_rrc_InterFreqNeighCellInfo = -1; static gint ett_lte_rrc_InterFreqBlackCellList = -1; static gint ett_lte_rrc_SystemInformationBlockType6 = -1; +static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 = -1; +static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 = -1; static gint ett_lte_rrc_SystemInformationBlockType6_v8h0_IEs = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0 = -1; -static gint ett_lte_rrc_SystemInformationBlockType6_v12xy_IEs = -1; -static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy = -1; -static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_47 = -1; -static gint ett_lte_rrc_CarrierFreqInfoUTRA_v12xy = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_52 = -1; +static gint ett_lte_rrc_CarrierFreqInfoUTRA_v1250 = -1; static gint ett_lte_rrc_CarrierFreqListUTRA_FDD = -1; static gint ett_lte_rrc_CarrierFreqUTRA_FDD = -1; static gint ett_lte_rrc_T_threshX_Q_r9_01 = -1; @@ -3612,11 +3830,18 @@ static gint ett_lte_rrc_MBMS_SAI_InterFreq_v1140 = -1; static gint ett_lte_rrc_SystemInformationBlockType16_r11 = -1; static gint ett_lte_rrc_T_timeInfo_r11 = -1; static gint ett_lte_rrc_SystemInformationBlockType17_r12 = -1; -static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12 = -1; -static gint ett_lte_rrc_WLAN_OffloadPerPLMN_r12 = -1; +static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12 = -1; +static gint ett_lte_rrc_WLAN_OffloadInfoPerPLMN_r12 = -1; static gint ett_lte_rrc_WLAN_Id_List_r12 = -1; -static gint ett_lte_rrc_WLAN_Id_r12 = -1; -static gint ett_lte_rrc_T_wlan_Identifiers = -1; +static gint ett_lte_rrc_WLAN_Identifiers_r12 = -1; +static gint ett_lte_rrc_SystemInformationBlockType18_r12 = -1; +static gint ett_lte_rrc_T_commConfig_r12 = -1; +static gint ett_lte_rrc_SystemInformationBlockType19_r12 = -1; +static gint ett_lte_rrc_T_discConfig_r12 = -1; +static gint ett_lte_rrc_SL_CarrierFreqInfoList_r12 = -1; +static gint ett_lte_rrc_SL_CarrierFreqInfo_r12 = -1; +static gint ett_lte_rrc_PLMN_IdentityList4_r12 = -1; +static gint ett_lte_rrc_PLMN_IdentityInfo2_r12 = -1; static gint ett_lte_rrc_AntennaInfoCommon = -1; static gint ett_lte_rrc_AntennaInfoDedicated = -1; static gint ett_lte_rrc_T_codebookSubsetRestriction = -1; @@ -3625,7 +3850,7 @@ static gint ett_lte_rrc_AntennaInfoDedicated_v920 = -1; static gint ett_lte_rrc_T_codebookSubsetRestriction_v920 = -1; static gint ett_lte_rrc_AntennaInfoDedicated_r10 = -1; static gint ett_lte_rrc_T_ue_TransmitAntennaSelection_01 = -1; -static gint ett_lte_rrc_AntennaInfoDedicated_v12xx = -1; +static gint ett_lte_rrc_AntennaInfoDedicated_v1250 = -1; static gint ett_lte_rrc_AntennaInfoUL_r10 = -1; static gint ett_lte_rrc_CQI_ReportConfig = -1; static gint ett_lte_rrc_CQI_ReportConfig_v920 = -1; @@ -3633,7 +3858,7 @@ static gint ett_lte_rrc_CQI_ReportConfig_r10 = -1; static gint ett_lte_rrc_T_csi_SubframePatternConfig_r10 = -1; static gint ett_lte_rrc_T_setup_04 = -1; static gint ett_lte_rrc_CQI_ReportConfig_v1130 = -1; -static gint ett_lte_rrc_CQI_ReportConfig_v12x0 = -1; +static gint ett_lte_rrc_CQI_ReportConfig_v1250 = -1; static gint ett_lte_rrc_T_csi_SubframePatternConfig_r12 = -1; static gint ett_lte_rrc_T_setup_05 = -1; static gint ett_lte_rrc_CQI_ReportConfigSCell_r10 = -1; @@ -3660,16 +3885,14 @@ static gint ett_lte_rrc_T_setup_09 = -1; static gint ett_lte_rrc_CQI_ReportAperiodic_r10 = -1; static gint ett_lte_rrc_T_setup_10 = -1; static gint ett_lte_rrc_T_aperiodicCSI_Trigger_r10 = -1; -static gint ett_lte_rrc_CQI_ReportAperiodic_v12x0 = -1; +static gint ett_lte_rrc_CQI_ReportAperiodic_v1250 = -1; static gint ett_lte_rrc_T_setup_11 = -1; -static gint ett_lte_rrc_T_aperiodicCSI_Trigger_r12 = -1; +static gint ett_lte_rrc_T_aperiodicCSI_Trigger_v1250 = -1; static gint ett_lte_rrc_CQI_ReportAperiodicProc_r11 = -1; static gint ett_lte_rrc_CQI_ReportBoth_r11 = -1; -static gint ett_lte_rrc_CQI_ReportBoth_r12 = -1; +static gint ett_lte_rrc_CQI_ReportBoth_v1250 = -1; static gint ett_lte_rrc_CSI_IM_ConfigToAddModList_r11 = -1; -static gint ett_lte_rrc_CSI_IM_ConfigToAddModList_r12 = -1; static gint ett_lte_rrc_CSI_IM_ConfigToReleaseList_r11 = -1; -static gint ett_lte_rrc_CSI_IM_ConfigToReleaseList_r12 = -1; static gint ett_lte_rrc_CSI_ProcessToAddModList_r11 = -1; static gint ett_lte_rrc_CSI_ProcessToReleaseList_r11 = -1; static gint ett_lte_rrc_CQI_ReportBothProc_r11 = -1; @@ -3678,59 +3901,59 @@ static gint ett_lte_rrc_T_schedulingCellInfo_r10 = -1; static gint ett_lte_rrc_T_own_r10 = -1; static gint ett_lte_rrc_T_other_r10 = -1; static gint ett_lte_rrc_CSI_IM_Config_r11 = -1; -static gint ett_lte_rrc_CSI_IM_Config_r12 = -1; +static gint ett_lte_rrc_CSI_IM_ConfigExt_r12 = -1; static gint ett_lte_rrc_CSI_Process_r11 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11 = -1; +static gint ett_lte_rrc_T_csi_IM_ConfigIdList_r12 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12 = -1; +static gint ett_lte_rrc_T_cqi_ReportAperiodicProc2_r12 = -1; static gint ett_lte_rrc_P_C_AndCBSR_r11 = -1; static gint ett_lte_rrc_CSI_RS_Config_r10 = -1; static gint ett_lte_rrc_T_csi_RS_r10 = -1; static gint ett_lte_rrc_T_setup_12 = -1; -static gint ett_lte_rrc_T_zeroTxPowerCSI_RS_r10 = -1; -static gint ett_lte_rrc_T_setup_13 = -1; -static gint ett_lte_rrc_CSI_RS_Config2_r12 = -1; -static gint ett_lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12 = -1; -static gint ett_lte_rrc_T_setup_14 = -1; +static gint ett_lte_rrc_CSI_RS_Config_v1250 = -1; static gint ett_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12 = -1; -static gint ett_lte_rrc_T_setup_15 = -1; +static gint ett_lte_rrc_T_setup_13 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12 = -1; +static gint ett_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12 = -1; static gint ett_lte_rrc_ZeroTxPowerCSI_RS_r12 = -1; static gint ett_lte_rrc_CSI_RS_ConfigNZP_r11 = -1; static gint ett_lte_rrc_T_qcl_CRS_Info_r11 = -1; static gint ett_lte_rrc_T_mbsfn_SubframeConfigList_r11 = -1; -static gint ett_lte_rrc_T_setup_16 = -1; +static gint ett_lte_rrc_T_setup_14 = -1; static gint ett_lte_rrc_CSI_RS_ConfigZP_r11 = -1; static gint ett_lte_rrc_DMRS_Config_r11 = -1; -static gint ett_lte_rrc_T_setup_17 = -1; +static gint ett_lte_rrc_T_setup_15 = -1; static gint ett_lte_rrc_EPDCCH_Config_r11 = -1; static gint ett_lte_rrc_T_config_r11 = -1; -static gint ett_lte_rrc_T_setup_18 = -1; +static gint ett_lte_rrc_T_setup_16 = -1; static gint ett_lte_rrc_T_subframePatternConfig_r11 = -1; -static gint ett_lte_rrc_T_setup_19 = -1; +static gint ett_lte_rrc_T_setup_17 = -1; static gint ett_lte_rrc_EPDCCH_SetConfigToAddModList_r11 = -1; static gint ett_lte_rrc_EPDCCH_SetConfigToReleaseList_r11 = -1; static gint ett_lte_rrc_EPDCCH_SetConfig_r11 = -1; static gint ett_lte_rrc_T_resourceBlockAssignment_r11 = -1; +static gint ett_lte_rrc_T_csi_RS_ConfigZPId2_r12 = -1; static gint ett_lte_rrc_EIMTA_MainConfig_r12 = -1; -static gint ett_lte_rrc_T_setup_20 = -1; +static gint ett_lte_rrc_T_setup_18 = -1; static gint ett_lte_rrc_EIMTA_MainConfigServCell_r12 = -1; -static gint ett_lte_rrc_T_setup_21 = -1; -static gint ett_lte_rrc_T_mbsfn_SubframeConfigList_v12x0 = -1; -static gint ett_lte_rrc_T_setup_22 = -1; +static gint ett_lte_rrc_T_setup_19 = -1; +static gint ett_lte_rrc_T_mbsfn_SubframeConfigList_v1250 = -1; +static gint ett_lte_rrc_T_setup_20 = -1; static gint ett_lte_rrc_LogicalChannelConfig = -1; static gint ett_lte_rrc_T_ul_SpecificParameters = -1; static gint ett_lte_rrc_MAC_MainConfig = -1; static gint ett_lte_rrc_T_ul_SCH_Config = -1; static gint ett_lte_rrc_T_phr_Config = -1; -static gint ett_lte_rrc_T_setup_23 = -1; +static gint ett_lte_rrc_T_setup_21 = -1; static gint ett_lte_rrc_T_mac_MainConfig_v1020 = -1; static gint ett_lte_rrc_T_dualConnectivityPHR = -1; -static gint ett_lte_rrc_T_setup_24 = -1; +static gint ett_lte_rrc_T_setup_22 = -1; static gint ett_lte_rrc_T_logicalChannelSR_Config_r12 = -1; -static gint ett_lte_rrc_T_setup_25 = -1; +static gint ett_lte_rrc_T_setup_23 = -1; static gint ett_lte_rrc_MAC_MainConfigSCell_r11 = -1; static gint ett_lte_rrc_DRX_Config = -1; -static gint ett_lte_rrc_T_setup_26 = -1; +static gint ett_lte_rrc_T_setup_24 = -1; static gint ett_lte_rrc_T_longDRX_CycleStartOffset = -1; static gint ett_lte_rrc_T_shortDRX = -1; static gint ett_lte_rrc_DRX_Config_v1130 = -1; @@ -3752,13 +3975,13 @@ static gint ett_lte_rrc_RE_MappingQCLConfigToReleaseList_r11 = -1; static gint ett_lte_rrc_PDSCH_RE_MappingQCL_Config_r11 = -1; static gint ett_lte_rrc_T_optionalSetOfFields_r11 = -1; static gint ett_lte_rrc_T_mbsfn_SubframeConfigList_r11_01 = -1; -static gint ett_lte_rrc_T_setup_27 = -1; +static gint ett_lte_rrc_T_setup_25 = -1; static gint ett_lte_rrc_PHICH_Config = -1; static gint ett_lte_rrc_PhysicalConfigDedicated = -1; static gint ett_lte_rrc_T_antennaInfo = -1; static gint ett_lte_rrc_T_antennaInfo_r10 = -1; static gint ett_lte_rrc_T_additionalSpectrumEmissionCA_r10 = -1; -static gint ett_lte_rrc_T_setup_28 = -1; +static gint ett_lte_rrc_T_setup_26 = -1; static gint ett_lte_rrc_PhysicalConfigDedicatedSCell_r10 = -1; static gint ett_lte_rrc_T_nonUL_Configuration_r10 = -1; static gint ett_lte_rrc_T_ul_Configuration_r10 = -1; @@ -3773,27 +3996,27 @@ static gint ett_lte_rrc_PRACH_ConfigInfo = -1; static gint ett_lte_rrc_PUCCH_ConfigCommon = -1; static gint ett_lte_rrc_PUCCH_ConfigDedicated = -1; static gint ett_lte_rrc_T_ackNackRepetition = -1; -static gint ett_lte_rrc_T_setup_29 = -1; +static gint ett_lte_rrc_T_setup_27 = -1; static gint ett_lte_rrc_PUCCH_ConfigDedicated_v1020 = -1; static gint ett_lte_rrc_T_pucch_Format_r10 = -1; static gint ett_lte_rrc_T_format3_r10 = -1; static gint ett_lte_rrc_T_n3PUCCH_AN_List_r10 = -1; static gint ett_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10 = -1; -static gint ett_lte_rrc_T_setup_30 = -1; +static gint ett_lte_rrc_T_setup_28 = -1; static gint ett_lte_rrc_T_n3PUCCH_AN_ListP1_r10 = -1; static gint ett_lte_rrc_T_channelSelection_r10 = -1; static gint ett_lte_rrc_T_n1PUCCH_AN_CS_r10 = -1; -static gint ett_lte_rrc_T_setup_31 = -1; +static gint ett_lte_rrc_T_setup_29 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10 = -1; static gint ett_lte_rrc_PUCCH_ConfigDedicated_v1130 = -1; static gint ett_lte_rrc_T_n1PUCCH_AN_CS_v1130 = -1; -static gint ett_lte_rrc_T_setup_32 = -1; +static gint ett_lte_rrc_T_setup_30 = -1; static gint ett_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11 = -1; static gint ett_lte_rrc_T_nPUCCH_Param_r11 = -1; -static gint ett_lte_rrc_T_setup_33 = -1; -static gint ett_lte_rrc_PUCCH_ConfigDedicated_v12x0 = -1; +static gint ett_lte_rrc_T_setup_31 = -1; +static gint ett_lte_rrc_PUCCH_ConfigDedicated_v1250 = -1; static gint ett_lte_rrc_T_nkaPUCCH_Param_r12 = -1; -static gint ett_lte_rrc_T_setup_34 = -1; +static gint ett_lte_rrc_T_setup_32 = -1; static gint ett_lte_rrc_N1PUCCH_AN_CS_r10 = -1; static gint ett_lte_rrc_PUSCH_ConfigCommon = -1; static gint ett_lte_rrc_T_pusch_ConfigBasic = -1; @@ -3802,10 +4025,10 @@ static gint ett_lte_rrc_PUSCH_ConfigDedicated_v1020 = -1; static gint ett_lte_rrc_T_betaOffsetMC_r10 = -1; static gint ett_lte_rrc_PUSCH_ConfigDedicated_v1130 = -1; static gint ett_lte_rrc_T_pusch_DMRS_r11 = -1; -static gint ett_lte_rrc_T_setup_35 = -1; -static gint ett_lte_rrc_PUSCH_ConfigDedicated_v12x0 = -1; +static gint ett_lte_rrc_T_setup_33 = -1; +static gint ett_lte_rrc_PUSCH_ConfigDedicated_v1250 = -1; static gint ett_lte_rrc_T_uciOnPUSCH = -1; -static gint ett_lte_rrc_T_setup_36 = -1; +static gint ett_lte_rrc_T_setup_34 = -1; static gint ett_lte_rrc_T_betaOffsetMC_r12 = -1; static gint ett_lte_rrc_PUSCH_ConfigDedicatedSCell_r10 = -1; static gint ett_lte_rrc_UL_ReferenceSignalsPUSCH = -1; @@ -3813,7 +4036,7 @@ static gint ett_lte_rrc_RACH_ConfigCommon = -1; static gint ett_lte_rrc_T_preambleInfo = -1; static gint ett_lte_rrc_T_preamblesGroupAConfig = -1; static gint ett_lte_rrc_T_ra_SupervisionInfo = -1; -static gint ett_lte_rrc_RACH_ConfigCommon_v12xy = -1; +static gint ett_lte_rrc_RACH_ConfigCommon_v1250 = -1; static gint ett_lte_rrc_T_txFailParams_r12 = -1; static gint ett_lte_rrc_RACH_ConfigCommonSCell_r11 = -1; static gint ett_lte_rrc_T_ra_SupervisionInfo_r11 = -1; @@ -3849,7 +4072,7 @@ static gint ett_lte_rrc_NeighCellsCRS_Info_r11 = -1; static gint ett_lte_rrc_CRS_AssistanceInfoList_r11 = -1; static gint ett_lte_rrc_CRS_AssistanceInfo_r11 = -1; static gint ett_lte_rrc_NAICS_AssistanceInfo_r12 = -1; -static gint ett_lte_rrc_T_setup_37 = -1; +static gint ett_lte_rrc_T_setup_35 = -1; static gint ett_lte_rrc_NeighCellsToReleaseList_r12 = -1; static gint ett_lte_rrc_NeighCellsToAddModList_r12 = -1; static gint ett_lte_rrc_NeighCellsInfo_r12 = -1; @@ -3859,15 +4082,15 @@ static gint ett_lte_rrc_T_am = -1; static gint ett_lte_rrc_T_um_Bi_Directional = -1; static gint ett_lte_rrc_T_um_Uni_Directional_UL = -1; static gint ett_lte_rrc_T_um_Uni_Directional_DL = -1; -static gint ett_lte_rrc_RLC_Config_v12xy = -1; +static gint ett_lte_rrc_RLC_Config_v1250 = -1; static gint ett_lte_rrc_UL_AM_RLC = -1; static gint ett_lte_rrc_DL_AM_RLC = -1; static gint ett_lte_rrc_UL_UM_RLC = -1; static gint ett_lte_rrc_DL_UM_RLC = -1; static gint ett_lte_rrc_RLF_TimersAndConstants_r9 = -1; -static gint ett_lte_rrc_T_setup_38 = -1; +static gint ett_lte_rrc_T_setup_36 = -1; static gint ett_lte_rrc_RLF_TimersAndConstantsSCG_r12 = -1; -static gint ett_lte_rrc_T_setup_39 = -1; +static gint ett_lte_rrc_T_setup_37 = -1; static gint ett_lte_rrc_RN_SubframeConfig_r10 = -1; static gint ett_lte_rrc_T_subframeConfigPattern_r10 = -1; static gint ett_lte_rrc_T_rpdcch_Config_r10 = -1; @@ -3882,33 +4105,35 @@ static gint ett_lte_rrc_T_n1PUCCH_AN_List_r10 = -1; static gint ett_lte_rrc_T_fallbackForFormat3 = -1; static gint ett_lte_rrc_T_fdd = -1; static gint ett_lte_rrc_SchedulingRequestConfig = -1; -static gint ett_lte_rrc_T_setup_40 = -1; +static gint ett_lte_rrc_T_setup_38 = -1; static gint ett_lte_rrc_SchedulingRequestConfig_v1020 = -1; static gint ett_lte_rrc_SoundingRS_UL_ConfigCommon = -1; -static gint ett_lte_rrc_T_setup_41 = -1; +static gint ett_lte_rrc_T_setup_39 = -1; static gint ett_lte_rrc_SoundingRS_UL_ConfigDedicated = -1; -static gint ett_lte_rrc_T_setup_42 = -1; +static gint ett_lte_rrc_T_setup_40 = -1; static gint ett_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020 = -1; static gint ett_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10 = -1; -static gint ett_lte_rrc_T_setup_43 = -1; +static gint ett_lte_rrc_T_setup_41 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10 = -1; static gint ett_lte_rrc_T_srs_ActivateAp_r10 = -1; -static gint ett_lte_rrc_T_setup_44 = -1; +static gint ett_lte_rrc_T_setup_42 = -1; static gint ett_lte_rrc_SRS_ConfigAp_r10 = -1; static gint ett_lte_rrc_SPS_Config = -1; static gint ett_lte_rrc_SPS_ConfigDL = -1; -static gint ett_lte_rrc_T_setup_45 = -1; +static gint ett_lte_rrc_T_setup_43 = -1; static gint ett_lte_rrc_T_twoAntennaPortActivated_r10 = -1; -static gint ett_lte_rrc_T_setup_46 = -1; +static gint ett_lte_rrc_T_setup_44 = -1; static gint ett_lte_rrc_SPS_ConfigUL = -1; -static gint ett_lte_rrc_T_setup_47 = -1; +static gint ett_lte_rrc_T_setup_45 = -1; static gint ett_lte_rrc_T_p0_Persistent = -1; static gint ett_lte_rrc_T_p0_PersistentSubframeSet2_r12 = -1; +static gint ett_lte_rrc_T_setup_46 = -1; static gint ett_lte_rrc_N1PUCCH_AN_PersistentList = -1; static gint ett_lte_rrc_TDD_Config = -1; static gint ett_lte_rrc_TDD_Config_v1130 = -1; +static gint ett_lte_rrc_TDD_ConfigSL_r12 = -1; static gint ett_lte_rrc_TPC_PDCCH_Config = -1; -static gint ett_lte_rrc_T_setup_48 = -1; +static gint ett_lte_rrc_T_setup_47 = -1; static gint ett_lte_rrc_TPC_Index = -1; static gint ett_lte_rrc_UplinkPowerControlCommon = -1; static gint ett_lte_rrc_UplinkPowerControlCommon_v1020 = -1; @@ -3918,9 +4143,9 @@ static gint ett_lte_rrc_UplinkPowerControlCommonSCell_v1130 = -1; static gint ett_lte_rrc_UplinkPowerControlDedicated = -1; static gint ett_lte_rrc_UplinkPowerControlDedicated_v1020 = -1; static gint ett_lte_rrc_UplinkPowerControlDedicated_v1130 = -1; -static gint ett_lte_rrc_UplinkPowerControlDedicated_v12x0 = -1; +static gint ett_lte_rrc_UplinkPowerControlDedicated_v1250 = -1; static gint ett_lte_rrc_T_set2PowerControlParameter = -1; -static gint ett_lte_rrc_T_setup_49 = -1; +static gint ett_lte_rrc_T_setup_48 = -1; static gint ett_lte_rrc_UplinkPowerControlDedicatedSCell_r10 = -1; static gint ett_lte_rrc_DeltaFList_PUCCH = -1; static gint ett_lte_rrc_DeltaTxD_OffsetListPUCCH_r10 = -1; @@ -3968,21 +4193,21 @@ static gint ett_lte_rrc_LocationInfo_r10 = -1; static gint ett_lte_rrc_T_locationCoordinates_r10 = -1; static gint ett_lte_rrc_MeasConfig = -1; static gint ett_lte_rrc_T_speedStatePars = -1; -static gint ett_lte_rrc_T_setup_50 = -1; +static gint ett_lte_rrc_T_setup_49 = -1; static gint ett_lte_rrc_T_measScaleFactor_r12 = -1; static gint ett_lte_rrc_MeasIdToRemoveList = -1; static gint ett_lte_rrc_MeasIdToRemoveListExt_r12 = -1; static gint ett_lte_rrc_MeasObjectToRemoveList = -1; static gint ett_lte_rrc_ReportConfigToRemoveList = -1; static gint ett_lte_rrc_MeasDS_Config_r12 = -1; -static gint ett_lte_rrc_T_setup_51 = -1; +static gint ett_lte_rrc_T_setup_50 = -1; static gint ett_lte_rrc_T_dmtc_PeriodOffset_r12 = -1; static gint ett_lte_rrc_T_ds_OccasionDuration_r12 = -1; static gint ett_lte_rrc_MeasCSI_RS_ToRemoveList_r12 = -1; static gint ett_lte_rrc_MeasCSI_RS_ToAddModList_r12 = -1; static gint ett_lte_rrc_MeasCSI_RS_Config_r12 = -1; static gint ett_lte_rrc_MeasGapConfig = -1; -static gint ett_lte_rrc_T_setup_52 = -1; +static gint ett_lte_rrc_T_setup_51 = -1; static gint ett_lte_rrc_T_gapOffset = -1; static gint ett_lte_rrc_MeasIdToAddModList = -1; static gint ett_lte_rrc_MeasIdToAddModListExt_r12 = -1; @@ -3992,6 +4217,7 @@ static gint ett_lte_rrc_MeasObjectCDMA2000 = -1; static gint ett_lte_rrc_CellsToAddModListCDMA2000 = -1; static gint ett_lte_rrc_CellsToAddModCDMA2000 = -1; static gint ett_lte_rrc_MeasObjectEUTRA = -1; +static gint ett_lte_rrc_T_t312_r12 = -1; static gint ett_lte_rrc_MeasObjectEUTRA_v9e0 = -1; static gint ett_lte_rrc_CellsToAddModList = -1; static gint ett_lte_rrc_CellsToAddMod = -1; @@ -4047,7 +4273,7 @@ static gint ett_lte_rrc_PLMN_IdentityList2 = -1; static gint ett_lte_rrc_AdditionalSI_Info_r9 = -1; static gint ett_lte_rrc_QuantityConfig = -1; static gint ett_lte_rrc_QuantityConfigEUTRA = -1; -static gint ett_lte_rrc_QuantityConfigEUTRA_v12xy = -1; +static gint ett_lte_rrc_QuantityConfigEUTRA_v1250 = -1; static gint ett_lte_rrc_QuantityConfigUTRA = -1; static gint ett_lte_rrc_QuantityConfigUTRA_v1020 = -1; static gint ett_lte_rrc_QuantityConfigGERAN = -1; @@ -4065,6 +4291,8 @@ static gint ett_lte_rrc_T_eventA6_r10 = -1; static gint ett_lte_rrc_T_eventC1_r12 = -1; static gint ett_lte_rrc_T_eventC2_r12 = -1; static gint ett_lte_rrc_T_periodical = -1; +static gint ett_lte_rrc_T_alternativeTimeToTrigger_r12 = -1; +static gint ett_lte_rrc_RSRQ_RangeConfig_r12 = -1; static gint ett_lte_rrc_ThresholdEUTRA = -1; static gint ett_lte_rrc_ReportConfigInterRAT = -1; static gint ett_lte_rrc_T_triggerType_01 = -1; @@ -4075,10 +4303,12 @@ static gint ett_lte_rrc_T_b1_Threshold = -1; static gint ett_lte_rrc_T_eventB2 = -1; static gint ett_lte_rrc_T_b2_Threshold2 = -1; static gint ett_lte_rrc_T_periodical_01 = -1; +static gint ett_lte_rrc_T_b2_Threshold1_v1250 = -1; static gint ett_lte_rrc_ThresholdUTRA = -1; static gint ett_lte_rrc_ReportConfigToAddModList = -1; static gint ett_lte_rrc_ReportConfigToAddMod = -1; static gint ett_lte_rrc_T_reportConfig = -1; +static gint ett_lte_rrc_RSRQ_Type_r12 = -1; static gint ett_lte_rrc_AreaConfiguration_r10 = -1; static gint ett_lte_rrc_AreaConfiguration_v1130 = -1; static gint ett_lte_rrc_CellGlobalIdList_r10 = -1; @@ -4107,7 +4337,7 @@ static gint ett_lte_rrc_UE_EUTRA_Capability_v9e0_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v9h0_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v10c0_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v10f0_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_48 = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_53 = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v920_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v940_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v1020_IEs = -1; @@ -4117,13 +4347,13 @@ static gint ett_lte_rrc_UE_EUTRA_Capability_v1130_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v1170_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v1180_IEs = -1; static gint ett_lte_rrc_UE_EUTRA_Capability_v11a0_IEs = -1; -static gint ett_lte_rrc_UE_EUTRA_Capability_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_49 = -1; +static gint ett_lte_rrc_UE_EUTRA_Capability_v1250_IEs = -1; +static gint ett_lte_rrc_T_nonCriticalExtension_54 = -1; static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_r9 = -1; static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1060 = -1; static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1130 = -1; static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1180 = -1; -static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy = -1; +static gint ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250 = -1; static gint ett_lte_rrc_DC_Parameters_r12 = -1; static gint ett_lte_rrc_MAC_Parameters_r12 = -1; static gint ett_lte_rrc_RLC_Parameters_r12 = -1; @@ -4136,7 +4366,7 @@ static gint ett_lte_rrc_PhyLayerParameters_v9d0 = -1; static gint ett_lte_rrc_PhyLayerParameters_v1020 = -1; static gint ett_lte_rrc_PhyLayerParameters_v1130 = -1; static gint ett_lte_rrc_PhyLayerParameters_v1170 = -1; -static gint ett_lte_rrc_PhyLayerParameters_v12xy = -1; +static gint ett_lte_rrc_PhyLayerParameters_v1250 = -1; static gint ett_lte_rrc_NonContiguousUL_RA_WithinCC_List_r10 = -1; static gint ett_lte_rrc_NonContiguousUL_RA_WithinCC_r10 = -1; static gint ett_lte_rrc_RF_Parameters = -1; @@ -4148,14 +4378,14 @@ static gint ett_lte_rrc_RF_Parameters_v10f0 = -1; static gint ett_lte_rrc_RF_Parameters_v1130 = -1; static gint ett_lte_rrc_RF_Parameters_v1180 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicator_r11 = -1; -static gint ett_lte_rrc_RF_Parameters_v12xy = -1; +static gint ett_lte_rrc_RF_Parameters_v1250 = -1; static gint ett_lte_rrc_SupportedBandCombination_r10 = -1; static gint ett_lte_rrc_SupportedBandCombinationExt_r10 = -1; static gint ett_lte_rrc_SupportedBandCombination_v1090 = -1; static gint ett_lte_rrc_SupportedBandCombination_v1130 = -1; -static gint ett_lte_rrc_SupportedBandCombination_v12xy = -1; +static gint ett_lte_rrc_SupportedBandCombination_v1250 = -1; static gint ett_lte_rrc_SupportedBandCombinationAdd_r11 = -1; -static gint ett_lte_rrc_SupportedBandCombinationAdd_v12xy = -1; +static gint ett_lte_rrc_SupportedBandCombinationAdd_v1250 = -1; static gint ett_lte_rrc_BandCombinationParameters_r10 = -1; static gint ett_lte_rrc_BandCombinationParametersExt_r10 = -1; static gint ett_lte_rrc_BandCombinationParameters_v1090 = -1; @@ -4163,9 +4393,9 @@ static gint ett_lte_rrc_BandCombinationParameters_v1130 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_r10_OF_BandParameters_v1130 = -1; static gint ett_lte_rrc_BandCombinationParameters_r11 = -1; static gint ett_lte_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_r10_OF_BandParameters_r11 = -1; -static gint ett_lte_rrc_BandCombinationParameters_v12xy = -1; +static gint ett_lte_rrc_BandCombinationParameters_v1250 = -1; static gint ett_lte_rrc_T_dc_Support_r12 = -1; -static gint ett_lte_rrc_T_supported_r12 = -1; +static gint ett_lte_rrc_T_supportedCellGrouping_r12 = -1; static gint ett_lte_rrc_BandParameters_r10 = -1; static gint ett_lte_rrc_BandParameters_v1090 = -1; static gint ett_lte_rrc_BandParameters_v1130 = -1; @@ -4176,15 +4406,15 @@ static gint ett_lte_rrc_BandParametersDL_r10 = -1; static gint ett_lte_rrc_CA_MIMO_ParametersDL_r10 = -1; static gint ett_lte_rrc_SupportedBandListEUTRA = -1; static gint ett_lte_rrc_SupportedBandListEUTRA_v9e0 = -1; -static gint ett_lte_rrc_SupportedBandListEUTRA_v12xy = -1; +static gint ett_lte_rrc_SupportedBandListEUTRA_v1250 = -1; static gint ett_lte_rrc_SupportedBandEUTRA = -1; static gint ett_lte_rrc_SupportedBandEUTRA_v9e0 = -1; -static gint ett_lte_rrc_SupportedBandEUTRA_v12xy = -1; +static gint ett_lte_rrc_SupportedBandEUTRA_v1250 = -1; static gint ett_lte_rrc_MeasParameters = -1; static gint ett_lte_rrc_MeasParameters_v1020 = -1; static gint ett_lte_rrc_MeasParameters_v1130 = -1; static gint ett_lte_rrc_MeasParameters_v11a0 = -1; -static gint ett_lte_rrc_MeasParameters_v12xy = -1; +static gint ett_lte_rrc_MeasParameters_v1250 = -1; static gint ett_lte_rrc_BandListEUTRA = -1; static gint ett_lte_rrc_BandCombinationListEUTRA_r10 = -1; static gint ett_lte_rrc_BandInfoEUTRA = -1; @@ -4218,14 +4448,18 @@ static gint ett_lte_rrc_CSG_ProximityIndicationParameters_r9 = -1; static gint ett_lte_rrc_NeighCellSI_AcquisitionParameters_r9 = -1; static gint ett_lte_rrc_SON_Parameters_r9 = -1; static gint ett_lte_rrc_UE_BasedNetwPerfMeasParameters_r10 = -1; -static gint ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v12xy = -1; +static gint ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v1250 = -1; static gint ett_lte_rrc_OTDOA_PositioningCapabilities_r10 = -1; static gint ett_lte_rrc_Other_Parameters_r11 = -1; static gint ett_lte_rrc_MBMS_Parameters_r11 = -1; -static gint ett_lte_rrc_MBMS_Parameters_v12xy = -1; +static gint ett_lte_rrc_MBMS_Parameters_v1250 = -1; static gint ett_lte_rrc_WLAN_IW_Parameters_r12 = -1; static gint ett_lte_rrc_NAICS_Capability_List_r12 = -1; static gint ett_lte_rrc_NAICS_Capability_Entry_r12 = -1; +static gint ett_lte_rrc_SL_Parameters_r12 = -1; +static gint ett_lte_rrc_SupportedBandInfoList_r12 = -1; +static gint ett_lte_rrc_SupportedBandInfo_r12 = -1; +static gint ett_lte_rrc_FreqBandIndicatorListEUTRA_r12 = -1; static gint ett_lte_rrc_UE_RadioPagingInfo_r12 = -1; static gint ett_lte_rrc_UE_TimersAndConstants = -1; static gint ett_lte_rrc_VisitedCellInfoList_r12 = -1; @@ -4258,46 +4492,54 @@ static gint ett_lte_rrc_PMCH_Config_r12 = -1; static gint ett_lte_rrc_T_dataMCS_r12 = -1; static gint ett_lte_rrc_TMGI_r9 = -1; static gint ett_lte_rrc_T_plmn_Id_r9 = -1; -static gint ett_lte_rrc_HandoverCommand = -1; -static gint ett_lte_rrc_T_criticalExtensions_39 = -1; -static gint ett_lte_rrc_T_c1_35 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_39 = -1; -static gint ett_lte_rrc_HandoverCommand_r8_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_50 = -1; -static gint ett_lte_rrc_HandoverPreparationInformation = -1; -static gint ett_lte_rrc_T_criticalExtensions_40 = -1; -static gint ett_lte_rrc_T_c1_36 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_40 = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_r8_IEs = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_v920_IEs = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_v1130_IEs = -1; -static gint ett_lte_rrc_HandoverPreparationInformation_v12xy_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_51 = -1; -static gint ett_lte_rrc_SCG_Config_r12 = -1; -static gint ett_lte_rrc_T_criticalExtensions_41 = -1; -static gint ett_lte_rrc_T_c1_37 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_41 = -1; -static gint ett_lte_rrc_SCG_Config_r12_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_52 = -1; -static gint ett_lte_rrc_UERadioAccessCapabilityInformation = -1; -static gint ett_lte_rrc_T_criticalExtensions_42 = -1; -static gint ett_lte_rrc_T_c1_38 = -1; -static gint ett_lte_rrc_T_criticalExtensionsFuture_42 = -1; -static gint ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs = -1; -static gint ett_lte_rrc_T_nonCriticalExtension_53 = -1; -static gint ett_lte_rrc_AS_Config = -1; -static gint ett_lte_rrc_AS_Config_v9e0 = -1; -static gint ett_lte_rrc_AS_Config_v12xy = -1; -static gint ett_lte_rrc_AS_Context = -1; -static gint ett_lte_rrc_AS_Context_v1130 = -1; -static gint ett_lte_rrc_ReestablishmentInfo = -1; -static gint ett_lte_rrc_AdditionalReestabInfoList = -1; -static gint ett_lte_rrc_AdditionalReestabInfo = -1; -static gint ett_lte_rrc_RRM_Config = -1; -static gint ett_lte_rrc_CandidateCellInfoList_r10 = -1; -static gint ett_lte_rrc_CandidateCellInfo_r10 = -1; +static gint ett_lte_rrc_SL_CommConfig_r12 = -1; +static gint ett_lte_rrc_T_commTxResources_r12 = -1; +static gint ett_lte_rrc_T_setup_55 = -1; +static gint ett_lte_rrc_T_scheduled_r12 = -1; +static gint ett_lte_rrc_T_ue_Selected_r12 = -1; +static gint ett_lte_rrc_T_commTxPoolNormalDedicated_r12 = -1; +static gint ett_lte_rrc_SL_CommTxPoolToAddModList_r12 = -1; +static gint ett_lte_rrc_SL_CommTxPoolToAddMod_r12 = -1; +static gint ett_lte_rrc_MAC_MainConfigSL_r12 = -1; +static gint ett_lte_rrc_SL_CommTxPoolList_r12 = -1; +static gint ett_lte_rrc_SL_CommRxPoolList_r12 = -1; +static gint ett_lte_rrc_SL_CommResourcePool_r12 = -1; +static gint ett_lte_rrc_T_ue_SelectedResourceConfig_r12 = -1; +static gint ett_lte_rrc_T_rxParametersNCell_r12 = -1; +static gint ett_lte_rrc_T_txParameters_r12 = -1; +static gint ett_lte_rrc_SL_DiscConfig_r12 = -1; +static gint ett_lte_rrc_T_discTxResources_r12 = -1; +static gint ett_lte_rrc_T_setup_56 = -1; +static gint ett_lte_rrc_T_scheduled_r12_01 = -1; +static gint ett_lte_rrc_T_ue_Selected_r12_01 = -1; +static gint ett_lte_rrc_T_discTxPoolDedicated_r12 = -1; +static gint ett_lte_rrc_SL_DiscTxPoolToAddModList_r12 = -1; +static gint ett_lte_rrc_SL_DiscTxPoolToAddMod_r12 = -1; +static gint ett_lte_rrc_SL_TF_IndexPairList_r12 = -1; +static gint ett_lte_rrc_SL_TF_IndexPair_r12 = -1; +static gint ett_lte_rrc_SL_DiscTxPoolList_r12 = -1; +static gint ett_lte_rrc_SL_DiscRxPoolList_r12 = -1; +static gint ett_lte_rrc_SL_DiscResourcePool_r12 = -1; +static gint ett_lte_rrc_T_txParameters_r12_01 = -1; +static gint ett_lte_rrc_T_ue_SelectedResourceConfig_r12_01 = -1; +static gint ett_lte_rrc_T_poolSelection_r12 = -1; +static gint ett_lte_rrc_T_rxParameters_r12 = -1; +static gint ett_lte_rrc_SL_PoolSelectionConfig_r12 = -1; +static gint ett_lte_rrc_SL_DiscTxPowerInfoList_r12 = -1; +static gint ett_lte_rrc_SL_DiscTxPowerInfo_r12 = -1; +static gint ett_lte_rrc_SL_HoppingConfigComm_r12 = -1; +static gint ett_lte_rrc_SL_HoppingConfigDisc_r12 = -1; +static gint ett_lte_rrc_SL_OffsetIndicator_r12 = -1; +static gint ett_lte_rrc_SL_SyncConfigList_r12 = -1; +static gint ett_lte_rrc_SL_SyncConfig_r12 = -1; +static gint ett_lte_rrc_T_txParameters_r12_02 = -1; +static gint ett_lte_rrc_T_rxParamsNCell_r12 = -1; +static gint ett_lte_rrc_SL_TF_ResourceConfig_r12 = -1; +static gint ett_lte_rrc_SubframeBitmapSL_r12 = -1; +static gint ett_lte_rrc_SL_TxParameters_r12 = -1; +static gint ett_lte_rrc_SL_TxPoolToReleaseList_r12 = -1; +static gint ett_lte_rrc_SBCCH_SL_BCH_Message = -1; +static gint ett_lte_rrc_MasterInformationBlock_SL = -1; /*--- End of included file: packet-lte-rrc-ett.c ---*/ #line 241 "../../asn1/lte-rrc/packet-lte-rrc-template.c" @@ -4793,6 +5035,28 @@ 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_n_r12_vals[] = { + { 0, "0 <= Nr < 256"}, + { 1, "256 <= Nr < 768"}, + { 2, "768 <= Nr < 1792"}, + { 3, "1792 <= Nr < 3840"}, + { 4, "3840 <= Nr < 7936"}, + { 5, "7936 <= Nr < 16128"}, + { 6, "16128 <= Nr < 32512"}, + { 7, "32512 <= Nr"}, + { 0, NULL}, +}; + +static void +lte_rrc_m_r12_fmt(gchar *s, guint32 v) +{ + if (v == 255) { + g_snprintf(s, ITEM_LABEL_LENGTH, "255 <= f(Nr) (255)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%u <= f(Nr) < %u (%u)", v, v+1, v); + } +} + static const value_string lte_rrc_BLER_Range_r12_vals[] = { { 0, "BLER < 0.1%"}, { 1, "0.1% <= BLER < 0.123%"}, @@ -5829,6 +6093,54 @@ 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_RSRP_RangeSL_vals[] = { + { 0, "-infinity"}, + { 1, "-115dBm"}, + { 2, "-110dBm"}, + { 3, "-105dBm"}, + { 4, "-100dBm"}, + { 5, "-95dBm"}, + { 6, "-90dBm"}, + { 7, "-85dBm"}, + { 8, "-80dBm"}, + { 9, "-75dBm"}, + { 10, "-70dBm"}, + { 11, "-65dBm"}, + { 12, "-60dBm"}, + { 13, "+infinity"}, + { 0, NULL} +}; + +static const value_string lte_rrc_RSRP_RangeSL2_vals[] = { + { 0, "-infinity"}, + { 1, "-110dBm"}, + { 2, "-100dBm"}, + { 3, "-90dBm"}, + { 4, "-80dBm"}, + { 5, "-70dBm"}, + { 6, "-60dBm"}, + { 7, "+infinity"}, + { 0, NULL} +}; + +#if 0 +static const value_string lte_rrc_RSRP_RangeSL3_vals[] = { + { 0, "-110dBm"}, + { 1, "-105dBm"}, + { 2, "-100dBm"}, + { 3, "-95dBm"}, + { 4, "-90dBm"}, + { 5, "-85dBm"}, + { 6, "-80dBm"}, + { 7, "-75dBm"}, + { 8, "-70dBm"}, + { 9, "-65dBm"}, + { 10, "-60dBm"}, + { 11, "+infinity"}, + { 0, NULL} +}; +#endif + static const value_string lte_rrc_RSRQ_Range_vals[] = { {-34, "RSRQ < -36dB"}, {-33, "-36dB <= RSRQ < -35.5dB"}, @@ -6553,6 +6865,11 @@ static void sr_lookup_configindex(guint32 config_index, guint16 *periodicity, gu /*--- Included file: packet-lte-rrc-fn.c ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-fn.c" /*--- PDUs declarations ---*/ +static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_MBMSInterestIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformationBlockType1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_RRCConnectionRelease_v9e0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformationBlockType1_v8h0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); @@ -6561,10 +6878,11376 @@ static int dissect_SystemInformationBlockType2_v8h0_IEs_PDU(tvbuff_t *tvb _U_, p static int dissect_SystemInformationBlockType5_v8h0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformationBlockType6_v8h0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_UE_EUTRA_Capability_v9a0_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_MBMSInterestIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); -static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + + + +static int +dissect_lte_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_DL_DCCH_Message_PDU); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence); + + return offset; +} + + +static const per_sequence_t HandoverCommand_r8_IEs_sequence[] = { + { &hf_lte_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_handoverCommandMessage }, + { &hf_lte_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverCommand_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverCommand_r8_IEs, HandoverCommand_r8_IEs_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string lte_rrc_T_c1_vals[] = { + { 0, "handoverCommand-r8" }, + { 1, "spare7" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_choice[] = { + { 0, &hf_lte_rrc_handoverCommand_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverCommand_r8_IEs }, + { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1, T_c1_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_choice[] = { + { 0, &hf_lte_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions, T_criticalExtensions_choice, + NULL); + + return offset; +} + + +static const per_sequence_t HandoverCommand_sequence[] = { + { &hf_lte_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions }, + { NULL, 0, 0, NULL } +}; + +int +dissect_lte_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverCommand, HandoverCommand_sequence); + + return offset; +} + + +static const value_string lte_rrc_RAT_Type_vals[] = { + { RAT_Type_eutra, "eutra" }, + { RAT_Type_utra, "utra" }, + { RAT_Type_geran_cs, "geran-cs" }, + { RAT_Type_geran_ps, "geran-ps" }, + { RAT_Type_cdma2000_1XRTT, "cdma2000-1XRTT" }, + { RAT_Type_spare3, "spare3" }, + { RAT_Type_spare2, "spare2" }, + { RAT_Type_spare1, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 rat_type; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, &rat_type, TRUE, 0, NULL); + + private_data_set_rat_type(actx, (guint8)rat_type); + + + + return offset; +} + + + +static int +dissect_lte_rrc_T_ueCapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *ue_cap_tvb=NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb); + + + +if(ue_cap_tvb){ + guint32 length; + proto_item *item; + proto_tree *subtree, *subtree2; + guint8 byte; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_UE_CapabilityRAT_Container); + switch(private_data_get_rat_type(actx)){ + case RAT_Type_eutra: + /* eutra */ + dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; + case RAT_Type_utra: + /* utra */ + dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; + case RAT_Type_geran_cs: + /* geran-cs */ + /* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */ + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, 5, + ett_lte_rrc_UE_CapabilityRAT_Container, &item, "Mobile Station Classmark 2"); + byte = tvb_get_guint8(ue_cap_tvb, 0); + if (byte != 0x33) { + expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_type_value, + "Unexpected type value (found 0x%02X)", byte); + } + byte = tvb_get_guint8(ue_cap_tvb, 1); + if (byte != 0x03) { + expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_length_value, + "Unexpected length value (found %d)", byte); + } + de_ms_cm_2(ue_cap_tvb, subtree2, actx->pinfo, 2, 3, NULL, 0); + /* Mobile Station Classmark 3 is formatted as V */ + length = tvb_reported_length_remaining(ue_cap_tvb, 5); + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 5, length, + ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "Mobile Station Classmark 3"); + de_ms_cm_3(ue_cap_tvb, subtree2, actx->pinfo, 5, length, NULL, 0); + break; + case RAT_Type_geran_ps: + /* geran-ps */ + /* MS Radio Access Capability is formatted as V */ + length = tvb_reported_length(ue_cap_tvb); + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, length, + ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "MS Radio Access Capability"); + de_gmm_ms_radio_acc_cap(ue_cap_tvb, subtree2, actx->pinfo, 0, length, NULL, 0); + break; + case RAT_Type_cdma2000_1XRTT: + /* cdma2000-1XRTT */ + /* dissection of "A21 Mobile Subscription Information" could be added to packet-ansi_a.c */ + break; + default: + break; + } +} + + return offset; +} + + +static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = { + { &hf_lte_rrc_rat_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RAT_Type }, + { &hf_lte_rrc_ueCapabilityRAT_Container, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ueCapabilityRAT_Container }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + /* Initialise to invalid value */ + private_data_set_rat_type(actx, 0xFF); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence); + + + + return offset; +} + + +static const per_sequence_t UE_CapabilityRAT_ContainerList_sequence_of[1] = { + { &hf_lte_rrc_UE_CapabilityRAT_ContainerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRAT_Container }, +}; + +static int +dissect_lte_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UE_CapabilityRAT_ContainerList, UE_CapabilityRAT_ContainerList_sequence_of, + 0, maxRAT_Capabilities, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxObjectId, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = { + { &hf_lte_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, +}; + +static int +dissect_lte_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of, + 1, maxObjectId, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxEARFCN, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_AllowedMeasBandwidth_vals[] = { + { 0, "mbw6" }, + { 1, "mbw15" }, + { 2, "mbw25" }, + { 3, "mbw50" }, + { 4, "mbw75" }, + { 5, "mbw100" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_AllowedMeasBandwidth(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_PresenceAntennaPort1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_NeighCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *neigh_cell_config_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, + 2, 2, FALSE, &neigh_cell_config_tvb, NULL); + + + + if (neigh_cell_config_tvb) { + actx->created_item = proto_tree_add_uint(tree, hf_index, neigh_cell_config_tvb, 0, 1, tvb_get_bits8(neigh_cell_config_tvb, 0, 2)); + } + + return offset; +} + + +static const value_string lte_rrc_Q_OffsetRange_vals[] = { + { 0, "dB-24" }, + { 1, "dB-22" }, + { 2, "dB-20" }, + { 3, "dB-18" }, + { 4, "dB-16" }, + { 5, "dB-14" }, + { 6, "dB-12" }, + { 7, "dB-10" }, + { 8, "dB-8" }, + { 9, "dB-6" }, + { 10, "dB-5" }, + { 11, "dB-4" }, + { 12, "dB-3" }, + { 13, "dB-2" }, + { 14, "dB-1" }, + { 15, "dB0" }, + { 16, "dB1" }, + { 17, "dB2" }, + { 18, "dB3" }, + { 19, "dB4" }, + { 20, "dB5" }, + { 21, "dB6" }, + { 22, "dB8" }, + { 23, "dB10" }, + { 24, "dB12" }, + { 25, "dB14" }, + { 26, "dB16" }, + { 27, "dB18" }, + { 28, "dB20" }, + { 29, "dB22" }, + { 30, "dB24" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_Q_OffsetRange_vals); + + +static int +dissect_lte_rrc_Q_OffsetRange(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, + 31, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCellMeas, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellIndexList_sequence_of[1] = { + { &hf_lte_rrc_CellIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIndex }, +}; + +static int +dissect_lte_rrc_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellIndexList, CellIndexList_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_maxCellMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCellMeas, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 503U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellsToAddMod_sequence[] = { + { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_OffsetRange }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddMod, CellsToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t CellsToAddModList_sequence_of[1] = { + { &hf_lte_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddMod }, +}; + +static int +dissect_lte_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModList, CellsToAddModList_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_range_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n12" }, + { 3, "n16" }, + { 4, "n24" }, + { 5, "n32" }, + { 6, "n48" }, + { 7, "n64" }, + { 8, "n84" }, + { 9, "n96" }, + { 10, "n128" }, + { 11, "n168" }, + { 12, "n252" }, + { 13, "n504" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PhysCellIdRange_sequence[] = { + { &hf_lte_rrc_start_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysCellIdRange, PhysCellIdRange_sequence); + + return offset; +} + + +static const per_sequence_t BlackCellsToAddMod_sequence[] = { + { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_BlackCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_BlackCellsToAddMod, BlackCellsToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t BlackCellsToAddModList_sequence_of[1] = { + { &hf_lte_rrc_BlackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BlackCellsToAddMod }, +}; + +static int +dissect_lte_rrc_BlackCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_BlackCellsToAddModList, BlackCellsToAddModList_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const value_string lte_rrc_MeasCycleSCell_r10_vals[] = { + { 0, "sf160" }, + { 1, "sf256" }, + { 2, "sf320" }, + { 3, "sf512" }, + { 4, "sf640" }, + { 5, "sf1024" }, + { 6, "sf1280" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_MeasCycleSCell_r10(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 40, 40, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 20, 20, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_70(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 70, 70, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 60, 60, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_subframePatternTDD_r10_vals[] = { + { 0, "subframeConfig1-5-r10" }, + { 1, "subframeConfig0-r10" }, + { 2, "subframeConfig6-r10" }, + { 0, NULL } +}; + +static const per_choice_t T_subframePatternTDD_r10_choice[] = { + { 0, &hf_lte_rrc_subframeConfig1_5_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_20 }, + { 1, &hf_lte_rrc_subframeConfig0_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_70 }, + { 2, &hf_lte_rrc_subframeConfig6_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_60 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subframePatternTDD_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subframePatternTDD_r10, T_subframePatternTDD_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_MeasSubframePattern_r10_vals[] = { + { 0, "subframePatternFDD-r10" }, + { 1, "subframePatternTDD-r10" }, + { 0, NULL } +}; + +static const per_choice_t MeasSubframePattern_r10_choice[] = { + { 0, &hf_lte_rrc_subframePatternFDD_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_40 }, + { 1, &hf_lte_rrc_subframePatternTDD_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_subframePatternTDD_r10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasSubframePattern_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasSubframePattern_r10, MeasSubframePattern_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasSubframeCellList_r10_sequence_of[1] = { + { &hf_lte_rrc_MeasSubframeCellList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, +}; + +static int +dissect_lte_rrc_MeasSubframeCellList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasSubframeCellList_r10, MeasSubframeCellList_r10_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_53_sequence[] = { + { &hf_lte_rrc_measSubframePatternNeigh_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, + { &hf_lte_rrc_measSubframeCellList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframeCellList_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_53, T_setup_53_sequence); + + return offset; +} + + +static const value_string lte_rrc_MeasSubframePatternConfigNeigh_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t MeasSubframePatternConfigNeigh_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_60 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_53 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasSubframePatternConfigNeigh_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasSubframePatternConfigNeigh_r10, MeasSubframePatternConfigNeigh_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasObjectEUTRA_eag_1_sequence[] = { + { &hf_lte_rrc_measCycleSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasCycleSCell_r10 }, + { &hf_lte_rrc_measSubframePatternConfigNeigh_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframePatternConfigNeigh_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectEUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_1_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); + + return offset; +} + + +static const per_sequence_t MeasObjectEUTRA_eag_2_sequence[] = { + { &hf_lte_rrc_widebandRSRQ_Meas_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectEUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t AltTTT_CellsToAddMod_r12_sequence[] = { + { &hf_lte_rrc_cellIndex_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellIdRange_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AltTTT_CellsToAddMod_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AltTTT_CellsToAddMod_r12, AltTTT_CellsToAddMod_r12_sequence); + + return offset; +} + + +static const per_sequence_t AltTTT_CellsToAddModList_r12_sequence_of[1] = { + { &hf_lte_rrc_AltTTT_CellsToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AltTTT_CellsToAddMod_r12 }, +}; + +static int +dissect_lte_rrc_AltTTT_CellsToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AltTTT_CellsToAddModList_r12, AltTTT_CellsToAddModList_r12_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_setup_52_vals[] = { + { 0, "ms0" }, + { 1, "ms50" }, + { 2, "ms100" }, + { 3, "ms200" }, + { 4, "ms300" }, + { 5, "ms400" }, + { 6, "ms500" }, + { 7, "ms1000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_setup_52(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_t312_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_t312_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_59 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_52 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_t312_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_t312_r12, T_t312_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 39U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 79U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 159U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_dmtc_PeriodOffset_r12_vals[] = { + { 0, "ms40-r12" }, + { 1, "ms80-r12" }, + { 2, "ms160-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_dmtc_PeriodOffset_r12_choice[] = { + { 0, &hf_lte_rrc_ms40_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_39 }, + { 1, &hf_lte_rrc_ms80_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_79 }, + { 2, &hf_lte_rrc_ms160_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_159 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_dmtc_PeriodOffset_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_dmtc_PeriodOffset_r12, T_dmtc_PeriodOffset_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_maxDS_Duration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxDS_Duration_r12, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_2_maxDS_Duration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 2U, maxDS_Duration_r12, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_ds_OccasionDuration_r12_vals[] = { + { 0, "durationFDD-r12" }, + { 1, "durationTDD-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_ds_OccasionDuration_r12_choice[] = { + { 0, &hf_lte_rrc_durationFDD_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_maxDS_Duration_r12 }, + { 1, &hf_lte_rrc_durationTDD_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_2_maxDS_Duration_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ds_OccasionDuration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ds_OccasionDuration_r12, T_ds_OccasionDuration_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_MeasCSI_RS_Id_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_RS_Meas_r12, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasCSI_RS_ToRemoveList_r12_sequence_of[1] = { + { &hf_lte_rrc_MeasCSI_RS_ToRemoveList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, +}; + +static int +dissect_lte_rrc_MeasCSI_RS_ToRemoveList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasCSI_RS_ToRemoveList_r12, MeasCSI_RS_ToRemoveList_r12_sequence_of, + 1, maxCSI_RS_Meas_r12, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_503(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 503U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 31U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 4U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasCSI_RS_Config_r12_sequence[] = { + { &hf_lte_rrc_measCSI_RS_Id_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, + { &hf_lte_rrc_physCellId_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_scramblingIdentity_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_resourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_subframeOffset_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_4 }, + { &hf_lte_rrc_csi_RS_IndividualOffset_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_OffsetRange }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasCSI_RS_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasCSI_RS_Config_r12, MeasCSI_RS_Config_r12_sequence); + + return offset; +} + + +static const per_sequence_t MeasCSI_RS_ToAddModList_r12_sequence_of[1] = { + { &hf_lte_rrc_MeasCSI_RS_ToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Config_r12 }, +}; + +static int +dissect_lte_rrc_MeasCSI_RS_ToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasCSI_RS_ToAddModList_r12, MeasCSI_RS_ToAddModList_r12_sequence_of, + 1, maxCSI_RS_Meas_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_50_sequence[] = { + { &hf_lte_rrc_dmtc_PeriodOffset_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dmtc_PeriodOffset_r12 }, + { &hf_lte_rrc_ds_OccasionDuration_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ds_OccasionDuration_r12 }, + { &hf_lte_rrc_measCSI_RS_ToRemoveList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasCSI_RS_ToRemoveList_r12 }, + { &hf_lte_rrc_measCSI_RS_ToAddModList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasCSI_RS_ToAddModList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_50, T_setup_50_sequence); + + return offset; +} + + +static const value_string lte_rrc_MeasDS_Config_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t MeasDS_Config_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_57 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_50 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasDS_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasDS_Config_r12, MeasDS_Config_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasObjectEUTRA_eag_3_sequence[] = { + { &hf_lte_rrc_altTTT_CellsToRemoveList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, + { &hf_lte_rrc_altTTT_CellsToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AltTTT_CellsToAddModList_r12 }, + { &hf_lte_rrc_t312_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_t312_r12 }, + { &hf_lte_rrc_reducedMeasPerformance_r12_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_measDS_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasDS_Config_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectEUTRA_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectEUTRA_sequence[] = { + { &hf_lte_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, + { &hf_lte_rrc_allowedMeasBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AllowedMeasBandwidth }, + { &hf_lte_rrc_presenceAntennaPort1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PresenceAntennaPort1 }, + { &hf_lte_rrc_neighCellConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellConfig }, + { &hf_lte_rrc_offsetFreq_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRange }, + { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, + { &hf_lte_rrc_cellsToAddModList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellsToAddModList }, + { &hf_lte_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, + { &hf_lte_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BlackCellsToAddModList }, + { &hf_lte_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellId }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 16383U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_Q_OffsetRangeInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -15, 15U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + + +static int +dissect_lte_rrc_PhysCellIdUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 511U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellsToAddModUTRA_FDD_sequence[] = { + { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellId_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_FDD }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellsToAddModUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModUTRA_FDD, CellsToAddModUTRA_FDD_sequence); + + return offset; +} + + +static const per_sequence_t CellsToAddModListUTRA_FDD_sequence_of[1] = { + { &hf_lte_rrc_CellsToAddModListUTRA_FDD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModUTRA_FDD }, +}; + +static int +dissect_lte_rrc_CellsToAddModListUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModListUTRA_FDD, CellsToAddModListUTRA_FDD_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_PhysCellIdUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 127U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellsToAddModUTRA_TDD_sequence[] = { + { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellId_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_TDD }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellsToAddModUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModUTRA_TDD, CellsToAddModUTRA_TDD_sequence); + + return offset; +} + + +static const per_sequence_t CellsToAddModListUTRA_TDD_sequence_of[1] = { + { &hf_lte_rrc_CellsToAddModListUTRA_TDD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModUTRA_TDD }, +}; + +static int +dissect_lte_rrc_CellsToAddModListUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModListUTRA_TDD, CellsToAddModListUTRA_TDD_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_cellsToAddModList_vals[] = { + { 0, "cellsToAddModListUTRA-FDD" }, + { 1, "cellsToAddModListUTRA-TDD" }, + { 0, NULL } +}; + +static const per_choice_t T_cellsToAddModList_choice[] = { + { 0, &hf_lte_rrc_cellsToAddModListUTRA_FDD, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CellsToAddModListUTRA_FDD }, + { 1, &hf_lte_rrc_cellsToAddModListUTRA_TDD, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CellsToAddModListUTRA_TDD }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellsToAddModList, T_cellsToAddModList_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cellForWhichToReportCGI_vals[] = { + { 0, "utra-FDD" }, + { 1, "utra-TDD" }, + { 0, NULL } +}; + +static const per_choice_t T_cellForWhichToReportCGI_choice[] = { + { 0, &hf_lte_rrc_utra_FDD_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_PhysCellIdUTRA_FDD }, + { 1, &hf_lte_rrc_utra_TDD_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_PhysCellIdUTRA_TDD }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellForWhichToReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellForWhichToReportCGI, T_cellForWhichToReportCGI_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_2_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 2U, 512U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t PhysCellIdRangeUTRA_FDD_r9_sequence[] = { + { &hf_lte_rrc_start_r9 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_FDD }, + { &hf_lte_rrc_range_r9 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_2_512 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysCellIdRangeUTRA_FDD_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysCellIdRangeUTRA_FDD_r9, PhysCellIdRangeUTRA_FDD_r9_sequence); + + return offset; +} + + +static const per_sequence_t PhysCellIdRangeUTRA_FDDList_r9_sequence_of[1] = { + { &hf_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRangeUTRA_FDD_r9 }, +}; + +static int +dissect_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9, PhysCellIdRangeUTRA_FDDList_r9_sequence_of, + 1, maxPhysCellIdRange_r9, FALSE); + + return offset; +} + + +static const per_sequence_t CSG_AllowedReportingCells_r9_sequence[] = { + { &hf_lte_rrc_physCellIdRangeUTRA_FDDList_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSG_AllowedReportingCells_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSG_AllowedReportingCells_r9, CSG_AllowedReportingCells_r9_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectUTRA_eag_1_sequence[] = { + { &hf_lte_rrc_csg_allowedReportingCells_v930, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSG_AllowedReportingCells_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectUTRA_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectUTRA_eag_2_sequence[] = { + { &hf_lte_rrc_reducedMeasPerformance_r12_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectUTRA_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectUTRA_sequence[] = { + { &hf_lte_rrc_carrierFreq_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, + { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, + { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, + { &hf_lte_rrc_cellsToAddModList_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellsToAddModList }, + { &hf_lte_rrc_cellForWhichToReportCGI_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellForWhichToReportCGI }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectUTRA_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectUTRA_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectUTRA, MeasObjectUTRA_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_BandIndicatorGERAN_vals[] = { + { 0, "dcs1800" }, + { 1, "pcs1900" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_BandIndicatorGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ExplicitListOfARFCNs_sequence_of[1] = { + { &hf_lte_rrc_ExplicitListOfARFCNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueGERAN }, +}; + +static int +dissect_lte_rrc_ExplicitListOfARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ExplicitListOfARFCNs, ExplicitListOfARFCNs_sequence_of, + 0, 31, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 8U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_equallySpacedARFCNs_sequence[] = { + { &hf_lte_rrc_arfcn_Spacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_8 }, + { &hf_lte_rrc_numberOfFollowingARFCNs, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_equallySpacedARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_equallySpacedARFCNs, T_equallySpacedARFCNs_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_OCTET_STRING_SIZE_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 16, FALSE, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_followingARFCNs_vals[] = { + { 0, "explicitListOfARFCNs" }, + { 1, "equallySpacedARFCNs" }, + { 2, "variableBitMapOfARFCNs" }, + { 0, NULL } +}; + +static const per_choice_t T_followingARFCNs_choice[] = { + { 0, &hf_lte_rrc_explicitListOfARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ExplicitListOfARFCNs }, + { 1, &hf_lte_rrc_equallySpacedARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_equallySpacedARFCNs }, + { 2, &hf_lte_rrc_variableBitMapOfARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_OCTET_STRING_SIZE_1_16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_followingARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_followingARFCNs, T_followingARFCNs_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CarrierFreqsGERAN_sequence[] = { + { &hf_lte_rrc_startingARFCN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueGERAN }, + { &hf_lte_rrc_bandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandIndicatorGERAN }, + { &hf_lte_rrc_followingARFCNs, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_followingARFCNs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CarrierFreqsGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqsGERAN, CarrierFreqsGERAN_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t PhysCellIdGERAN_sequence[] = { + { &hf_lte_rrc_networkColourCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_3 }, + { &hf_lte_rrc_baseStationColourCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysCellIdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysCellIdGERAN, PhysCellIdGERAN_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectGERAN_sequence[] = { + { &hf_lte_rrc_carrierFreqs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqsGERAN }, + { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, + { &hf_lte_rrc_ncc_Permitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { &hf_lte_rrc_cellForWhichToReportCGI_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdGERAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectGERAN, MeasObjectGERAN_sequence); + + return offset; +} + + +static const value_string lte_rrc_CDMA2000_Type_vals[] = { + { 0, "type1XRTT" }, + { 1, "typeHRPD" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_CDMA2000_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, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_BandclassCDMA2000_vals[] = { + { 0, "bc0" }, + { 1, "bc1" }, + { 2, "bc2" }, + { 3, "bc3" }, + { 4, "bc4" }, + { 5, "bc5" }, + { 6, "bc6" }, + { 7, "bc7" }, + { 8, "bc8" }, + { 9, "bc9" }, + { 10, "bc10" }, + { 11, "bc11" }, + { 12, "bc12" }, + { 13, "bc13" }, + { 14, "bc14" }, + { 15, "bc15" }, + { 16, "bc16" }, + { 17, "bc17" }, + { 18, "bc18-v9a0" }, + { 19, "bc19-v9a0" }, + { 20, "bc20-v9a0" }, + { 21, "bc21-v9a0" }, + { 22, "spare10" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_BandclassCDMA2000_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_BandclassCDMA2000_vals); + + +static int +dissect_lte_rrc_BandclassCDMA2000(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, + 32, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2047U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CarrierFreqCDMA2000_sequence[] = { + { &hf_lte_rrc_bandClass , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandclassCDMA2000 }, + { &hf_lte_rrc_arfcn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueCDMA2000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CarrierFreqCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqCDMA2000, CarrierFreqCDMA2000_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 15U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_PhysCellIdCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxPNOffset, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CellsToAddModCDMA2000_sequence[] = { + { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, + { &hf_lte_rrc_physCellId_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdCDMA2000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellsToAddModCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModCDMA2000, CellsToAddModCDMA2000_sequence); + + return offset; +} + + +static const per_sequence_t CellsToAddModListCDMA2000_sequence_of[1] = { + { &hf_lte_rrc_CellsToAddModListCDMA2000_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModCDMA2000 }, +}; + +static int +dissect_lte_rrc_CellsToAddModListCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellsToAddModListCDMA2000, CellsToAddModListCDMA2000_sequence_of, + 1, maxCellMeas, FALSE); + + return offset; +} + + +static const per_sequence_t MeasObjectCDMA2000_sequence[] = { + { &hf_lte_rrc_cdma2000_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CDMA2000_Type }, + { &hf_lte_rrc_carrierFreq_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqCDMA2000 }, + { &hf_lte_rrc_searchWindowSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, + { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, + { &hf_lte_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellsToAddModListCDMA2000 }, + { &hf_lte_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdCDMA2000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectCDMA2000, MeasObjectCDMA2000_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_measObject_vals[] = { + { 0, "measObjectEUTRA" }, + { 1, "measObjectUTRA" }, + { 2, "measObjectGERAN" }, + { 3, "measObjectCDMA2000" }, + { 0, NULL } +}; + +static const per_choice_t T_measObject_choice[] = { + { 0, &hf_lte_rrc_measObjectEUTRA, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectEUTRA }, + { 1, &hf_lte_rrc_measObjectUTRA, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectUTRA }, + { 2, &hf_lte_rrc_measObjectGERAN, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectGERAN }, + { 3, &hf_lte_rrc_measObjectCDMA2000, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectCDMA2000 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_measObject, T_measObject_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MeasObjectToAddMod_sequence[] = { + { &hf_lte_rrc_measObjectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, + { &hf_lte_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measObject }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = { + { &hf_lte_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectToAddMod }, +}; + +static int +dissect_lte_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of, + 1, maxObjectId, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxReportConfigId, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = { + { &hf_lte_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, +}; + +static int +dissect_lte_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of, + 1, maxReportConfigId, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 97U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_Threshold_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_RSRP_Range(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_lte_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 34U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_Threshold_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_RSRQ_Range(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string lte_rrc_ThresholdEUTRA_vals[] = { + { 0, "threshold-RSRP" }, + { 1, "threshold-RSRQ" }, + { 0, NULL } +}; + +static const per_choice_t ThresholdEUTRA_choice[] = { + { 0, &hf_lte_rrc_threshold_RSRP, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_RSRP_Range }, + { 1, &hf_lte_rrc_threshold_RSRQ, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_RSRQ_Range }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_ThresholdEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ThresholdEUTRA, ThresholdEUTRA_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventA1_sequence[] = { + { &hf_lte_rrc_a1_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA1, T_eventA1_sequence); + + return offset; +} + + +static const per_sequence_t T_eventA2_sequence[] = { + { &hf_lte_rrc_a2_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA2, T_eventA2_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -30, 30U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_eventA3_sequence[] = { + { &hf_lte_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, + { &hf_lte_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA3, T_eventA3_sequence); + + return offset; +} + + +static const per_sequence_t T_eventA4_sequence[] = { + { &hf_lte_rrc_a4_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA4, T_eventA4_sequence); + + return offset; +} + + +static const per_sequence_t T_eventA5_sequence[] = { + { &hf_lte_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { &hf_lte_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA5, T_eventA5_sequence); + + return offset; +} + + +static const per_sequence_t T_eventA6_r10_sequence[] = { + { &hf_lte_rrc_a6_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, + { &hf_lte_rrc_a6_ReportOnLeave_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventA6_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventA6_r10, T_eventA6_r10_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_RSRP_Range_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 97U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_ThresholdEUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_CSI_RSRP_Range_r12(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t T_eventC1_r12_sequence[] = { + { &hf_lte_rrc_c1_Threshold_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA_v1250 }, + { &hf_lte_rrc_c1_ReportOnLeave_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventC1_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventC1_r12, T_eventC1_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_eventC2_r12_sequence[] = { + { &hf_lte_rrc_c2_RefCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, + { &hf_lte_rrc_c2_Offset_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, + { &hf_lte_rrc_c2_ReportOnLeave_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventC2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventC2_r12, T_eventC2_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_eventId_vals[] = { + { 0, "eventA1" }, + { 1, "eventA2" }, + { 2, "eventA3" }, + { 3, "eventA4" }, + { 4, "eventA5" }, + { 5, "eventA6-r10" }, + { 6, "eventC1-r12" }, + { 7, "eventC2-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_eventId_choice[] = { + { 0, &hf_lte_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA1 }, + { 1, &hf_lte_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA2 }, + { 2, &hf_lte_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA3 }, + { 3, &hf_lte_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA4 }, + { 4, &hf_lte_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA5 }, + { 5, &hf_lte_rrc_eventA6_r10 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventA6_r10 }, + { 6, &hf_lte_rrc_eventC1_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventC1_r12 }, + { 7, &hf_lte_rrc_eventC2_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventC2_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventId, T_eventId_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 30U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_TimeToTrigger_vals[] = { + { 0, "ms0" }, + { 1, "ms40" }, + { 2, "ms64" }, + { 3, "ms80" }, + { 4, "ms100" }, + { 5, "ms128" }, + { 6, "ms160" }, + { 7, "ms256" }, + { 8, "ms320" }, + { 9, "ms480" }, + { 10, "ms512" }, + { 11, "ms640" }, + { 12, "ms1024" }, + { 13, "ms1280" }, + { 14, "ms2560" }, + { 15, "ms5120" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_TimeToTrigger(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_event_sequence[] = { + { &hf_lte_rrc_eventId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eventId }, + { &hf_lte_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Hysteresis }, + { &hf_lte_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_event(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_event, T_event_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_purpose_02_vals[] = { + { 0, "reportStrongestCells" }, + { 1, "reportCGI" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_purpose_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_periodical_sequence[] = { + { &hf_lte_rrc_purpose_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_periodical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_periodical, T_periodical_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_triggerType_vals[] = { + { 0, "event" }, + { 1, "periodical" }, + { 0, NULL } +}; + +static const per_choice_t T_triggerType_choice[] = { + { 0, &hf_lte_rrc_event , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_event }, + { 1, &hf_lte_rrc_periodical , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_periodical }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_triggerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_triggerType, T_triggerType_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_triggerQuantity_vals[] = { + { 0, "rsrp" }, + { 1, "rsrq" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_triggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_reportQuantity_vals[] = { + { 0, "sameAsTriggerQuantity" }, + { 1, "both" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCellReport, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_ReportInterval_vals[] = { + { 0, "ms120" }, + { 1, "ms240" }, + { 2, "ms480" }, + { 3, "ms640" }, + { 4, "ms1024" }, + { 5, "ms2048" }, + { 6, "ms5120" }, + { 7, "ms10240" }, + { 8, "min1" }, + { 9, "min6" }, + { 10, "min12" }, + { 11, "min30" }, + { 12, "min60" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_ReportInterval(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_reportAmount_vals[] = { + { 0, "r1" }, + { 1, "r2" }, + { 2, "r4" }, + { 3, "r8" }, + { 4, "r16" }, + { 5, "r32" }, + { 6, "r64" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reportAmount(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_si_RequestForHO_r9_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_si_RequestForHO_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigEUTRA_eag_1_sequence[] = { + { &hf_lte_rrc_si_RequestForHO_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_si_RequestForHO_r9 }, + { &hf_lte_rrc_ue_RxTxTimeDiffPeriodical_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigEUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_includeLocationInfo_r10_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_includeLocationInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_reportAddNeighMeas_r10_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reportAddNeighMeas_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigEUTRA_eag_2_sequence[] = { + { &hf_lte_rrc_includeLocationInfo_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_includeLocationInfo_r10 }, + { &hf_lte_rrc_reportAddNeighMeas_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportAddNeighMeas_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigEUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_2_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_alternativeTimeToTrigger_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_alternativeTimeToTrigger_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_61 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_TimeToTrigger }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_alternativeTimeToTrigger_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_alternativeTimeToTrigger_r12, T_alternativeTimeToTrigger_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_RSRQ_Range_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -30, 46U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_RSRQ_RangeConfig_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t RSRQ_RangeConfig_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_62 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_RSRQ_Range_v1250 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_RSRQ_RangeConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RSRQ_RangeConfig_r12, RSRQ_RangeConfig_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigEUTRA_eag_3_sequence[] = { + { &hf_lte_rrc_alternativeTimeToTrigger_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeTimeToTrigger_r12 }, + { &hf_lte_rrc_useT312_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_usePSCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_aN_Threshold1_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_RangeConfig_r12 }, + { &hf_lte_rrc_a5_Threshold2_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_RangeConfig_r12 }, + { &hf_lte_rrc_reportStrongestCSI_RSs_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_reportCRS_Meas_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_triggerQuantityCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigEUTRA_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t ReportConfigEUTRA_sequence[] = { + { &hf_lte_rrc_triggerType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerType }, + { &hf_lte_rrc_triggerQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerQuantity }, + { &hf_lte_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportQuantity }, + { &hf_lte_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellReport }, + { &hf_lte_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportInterval }, + { &hf_lte_rrc_reportAmount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportAmount }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportConfigEUTRA, ReportConfigEUTRA_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_Threshold_utra_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -5, 91U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_Threshold_utra_EcN0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 49U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_ThresholdUTRA_vals[] = { + { 0, "utra-RSCP" }, + { 1, "utra-EcN0" }, + { 0, NULL } +}; + +static const per_choice_t ThresholdUTRA_choice[] = { + { 0, &hf_lte_rrc_utra_RSCP_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_utra_RSRP }, + { 1, &hf_lte_rrc_utra_EcN0_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_utra_EcN0 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_ThresholdUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ThresholdUTRA, ThresholdUTRA_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_ThresholdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_ThresholdCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_b1_Threshold_vals[] = { + { 0, "b1-ThresholdUTRA" }, + { 1, "b1-ThresholdGERAN" }, + { 2, "b1-ThresholdCDMA2000" }, + { 0, NULL } +}; + +static const per_choice_t T_b1_Threshold_choice[] = { + { 0, &hf_lte_rrc_b1_ThresholdUTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdUTRA }, + { 1, &hf_lte_rrc_b1_ThresholdGERAN, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdGERAN }, + { 2, &hf_lte_rrc_b1_ThresholdCDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdCDMA2000 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_b1_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_b1_Threshold, T_b1_Threshold_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventB1_sequence[] = { + { &hf_lte_rrc_b1_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_b1_Threshold }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventB1, T_eventB1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_b2_Threshold2_vals[] = { + { 0, "b2-Threshold2UTRA" }, + { 1, "b2-Threshold2GERAN" }, + { 2, "b2-Threshold2CDMA2000" }, + { 0, NULL } +}; + +static const per_choice_t T_b2_Threshold2_choice[] = { + { 0, &hf_lte_rrc_b2_Threshold2UTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdUTRA }, + { 1, &hf_lte_rrc_b2_Threshold2GERAN, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdGERAN }, + { 2, &hf_lte_rrc_b2_Threshold2CDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdCDMA2000 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_b2_Threshold2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_b2_Threshold2, T_b2_Threshold2_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eventB2_sequence[] = { + { &hf_lte_rrc_b2_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, + { &hf_lte_rrc_b2_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_b2_Threshold2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventB2, T_eventB2_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_eventId_01_vals[] = { + { 0, "eventB1" }, + { 1, "eventB2" }, + { 0, NULL } +}; + +static const per_choice_t T_eventId_01_choice[] = { + { 0, &hf_lte_rrc_eventB1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventB1 }, + { 1, &hf_lte_rrc_eventB2 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventB2 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eventId_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_eventId_01, T_eventId_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_event_01_sequence[] = { + { &hf_lte_rrc_eventId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eventId_01 }, + { &hf_lte_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Hysteresis }, + { &hf_lte_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeToTrigger }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_event_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_event_01, T_event_01_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_purpose_03_vals[] = { + { 0, "reportStrongestCells" }, + { 1, "reportStrongestCellsForSON" }, + { 2, "reportCGI" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_purpose_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_periodical_01_sequence[] = { + { &hf_lte_rrc_purpose_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_periodical_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_periodical_01, T_periodical_01_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_triggerType_01_vals[] = { + { 0, "event" }, + { 1, "periodical" }, + { 0, NULL } +}; + +static const per_choice_t T_triggerType_01_choice[] = { + { 0, &hf_lte_rrc_event_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_event_01 }, + { 1, &hf_lte_rrc_periodical_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_periodical_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_triggerType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_triggerType_01, T_triggerType_01_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_reportAmount_01_vals[] = { + { 0, "r1" }, + { 1, "r2" }, + { 2, "r4" }, + { 3, "r8" }, + { 4, "r16" }, + { 5, "r32" }, + { 6, "r64" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reportAmount_01(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_si_RequestForHO_r9_01_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_si_RequestForHO_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigInterRAT_eag_1_sequence[] = { + { &hf_lte_rrc_si_RequestForHO_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_si_RequestForHO_r9_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigInterRAT_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_reportQuantityUTRA_FDD_r10_vals[] = { + { 0, "both" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reportQuantityUTRA_FDD_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigInterRAT_eag_2_sequence[] = { + { &hf_lte_rrc_reportQuantityUTRA_FDD_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportQuantityUTRA_FDD_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigInterRAT_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t ReportConfigInterRAT_eag_3_sequence[] = { + { &hf_lte_rrc_includeLocationInfo_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigInterRAT_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_3_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_b2_Threshold1_v1250_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_b2_Threshold1_v1250_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_62 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_RSRQ_Range_v1250 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_b2_Threshold1_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_b2_Threshold1_v1250, T_b2_Threshold1_v1250_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigInterRAT_eag_4_sequence[] = { + { &hf_lte_rrc_b2_Threshold1_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_b2_Threshold1_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigInterRAT_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_4_sequence); + + return offset; +} + + +static const per_sequence_t ReportConfigInterRAT_sequence[] = { + { &hf_lte_rrc_triggerType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerType_01 }, + { &hf_lte_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellReport }, + { &hf_lte_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportInterval }, + { &hf_lte_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportAmount_01 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_3 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportConfigInterRAT, ReportConfigInterRAT_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_reportConfig_vals[] = { + { 0, "reportConfigEUTRA" }, + { 1, "reportConfigInterRAT" }, + { 0, NULL } +}; + +static const per_choice_t T_reportConfig_choice[] = { + { 0, &hf_lte_rrc_reportConfigEUTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ReportConfigEUTRA }, + { 1, &hf_lte_rrc_reportConfigInterRAT, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ReportConfigInterRAT }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_reportConfig, T_reportConfig_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ReportConfigToAddMod_sequence[] = { + { &hf_lte_rrc_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, + { &hf_lte_rrc_reportConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportConfig }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = { + { &hf_lte_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigToAddMod }, +}; + +static int +dissect_lte_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of, + 1, maxReportConfigId, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxMeasId, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = { + { &hf_lte_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId }, +}; + +static int +dissect_lte_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of, + 1, maxMeasId, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdToAddMod_sequence[] = { + { &hf_lte_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId }, + { &hf_lte_rrc_measObjectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, + { &hf_lte_rrc_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t MeasIdToAddModList_sequence_of[1] = { + { &hf_lte_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasIdToAddMod }, +}; + +static int +dissect_lte_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of, + 1, maxMeasId, FALSE); + + return offset; +} + + +static const value_string lte_rrc_FilterCoefficient_vals[] = { + { 0, "fc0" }, + { 1, "fc1" }, + { 2, "fc2" }, + { 3, "fc3" }, + { 4, "fc4" }, + { 5, "fc5" }, + { 6, "fc6" }, + { 7, "fc7" }, + { 8, "fc8" }, + { 9, "fc9" }, + { 10, "fc11" }, + { 11, "fc13" }, + { 12, "fc15" }, + { 13, "fc17" }, + { 14, "fc19" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_FilterCoefficient(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, + 16, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t QuantityConfigEUTRA_sequence[] = { + { &hf_lte_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { &hf_lte_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigEUTRA, QuantityConfigEUTRA_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_measQuantityUTRA_FDD_vals[] = { + { 0, "cpich-RSCP" }, + { 1, "cpich-EcN0" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_measQuantityUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_measQuantityUTRA_TDD_vals[] = { + { 0, "pccpch-RSCP" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_measQuantityUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t QuantityConfigUTRA_sequence[] = { + { &hf_lte_rrc_measQuantityUTRA_FDD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityUTRA_FDD }, + { &hf_lte_rrc_measQuantityUTRA_TDD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityUTRA_TDD }, + { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigUTRA, QuantityConfigUTRA_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_measQuantityGERAN_vals[] = { + { 0, "rssi" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_measQuantityGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t QuantityConfigGERAN_sequence[] = { + { &hf_lte_rrc_measQuantityGERAN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityGERAN }, + { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigGERAN, QuantityConfigGERAN_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_measQuantityCDMA2000_vals[] = { + { 0, "pilotStrength" }, + { 1, "pilotPnPhaseAndPilotStrength" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_measQuantityCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t QuantityConfigCDMA2000_sequence[] = { + { &hf_lte_rrc_measQuantityCDMA2000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityCDMA2000 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigCDMA2000, QuantityConfigCDMA2000_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfigUTRA_v1020_sequence[] = { + { &hf_lte_rrc_filterCoefficient2_FDD_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigUTRA_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigUTRA_v1020, QuantityConfigUTRA_v1020_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfig_eag_1_sequence[] = { + { &hf_lte_rrc_quantityConfigUTRA_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigUTRA_v1020 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfigEUTRA_v1250_sequence[] = { + { &hf_lte_rrc_filterCoefficientCSI_RSRP_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfigEUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfigEUTRA_v1250, QuantityConfigEUTRA_v1250_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfig_eag_2_sequence[] = { + { &hf_lte_rrc_quantityConfigEUTRA_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigEUTRA_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t QuantityConfig_sequence[] = { + { &hf_lte_rrc_quantityConfigEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigEUTRA }, + { &hf_lte_rrc_quantityConfigUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigUTRA }, + { &hf_lte_rrc_quantityConfigGERAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigGERAN }, + { &hf_lte_rrc_quantityConfigCDMA2000, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigCDMA2000 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_QuantityConfig_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_QuantityConfig_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_QuantityConfig, QuantityConfig_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_gapOffset_vals[] = { + { 0, "gp0" }, + { 1, "gp1" }, + { 0, NULL } +}; + +static const per_choice_t T_gapOffset_choice[] = { + { 0, &hf_lte_rrc_gp0 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_39 }, + { 1, &hf_lte_rrc_gp1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_79 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_gapOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_gapOffset, T_gapOffset_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_51_sequence[] = { + { &hf_lte_rrc_gapOffset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_gapOffset }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_51, T_setup_51_sequence); + + return offset; +} + + +static const value_string lte_rrc_MeasGapConfig_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t MeasGapConfig_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_58 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_51 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasGapConfig, MeasGapConfig_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_S_Measure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_RSRP_Range(tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_lte_rrc_PreRegistrationZoneIdHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SecondaryPreRegistrationZoneIdListHRPD_sequence_of[1] = { + { &hf_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PreRegistrationZoneIdHRPD }, +}; + +static int +dissect_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD, SecondaryPreRegistrationZoneIdListHRPD_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const per_sequence_t PreRegistrationInfoHRPD_sequence[] = { + { &hf_lte_rrc_preRegistrationAllowed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_preRegistrationZoneId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PreRegistrationZoneIdHRPD }, + { &hf_lte_rrc_secondaryPreRegistrationZoneIdList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PreRegistrationInfoHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PreRegistrationInfoHRPD, PreRegistrationInfoHRPD_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_t_Evaluation_vals[] = { + { 0, "s30" }, + { 1, "s60" }, + { 2, "s120" }, + { 3, "s180" }, + { 4, "s240" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t_Evaluation(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_t_HystNormal_vals[] = { + { 0, "s30" }, + { 1, "s60" }, + { 2, "s120" }, + { 3, "s180" }, + { 4, "s240" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t_HystNormal(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MobilityStateParameters_sequence[] = { + { &hf_lte_rrc_t_Evaluation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t_Evaluation }, + { &hf_lte_rrc_t_HystNormal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t_HystNormal }, + { &hf_lte_rrc_n_CellChangeMedium, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_16 }, + { &hf_lte_rrc_n_CellChangeHigh, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_16 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MobilityStateParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MobilityStateParameters, MobilityStateParameters_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_sf_Medium_01_vals[] = { + { 0, "oDot25" }, + { 1, "oDot5" }, + { 2, "oDot75" }, + { 3, "lDot0" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_sf_Medium_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_sf_High_01_vals[] = { + { 0, "oDot25" }, + { 1, "oDot5" }, + { 2, "oDot75" }, + { 3, "lDot0" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_sf_High_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SpeedStateScaleFactors_sequence[] = { + { &hf_lte_rrc_sf_Medium_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sf_Medium_01 }, + { &hf_lte_rrc_sf_High_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sf_High_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SpeedStateScaleFactors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SpeedStateScaleFactors, SpeedStateScaleFactors_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_49_sequence[] = { + { &hf_lte_rrc_mobilityStateParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MobilityStateParameters }, + { &hf_lte_rrc_timeToTrigger_SF, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SpeedStateScaleFactors }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_49, T_setup_49_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_speedStatePars_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_speedStatePars_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_55 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_49 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_speedStatePars(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_speedStatePars, T_speedStatePars_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxEARFCN_Plus1, maxEARFCN2, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasObjectEUTRA_v9e0_sequence[] = { + { &hf_lte_rrc_carrierFreq_v9e0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectEUTRA_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectEUTRA_v9e0, MeasObjectEUTRA_v9e0_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectToAddMod_v9e0_sequence[] = { + { &hf_lte_rrc_measObjectEUTRA_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasObjectToAddMod_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectToAddMod_v9e0, MeasObjectToAddMod_v9e0_sequence); + + return offset; +} + + +static const per_sequence_t MeasObjectToAddModList_v9e0_sequence_of[1] = { + { &hf_lte_rrc_MeasObjectToAddModList_v9e0_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectToAddMod_v9e0 }, +}; + +static int +dissect_lte_rrc_MeasObjectToAddModList_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasObjectToAddModList_v9e0, MeasObjectToAddModList_v9e0_sequence_of, + 1, maxObjectId, FALSE); + + return offset; +} + + +static const per_sequence_t MeasConfig_eag_1_sequence[] = { + { &hf_lte_rrc_measObjectToAddModList_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToAddModList_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t MeasConfig_eag_2_sequence[] = { + { &hf_lte_rrc_allowInterruptions_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_2_sequence); + + return offset; +} + + +static const value_string lte_rrc_MeasScaleFactor_r12_vals[] = { + { 0, "sf-EUTRA-cf1" }, + { 1, "sf-EUTRA-cf2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_MeasScaleFactor_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_measScaleFactor_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_measScaleFactor_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_56 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasScaleFactor_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_measScaleFactor_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_measScaleFactor_r12, T_measScaleFactor_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_MeasId_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxMeasId_Plus1, maxMeasId_r12, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdToRemoveListExt_r12_sequence_of[1] = { + { &hf_lte_rrc_MeasIdToRemoveListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId_v1250 }, +}; + +static int +dissect_lte_rrc_MeasIdToRemoveListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToRemoveListExt_r12, MeasIdToRemoveListExt_r12_sequence_of, + 1, maxMeasId, FALSE); + + return offset; +} + + +static const per_sequence_t MeasIdToAddModExt_r12_sequence[] = { + { &hf_lte_rrc_measId_v1250, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId_v1250 }, + { &hf_lte_rrc_measObjectId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, + { &hf_lte_rrc_reportConfigId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasIdToAddModExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToAddModExt_r12, MeasIdToAddModExt_r12_sequence); + + return offset; +} + + +static const per_sequence_t MeasIdToAddModListExt_r12_sequence_of[1] = { + { &hf_lte_rrc_MeasIdToAddModListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasIdToAddModExt_r12 }, +}; + +static int +dissect_lte_rrc_MeasIdToAddModListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasIdToAddModListExt_r12, MeasIdToAddModListExt_r12_sequence_of, + 1, maxMeasId, FALSE); + + return offset; +} + + +static const per_sequence_t MeasConfig_eag_3_sequence[] = { + { &hf_lte_rrc_measScaleFactor_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_measScaleFactor_r12 }, + { &hf_lte_rrc_measIdToRemoveListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToRemoveListExt_r12 }, + { &hf_lte_rrc_measIdToAddModListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToAddModListExt_r12 }, + { &hf_lte_rrc_measRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t MeasConfig_sequence[] = { + { &hf_lte_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToRemoveList }, + { &hf_lte_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToAddModList }, + { &hf_lte_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportConfigToRemoveList }, + { &hf_lte_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportConfigToAddModList }, + { &hf_lte_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToRemoveList }, + { &hf_lte_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToAddModList }, + { &hf_lte_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfig }, + { &hf_lte_rrc_measGapConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasGapConfig }, + { &hf_lte_rrc_s_Measure , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_S_Measure }, + { &hf_lte_rrc_preRegistrationInfoHRPD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PreRegistrationInfoHRPD }, + { &hf_lte_rrc_speedStatePars, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_speedStatePars }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasConfig, MeasConfig_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 2U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_PollRetransmit_vals[] = { + { 0, "ms5" }, + { 1, "ms10" }, + { 2, "ms15" }, + { 3, "ms20" }, + { 4, "ms25" }, + { 5, "ms30" }, + { 6, "ms35" }, + { 7, "ms40" }, + { 8, "ms45" }, + { 9, "ms50" }, + { 10, "ms55" }, + { 11, "ms60" }, + { 12, "ms65" }, + { 13, "ms70" }, + { 14, "ms75" }, + { 15, "ms80" }, + { 16, "ms85" }, + { 17, "ms90" }, + { 18, "ms95" }, + { 19, "ms100" }, + { 20, "ms105" }, + { 21, "ms110" }, + { 22, "ms115" }, + { 23, "ms120" }, + { 24, "ms125" }, + { 25, "ms130" }, + { 26, "ms135" }, + { 27, "ms140" }, + { 28, "ms145" }, + { 29, "ms150" }, + { 30, "ms155" }, + { 31, "ms160" }, + { 32, "ms165" }, + { 33, "ms170" }, + { 34, "ms175" }, + { 35, "ms180" }, + { 36, "ms185" }, + { 37, "ms190" }, + { 38, "ms195" }, + { 39, "ms200" }, + { 40, "ms205" }, + { 41, "ms210" }, + { 42, "ms215" }, + { 43, "ms220" }, + { 44, "ms225" }, + { 45, "ms230" }, + { 46, "ms235" }, + { 47, "ms240" }, + { 48, "ms245" }, + { 49, "ms250" }, + { 50, "ms300" }, + { 51, "ms350" }, + { 52, "ms400" }, + { 53, "ms450" }, + { 54, "ms500" }, + { 55, "spare9" }, + { 56, "spare8" }, + { 57, "spare7" }, + { 58, "spare6" }, + { 59, "spare5" }, + { 60, "spare4" }, + { 61, "spare3" }, + { 62, "spare2" }, + { 63, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_PollRetransmit_vals); + + +static int +dissect_lte_rrc_T_PollRetransmit(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, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_PollPDU_vals[] = { + { 0, "p4" }, + { 1, "p8" }, + { 2, "p16" }, + { 3, "p32" }, + { 4, "p64" }, + { 5, "p128" }, + { 6, "p256" }, + { 7, "pInfinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_PollPDU(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_PollByte_vals[] = { + { 0, "kB25" }, + { 1, "kB50" }, + { 2, "kB75" }, + { 3, "kB100" }, + { 4, "kB125" }, + { 5, "kB250" }, + { 6, "kB375" }, + { 7, "kB500" }, + { 8, "kB750" }, + { 9, "kB1000" }, + { 10, "kB1250" }, + { 11, "kB1500" }, + { 12, "kB2000" }, + { 13, "kB3000" }, + { 14, "kBinfinity" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_PollByte(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_maxRetxThreshold_vals[] = { + { 0, "t1" }, + { 1, "t2" }, + { 2, "t3" }, + { 3, "t4" }, + { 4, "t6" }, + { 5, "t8" }, + { 6, "t16" }, + { 7, "t32" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_maxRetxThreshold(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UL_AM_RLC_sequence[] = { + { &hf_lte_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_PollRetransmit }, + { &hf_lte_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PollPDU }, + { &hf_lte_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PollByte }, + { &hf_lte_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_maxRetxThreshold }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UL_AM_RLC, UL_AM_RLC_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_Reordering_vals[] = { + { 0, "ms0" }, + { 1, "ms5" }, + { 2, "ms10" }, + { 3, "ms15" }, + { 4, "ms20" }, + { 5, "ms25" }, + { 6, "ms30" }, + { 7, "ms35" }, + { 8, "ms40" }, + { 9, "ms45" }, + { 10, "ms50" }, + { 11, "ms55" }, + { 12, "ms60" }, + { 13, "ms65" }, + { 14, "ms70" }, + { 15, "ms75" }, + { 16, "ms80" }, + { 17, "ms85" }, + { 18, "ms90" }, + { 19, "ms95" }, + { 20, "ms100" }, + { 21, "ms110" }, + { 22, "ms120" }, + { 23, "ms130" }, + { 24, "ms140" }, + { 25, "ms150" }, + { 26, "ms160" }, + { 27, "ms170" }, + { 28, "ms180" }, + { 29, "ms190" }, + { 30, "ms200" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_Reordering_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_Reordering_vals); + + +static int +dissect_lte_rrc_T_Reordering(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, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_StatusProhibit_vals[] = { + { 0, "ms0" }, + { 1, "ms5" }, + { 2, "ms10" }, + { 3, "ms15" }, + { 4, "ms20" }, + { 5, "ms25" }, + { 6, "ms30" }, + { 7, "ms35" }, + { 8, "ms40" }, + { 9, "ms45" }, + { 10, "ms50" }, + { 11, "ms55" }, + { 12, "ms60" }, + { 13, "ms65" }, + { 14, "ms70" }, + { 15, "ms75" }, + { 16, "ms80" }, + { 17, "ms85" }, + { 18, "ms90" }, + { 19, "ms95" }, + { 20, "ms100" }, + { 21, "ms105" }, + { 22, "ms110" }, + { 23, "ms115" }, + { 24, "ms120" }, + { 25, "ms125" }, + { 26, "ms130" }, + { 27, "ms135" }, + { 28, "ms140" }, + { 29, "ms145" }, + { 30, "ms150" }, + { 31, "ms155" }, + { 32, "ms160" }, + { 33, "ms165" }, + { 34, "ms170" }, + { 35, "ms175" }, + { 36, "ms180" }, + { 37, "ms185" }, + { 38, "ms190" }, + { 39, "ms195" }, + { 40, "ms200" }, + { 41, "ms205" }, + { 42, "ms210" }, + { 43, "ms215" }, + { 44, "ms220" }, + { 45, "ms225" }, + { 46, "ms230" }, + { 47, "ms235" }, + { 48, "ms240" }, + { 49, "ms245" }, + { 50, "ms250" }, + { 51, "ms300" }, + { 52, "ms350" }, + { 53, "ms400" }, + { 54, "ms450" }, + { 55, "ms500" }, + { 56, "spare8" }, + { 57, "spare7" }, + { 58, "spare6" }, + { 59, "spare5" }, + { 60, "spare4" }, + { 61, "spare3" }, + { 62, "spare2" }, + { 63, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_StatusProhibit_vals); + + +static int +dissect_lte_rrc_T_StatusProhibit(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, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DL_AM_RLC_sequence[] = { + { &hf_lte_rrc_t_Reordering, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reordering }, + { &hf_lte_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_StatusProhibit }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DL_AM_RLC, DL_AM_RLC_sequence); + + return offset; +} + + +static const per_sequence_t T_am_sequence[] = { + { &hf_lte_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_AM_RLC }, + { &hf_lte_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_AM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_am, T_am_sequence); + + return offset; +} + + +static const value_string lte_rrc_SN_FieldLength_vals[] = { + { 0, "size5" }, + { 1, "size10" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_SN_FieldLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, &value, FALSE, 0, NULL); + + if (mapping != NULL) { + mapping->um_sn_length = (value==0) ? 5 : 10; + mapping->um_sn_length_present = TRUE; + } + + + return offset; +} + + +static const per_sequence_t UL_UM_RLC_sequence[] = { + { &hf_lte_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SN_FieldLength }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UL_UM_RLC, UL_UM_RLC_sequence); + + return offset; +} + + +static const per_sequence_t DL_UM_RLC_sequence[] = { + { &hf_lte_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SN_FieldLength }, + { &hf_lte_rrc_t_Reordering, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reordering }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DL_UM_RLC, DL_UM_RLC_sequence); + + return offset; +} + + +static const per_sequence_t T_um_Bi_Directional_sequence[] = { + { &hf_lte_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_UM_RLC }, + { &hf_lte_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence); + + return offset; +} + + +static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = { + { &hf_lte_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence); + + return offset; +} + + +static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = { + { &hf_lte_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_UM_RLC }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence); + + return offset; +} + + +static const value_string lte_rrc_RLC_Config_vals[] = { + { 0, "am" }, + { 1, "um-Bi-Directional" }, + { 2, "um-Uni-Directional-UL" }, + { 3, "um-Uni-Directional-DL" }, + { 0, NULL } +}; + +static const per_choice_t RLC_Config_choice[] = { + { 0, &hf_lte_rrc_am , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_am }, + { 1, &hf_lte_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Bi_Directional }, + { 2, &hf_lte_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Uni_Directional_UL }, + { 3, &hf_lte_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Uni_Directional_DL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RLC_Config, RLC_Config_choice, + &value); + + if (mapping != NULL) { + mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; + mapping->rlcMode_present = TRUE; + + if (mapping->rlcMode == RLC_AM_MODE) { + mapping->pdcp_sn_size = 12; + mapping->pdcp_sn_size_present = TRUE; + } + } + + + return offset; +} + + +static const value_string lte_rrc_T_rlc_Config_vals[] = { + { 0, "explicitValue" }, + { 1, "defaultValue" }, + { 0, NULL } +}; + +static const per_choice_t T_rlc_Config_choice[] = { + { 0, &hf_lte_rrc_explicitValue_04, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RLC_Config }, + { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rlc_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rlc_Config, T_rlc_Config_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_priority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16U, &value, FALSE); + + if (mapping != NULL) { + mapping->ul_priority = value; + mapping->ul_priority_present = TRUE; + } + + + return offset; +} + + +static const value_string lte_rrc_T_prioritisedBitRate_vals[] = { + { 0, "kBps0" }, + { 1, "kBps8" }, + { 2, "kBps16" }, + { 3, "kBps32" }, + { 4, "kBps64" }, + { 5, "kBps128" }, + { 6, "kBps256" }, + { 7, "infinity" }, + { 8, "kBps512-v1020" }, + { 9, "kBps1024-v1020" }, + { 10, "kBps2048-v1020" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_prioritisedBitRate(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_bucketSizeDuration_vals[] = { + { 0, "ms50" }, + { 1, "ms100" }, + { 2, "ms150" }, + { 3, "ms300" }, + { 4, "ms500" }, + { 5, "ms1000" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_bucketSizeDuration(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 3U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_ul_SpecificParameters_sequence[] = { + { &hf_lte_rrc_priority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_priority }, + { &hf_lte_rrc_prioritisedBitRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_prioritisedBitRate }, + { &hf_lte_rrc_bucketSizeDuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_bucketSizeDuration }, + { &hf_lte_rrc_logicalChannelGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_logicalChannelSR_Mask_r9_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_logicalChannelSR_Mask_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t LogicalChannelConfig_eag_1_sequence[] = { + { &hf_lte_rrc_logicalChannelSR_Mask_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelSR_Mask_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_LogicalChannelConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogicalChannelConfig_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t LogicalChannelConfig_eag_2_sequence[] = { + { &hf_lte_rrc_logicalChannelSR_Prohibit_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_LogicalChannelConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogicalChannelConfig_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t LogicalChannelConfig_sequence[] = { + { &hf_lte_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_SpecificParameters }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_LogicalChannelConfig_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_LogicalChannelConfig_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_logicalChannelConfig_vals[] = { + { 0, "explicitValue" }, + { 1, "defaultValue" }, + { 0, NULL } +}; + +static const per_choice_t T_logicalChannelConfig_choice[] = { + { 0, &hf_lte_rrc_explicitValue_05, ASN1_NO_EXTENSIONS , dissect_lte_rrc_LogicalChannelConfig }, + { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_logicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_logicalChannelConfig, T_logicalChannelConfig_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SRB_ToAddMod_sequence[] = { + { &hf_lte_rrc_srb_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_2 }, + { &hf_lte_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_Config }, + { &hf_lte_rrc_logicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelConfig }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence); + + return offset; +} + + +static const per_sequence_t SRB_ToAddModList_sequence_of[1] = { + { &hf_lte_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRB_ToAddMod }, +}; + +static int +dissect_lte_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of, + 1, 2, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 32U, &value, FALSE); + + if (mapping != NULL) { + mapping->drbid = (guint8)value; + } + + + return offset; +} + + +static const value_string lte_rrc_T_discardTimer_vals[] = { + { 0, "ms50" }, + { 1, "ms100" }, + { 2, "ms150" }, + { 3, "ms300" }, + { 4, "ms500" }, + { 5, "ms750" }, + { 6, "ms1500" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discardTimer(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_rlc_AM_sequence[] = { + { &hf_lte_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rlc_AM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rlc_AM, T_rlc_AM_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_pdcp_SN_Size_vals[] = { + { 0, "len7bits" }, + { 1, "len12bits" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pdcp_SN_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, &value, FALSE, 0, NULL); + + if (mapping != NULL) { + mapping->pdcp_sn_size = (value==0) ? 7 : 12; + mapping->pdcp_sn_size_present = TRUE; + } + + + return offset; +} + + +static const per_sequence_t T_rlc_UM_sequence[] = { + { &hf_lte_rrc_pdcp_SN_Size, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pdcp_SN_Size }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rlc_UM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rlc_UM, T_rlc_UM_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16383U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_profiles_sequence[] = { + { &hf_lte_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_profiles, T_profiles_sequence); + + return offset; +} + + +static const per_sequence_t T_rohc_sequence[] = { + { &hf_lte_rrc_maxCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_16383 }, + { &hf_lte_rrc_profiles , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_profiles }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rohc, T_rohc_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_headerCompression_vals[] = { + { 0, "notUsed" }, + { 1, "rohc" }, + { 0, NULL } +}; + +static const per_choice_t T_headerCompression_choice[] = { + { 0, &hf_lte_rrc_notUsed , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_rohc , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_rohc }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_headerCompression, T_headerCompression_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_rn_IntegrityProtection_r10_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_rn_IntegrityProtection_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PDCP_Config_eag_1_sequence[] = { + { &hf_lte_rrc_rn_IntegrityProtection_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rn_IntegrityProtection_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_pdcp_SN_Size_v1130_vals[] = { + { 0, "len15bits" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pdcp_SN_Size_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + if (mapping != NULL) { + mapping->pdcp_sn_size = 15; + mapping->pdcp_sn_size_present = TRUE; + } + + + return offset; +} + + +static const per_sequence_t PDCP_Config_eag_2_sequence[] = { + { &hf_lte_rrc_pdcp_SN_Size_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pdcp_SN_Size_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDCP_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_2_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_t_Reordering_r12_vals[] = { + { 0, "ms0" }, + { 1, "ms20" }, + { 2, "ms40" }, + { 3, "ms60" }, + { 4, "ms80" }, + { 5, "ms100" }, + { 6, "ms120" }, + { 7, "ms140" }, + { 8, "ms160" }, + { 9, "ms180" }, + { 10, "ms200" }, + { 11, "ms220" }, + { 12, "ms240" }, + { 13, "ms260" }, + { 14, "ms280" }, + { 15, "ms300" }, + { 16, "ms500" }, + { 17, "ms750" }, + { 18, "spare14" }, + { 19, "spare13" }, + { 20, "spare12" }, + { 21, "spare11" }, + { 22, "spare10" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_t_Reordering_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_t_Reordering_r12_vals); + + +static int +dissect_lte_rrc_T_t_Reordering_r12(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, + 32, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PDCP_Config_eag_3_sequence[] = { + { &hf_lte_rrc_ul_DataSplitDRB_ViaSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_t_Reordering_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_t_Reordering_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDCP_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t PDCP_Config_sequence[] = { + { &hf_lte_rrc_discardTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_discardTimer }, + { &hf_lte_rrc_rlc_AM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_AM }, + { &hf_lte_rrc_rlc_UM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_UM }, + { &hf_lte_rrc_headerCompression, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_headerCompression }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PDCP_Config, PDCP_Config_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_logicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 3U, 10U, &value, FALSE); + + if (mapping != NULL) { + mapping->lcid = (guint8)value; + mapping->lcid_present = TRUE; + } + + + return offset; +} + + +static const value_string lte_rrc_T_drb_TypeChange_r12_vals[] = { + { 0, "toMCG" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_drb_TypeChange_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_ul_extended_RLC_LI_Field_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + gboolean ext_li_field; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &ext_li_field); + + if (mapping != NULL) { + mapping->rlc_ul_ext_li_field = ext_li_field; + } + + + return offset; +} + + + +static int +dissect_lte_rrc_T_dl_extended_RLC_LI_Field_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + gboolean ext_li_field; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); + offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &ext_li_field); + + if (mapping != NULL) { + mapping->rlc_dl_ext_li_field = ext_li_field; + } + + + return offset; +} + + +static const per_sequence_t RLC_Config_v1250_sequence[] = { + { &hf_lte_rrc_ul_extended_RLC_LI_Field_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ul_extended_RLC_LI_Field_r12 }, + { &hf_lte_rrc_dl_extended_RLC_LI_Field_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_extended_RLC_LI_Field_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RLC_Config_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RLC_Config_v1250, RLC_Config_v1250_sequence); + + return offset; +} + + +static const per_sequence_t DRB_ToAddMod_eag_1_sequence[] = { + { &hf_lte_rrc_drb_TypeChange_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_TypeChange_r12 }, + { &hf_lte_rrc_rlc_Config_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DRB_ToAddMod_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DRB_ToAddMod_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t DRB_ToAddMod_sequence[] = { + { &hf_lte_rrc_eps_BearerIdentity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_drb_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, + { &hf_lte_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDCP_Config }, + { &hf_lte_rrc_rlc_Config_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config }, + { &hf_lte_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelIdentity }, + { &hf_lte_rrc_logicalChannelConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_LogicalChannelConfig }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddMod_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + struct mac_lte_info *p_mac_lte_info; + struct rlc_lte_info *p_rlc_lte_info; + /* Get the struct and clear it out */ + drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx); + memset(drb_mapping, 0, sizeof(*drb_mapping)); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence); + + /* Need UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info) { + drb_mapping->ueid = p_mac_lte_info->ueid; + /* Tell MAC about this mapping */ + set_mac_lte_channel_mapping(drb_mapping); + } + + /* Also tell RLC how many PDCP sequence number bits and wether it should use extended LI */ + p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0); + if (p_rlc_lte_info) { + if (drb_mapping->pdcp_sn_size_present) { + set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo, + p_rlc_lte_info->ueid, + drb_mapping->drbid, + drb_mapping->pdcp_sn_size); + } + if (drb_mapping->rlcMode_present) { + set_rlc_lte_drb_li_field(actx->pinfo, + p_rlc_lte_info->ueid, + drb_mapping->drbid, + drb_mapping->rlc_ul_ext_li_field, + drb_mapping->rlc_dl_ext_li_field); + } + } + + /* Clear out the struct again */ + memset(&drb_mapping, 0, sizeof(drb_mapping)); + + + + return offset; +} + + +static const per_sequence_t DRB_ToAddModList_sequence_of[1] = { + { &hf_lte_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddMod }, +}; + +static int +dissect_lte_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of, + 1, maxDRB, FALSE); + + return offset; +} + + +static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = { + { &hf_lte_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, +}; + +static int +dissect_lte_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of, + 1, maxDRB, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_maxHARQ_Tx_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n7" }, + { 7, "n8" }, + { 8, "n10" }, + { 9, "n12" }, + { 10, "n16" }, + { 11, "n20" }, + { 12, "n24" }, + { 13, "n28" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_maxHARQ_Tx(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_PeriodicBSR_Timer_r12_vals[] = { + { 0, "sf5" }, + { 1, "sf10" }, + { 2, "sf16" }, + { 3, "sf20" }, + { 4, "sf32" }, + { 5, "sf40" }, + { 6, "sf64" }, + { 7, "sf80" }, + { 8, "sf128" }, + { 9, "sf160" }, + { 10, "sf320" }, + { 11, "sf640" }, + { 12, "sf1280" }, + { 13, "sf2560" }, + { 14, "infinity" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_PeriodicBSR_Timer_r12(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_RetxBSR_Timer_r12_vals[] = { + { 0, "sf320" }, + { 1, "sf640" }, + { 2, "sf1280" }, + { 3, "sf2560" }, + { 4, "sf5120" }, + { 5, "sf10240" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_RetxBSR_Timer_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_ul_SCH_Config_sequence[] = { + { &hf_lte_rrc_maxHARQ_Tx , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_maxHARQ_Tx }, + { &hf_lte_rrc_periodicBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PeriodicBSR_Timer_r12 }, + { &hf_lte_rrc_retxBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RetxBSR_Timer_r12 }, + { &hf_lte_rrc_ttiBundling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ul_SCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ul_SCH_Config, T_ul_SCH_Config_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + mac_lte_info* p_mac_lte_info; + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); + + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* If found, tell MAC to release DRX config */ + set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo); + } + + + return offset; +} + + +static const value_string lte_rrc_T_onDurationTimer_vals[] = { + { 0, "psf1" }, + { 1, "psf2" }, + { 2, "psf3" }, + { 3, "psf4" }, + { 4, "psf5" }, + { 5, "psf6" }, + { 6, "psf8" }, + { 7, "psf10" }, + { 8, "psf20" }, + { 9, "psf30" }, + { 10, "psf40" }, + { 11, "psf50" }, + { 12, "psf60" }, + { 13, "psf80" }, + { 14, "psf100" }, + { 15, "psf200" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, &value, FALSE, 0, NULL); + + /* Set 'configured' state so that config can be examine once complete! */ + config->configured = TRUE; + config->onDurationTimer = drx_lookup_onDurationTimer(value); + + + return offset; +} + + +static const value_string lte_rrc_T_drx_InactivityTimer_vals[] = { + { 0, "psf1" }, + { 1, "psf2" }, + { 2, "psf3" }, + { 3, "psf4" }, + { 4, "psf5" }, + { 5, "psf6" }, + { 6, "psf8" }, + { 7, "psf10" }, + { 8, "psf20" }, + { 9, "psf30" }, + { 10, "psf40" }, + { 11, "psf50" }, + { 12, "psf60" }, + { 13, "psf80" }, + { 14, "psf100" }, + { 15, "psf200" }, + { 16, "psf300" }, + { 17, "psf500" }, + { 18, "psf750" }, + { 19, "psf1280" }, + { 20, "psf1920" }, + { 21, "psf2560" }, + { 22, "psf0-v1020" }, + { 23, "spare9" }, + { 24, "spare8" }, + { 25, "spare7" }, + { 26, "spare6" }, + { 27, "spare5" }, + { 28, "spare4" }, + { 29, "spare3" }, + { 30, "spare2" }, + { 31, "spare1" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_drx_InactivityTimer_vals); + + +static int +dissect_lte_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 32, &value, FALSE, 0, NULL); + + config->inactivityTimer = drx_lookup_inactivityTimer(value); + + + return offset; +} + + +static const value_string lte_rrc_T_drx_RetransmissionTimer_vals[] = { + { 0, "psf1" }, + { 1, "psf2" }, + { 2, "psf4" }, + { 3, "psf6" }, + { 4, "psf8" }, + { 5, "psf16" }, + { 6, "psf24" }, + { 7, "psf33" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_drx_RetransmissionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, &value, FALSE, 0, NULL); + + config->retransmissionTimer = drx_lookup_retransmissionTimer(value); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 9U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 19U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 31U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 39U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 63U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 79U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 127U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 159U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 319U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 511U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 639U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf1280(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1279U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2047U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf2560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2559U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + +static const value_string lte_rrc_T_longDRX_CycleStartOffset_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf32" }, + { 3, "sf40" }, + { 4, "sf64" }, + { 5, "sf80" }, + { 6, "sf128" }, + { 7, "sf160" }, + { 8, "sf256" }, + { 9, "sf320" }, + { 10, "sf512" }, + { 11, "sf640" }, + { 12, "sf1024" }, + { 13, "sf1280" }, + { 14, "sf2048" }, + { 15, "sf2560" }, + { 0, NULL } +}; + +static const per_choice_t T_longDRX_CycleStartOffset_choice[] = { + { 0, &hf_lte_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf10 }, + { 1, &hf_lte_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf20 }, + { 2, &hf_lte_rrc_sf32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf32 }, + { 3, &hf_lte_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf40 }, + { 4, &hf_lte_rrc_sf64 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf64 }, + { 5, &hf_lte_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf80 }, + { 6, &hf_lte_rrc_sf128 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf128 }, + { 7, &hf_lte_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf160 }, + { 8, &hf_lte_rrc_sf256 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf256 }, + { 9, &hf_lte_rrc_sf320 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf320 }, + { 10, &hf_lte_rrc_sf512 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf512 }, + { 11, &hf_lte_rrc_sf640 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf640 }, + { 12, &hf_lte_rrc_sf1024 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf1024 }, + { 13, &hf_lte_rrc_sf1280 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf1280 }, + { 14, &hf_lte_rrc_sf2048 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf2048 }, + { 15, &hf_lte_rrc_sf2560 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf2560 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_longDRX_CycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_longDRX_CycleStartOffset, T_longDRX_CycleStartOffset_choice, + &value); + + config->longCycle = drx_lookup_longCycle(value); + + + return offset; +} + + +static const value_string lte_rrc_T_shortDRX_Cycle_vals[] = { + { 0, "sf2" }, + { 1, "sf5" }, + { 2, "sf8" }, + { 3, "sf10" }, + { 4, "sf16" }, + { 5, "sf20" }, + { 6, "sf32" }, + { 7, "sf40" }, + { 8, "sf64" }, + { 9, "sf80" }, + { 10, "sf128" }, + { 11, "sf160" }, + { 12, "sf256" }, + { 13, "sf320" }, + { 14, "sf512" }, + { 15, "sf640" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 16, &value, FALSE, 0, NULL); + + config->shortCycleConfigured = TRUE; + config->shortCycle = drx_lookup_shortCycle(value); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_drxShortCycleTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 timer; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 16U, &timer, FALSE); + + config->shortCycleTimer = timer; + + + proto_item_append_text(actx->created_item, " shortDRX-Cycle%s", plurality(timer, "", "s")); + + return offset; +} + + +static const per_sequence_t T_shortDRX_sequence[] = { + { &hf_lte_rrc_shortDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_shortDRX_Cycle }, + { &hf_lte_rrc_drxShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drxShortCycleTimer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_shortDRX, T_shortDRX_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_24_sequence[] = { + { &hf_lte_rrc_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_onDurationTimer }, + { &hf_lte_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drx_InactivityTimer }, + { &hf_lte_rrc_drx_RetransmissionTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drx_RetransmissionTimer }, + { &hf_lte_rrc_longDRX_CycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_longDRX_CycleStartOffset }, + { &hf_lte_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_shortDRX }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_24, T_setup_24_sequence); + + return offset; +} + + +static const value_string lte_rrc_DRX_Config_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t DRX_Config_choice[] = { + { 0, &hf_lte_rrc_release_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_release }, + { 1, &hf_lte_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_24 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRX_Config, DRX_Config_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_TimeAlignmentTimer_vals[] = { + { 0, "sf500" }, + { 1, "sf750" }, + { 2, "sf1280" }, + { 3, "sf1920" }, + { 4, "sf2560" }, + { 5, "sf5120" }, + { 6, "sf10240" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_TimeAlignmentTimer(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_periodicPHR_Timer_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf50" }, + { 3, "sf100" }, + { 4, "sf200" }, + { 5, "sf500" }, + { 6, "sf1000" }, + { 7, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_periodicPHR_Timer(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_prohibitPHR_Timer_vals[] = { + { 0, "sf0" }, + { 1, "sf10" }, + { 2, "sf20" }, + { 3, "sf50" }, + { 4, "sf100" }, + { 5, "sf200" }, + { 6, "sf500" }, + { 7, "sf1000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_prohibitPHR_Timer(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_dl_PathlossChange_vals[] = { + { 0, "dB1" }, + { 1, "dB3" }, + { 2, "dB6" }, + { 3, "infinity" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_dl_PathlossChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_21_sequence[] = { + { &hf_lte_rrc_periodicPHR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicPHR_Timer }, + { &hf_lte_rrc_prohibitPHR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_prohibitPHR_Timer }, + { &hf_lte_rrc_dl_PathlossChange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_PathlossChange }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_21, T_setup_21_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_phr_Config_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_phr_Config_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_21 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_phr_Config, T_phr_Config_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_sr_ProhibitTimer_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 timer; + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7U, &timer, FALSE); + + + + proto_item_append_text(actx->created_item, " SR period%s", (timer > 1) ? "s" : ""); + + return offset; +} + + +static const per_sequence_t MAC_MainConfig_eag_1_sequence[] = { + { &hf_lte_rrc_sr_ProhibitTimer_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sr_ProhibitTimer_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_sCellDeactivationTimer_r10_vals[] = { + { 0, "rf2" }, + { 1, "rf4" }, + { 2, "rf8" }, + { 3, "rf16" }, + { 4, "rf32" }, + { 5, "rf64" }, + { 6, "rf128" }, + { 7, "spare" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_sCellDeactivationTimer_r10(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_extendedBSR_Sizes_r10_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_extendedBSR_Sizes_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + mac_lte_info* p_mac_lte_info; + + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* Tell MAC to use extended BSR sizes configuration */ + set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, TRUE, actx->pinfo); + } + + + return offset; +} + + +static const value_string lte_rrc_T_extendedPHR_r10_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_extendedPHR_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_mac_MainConfig_v1020_sequence[] = { + { &hf_lte_rrc_sCellDeactivationTimer_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sCellDeactivationTimer_r10 }, + { &hf_lte_rrc_extendedBSR_Sizes_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedBSR_Sizes_r10 }, + { &hf_lte_rrc_extendedPHR_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedPHR_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_mac_MainConfig_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_mac_MainConfig_v1020, T_mac_MainConfig_v1020_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfig_eag_2_sequence[] = { + { &hf_lte_rrc_mac_MainConfig_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mac_MainConfig_v1020 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_2_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_STAG_Id_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxSTAG_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t STAG_ToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_STAG_ToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_Id_r11 }, +}; + +static int +dissect_lte_rrc_STAG_ToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_STAG_ToReleaseList_r11, STAG_ToReleaseList_r11_sequence_of, + 1, maxSTAG_r11, FALSE); + + return offset; +} + + +static const per_sequence_t STAG_ToAddMod_r11_sequence[] = { + { &hf_lte_rrc_stag_Id_r11 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_Id_r11 }, + { &hf_lte_rrc_timeAlignmentTimerSTAG_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeAlignmentTimer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_STAG_ToAddMod_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_STAG_ToAddMod_r11, STAG_ToAddMod_r11_sequence); + + return offset; +} + + +static const per_sequence_t STAG_ToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_STAG_ToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_ToAddMod_r11 }, +}; + +static int +dissect_lte_rrc_STAG_ToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_STAG_ToAddModList_r11, STAG_ToAddModList_r11_sequence_of, + 1, maxSTAG_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_drx_RetransmissionTimer_v1130_vals[] = { + { 0, "psf0-v1130" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_drx_RetransmissionTimer_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, &value, FALSE, 0, NULL); + + config->retransmissionTimer = 0; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf60_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 59U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + + +static int +dissect_lte_rrc_T_sf70_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 69U, &value, FALSE); + + config->cycleOffset = value; + + + return offset; +} + + +static const value_string lte_rrc_T_longDRX_CycleStartOffset_v1130_vals[] = { + { 0, "sf60-v1130" }, + { 1, "sf70-v1130" }, + { 0, NULL } +}; + +static const per_choice_t T_longDRX_CycleStartOffset_v1130_choice[] = { + { 0, &hf_lte_rrc_sf60_v1130 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf60_v1130 }, + { 1, &hf_lte_rrc_sf70_v1130 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf70_v1130 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_longDRX_CycleStartOffset_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_longDRX_CycleStartOffset_v1130, T_longDRX_CycleStartOffset_v1130_choice, + &value); + + config->longCycle = drx_lookup_longCycle_v1130(value); + + + return offset; +} + + +static const value_string lte_rrc_T_shortDRX_Cycle_v1130_vals[] = { + { 0, "sf4-v1130" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_shortDRX_Cycle_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, &value, FALSE, 0, NULL); + + /* Presumably config->shortCycleConfigured will be set... */ + config->shortCycle = 4; + + + return offset; +} + + +static const per_sequence_t DRX_Config_v1130_sequence[] = { + { &hf_lte_rrc_drx_RetransmissionTimer_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drx_RetransmissionTimer_v1130 }, + { &hf_lte_rrc_longDRX_CycleStartOffset_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_longDRX_CycleStartOffset_v1130 }, + { &hf_lte_rrc_shortDRX_Cycle_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_shortDRX_Cycle_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DRX_Config_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRX_Config_v1130, DRX_Config_v1130_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfig_eag_3_sequence[] = { + { &hf_lte_rrc_stag_ToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_STAG_ToReleaseList_r11 }, + { &hf_lte_rrc_stag_ToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_STAG_ToAddModList_r11 }, + { &hf_lte_rrc_drx_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DRX_Config_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_3_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_phr_ModeOtherCG_r12_vals[] = { + { 0, "real" }, + { 1, "virtual" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_phr_ModeOtherCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_22_sequence[] = { + { &hf_lte_rrc_phr_ModeOtherCG_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_phr_ModeOtherCG_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_22, T_setup_22_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_dualConnectivityPHR_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_dualConnectivityPHR_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_22 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_dualConnectivityPHR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_dualConnectivityPHR, T_dualConnectivityPHR_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_logicalChannelSR_ProhibitTimer_r12_vals[] = { + { 0, "sf20" }, + { 1, "sf40" }, + { 2, "sf64" }, + { 3, "sf128" }, + { 4, "sf512" }, + { 5, "sf1024" }, + { 6, "sf2560" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_logicalChannelSR_ProhibitTimer_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_23_sequence[] = { + { &hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_logicalChannelSR_ProhibitTimer_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_23, T_setup_23_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_logicalChannelSR_Config_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_logicalChannelSR_Config_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_23 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_logicalChannelSR_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_logicalChannelSR_Config_r12, T_logicalChannelSR_Config_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MAC_MainConfig_eag_4_sequence[] = { + { &hf_lte_rrc_e_HARQ_Pattern_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_dualConnectivityPHR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dualConnectivityPHR }, + { &hf_lte_rrc_logicalChannelSR_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelSR_Config_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_4_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfig_sequence[] = { + { &hf_lte_rrc_ul_SCH_Config, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_SCH_Config }, + { &hf_lte_rrc_drx_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRX_Config }, + { &hf_lte_rrc_timeAlignmentTimerDedicated, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeAlignmentTimer }, + { &hf_lte_rrc_phr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_phr_Config }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_3 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + /* Accumulate values in drx_config while dissecting DRX config. + Do this here rather than down in DRX-Config so that we will see + fields overwritten in the R11 extension */ + drx_config_t *drx_config = private_data_get_drx_config(actx); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MAC_MainConfig, MAC_MainConfig_sequence); + + if (drx_config->configured) { + mac_lte_info* p_mac_lte_info; + + /* Verify that config is valid */ + drx_check_config_sane(drx_config, actx); + + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* If found, configure MAC with DRX config */ + set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo); + } + + /* Clear out state */ + drx_config->configured = FALSE; + } + + + + return offset; +} + + +static const value_string lte_rrc_T_mac_MainConfig_vals[] = { + { 0, "explicitValue" }, + { 1, "defaultValue" }, + { 0, NULL } +}; + +static const per_choice_t T_mac_MainConfig_choice[] = { + { 0, &hf_lte_rrc_explicitValue_03, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MAC_MainConfig }, + { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_mac_MainConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_mac_MainConfig, T_mac_MainConfig_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_semiPersistSchedIntervalDL_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf32" }, + { 3, "sf40" }, + { 4, "sf64" }, + { 5, "sf80" }, + { 6, "sf128" }, + { 7, "sf160" }, + { 8, "sf320" }, + { 9, "sf640" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_semiPersistSchedIntervalDL(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 2047U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t N1PUCCH_AN_PersistentList_sequence_of[1] = { + { &hf_lte_rrc_N1PUCCH_AN_PersistentList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, +}; + +static int +dissect_lte_rrc_N1PUCCH_AN_PersistentList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_N1PUCCH_AN_PersistentList, N1PUCCH_AN_PersistentList_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_44_sequence[] = { + { &hf_lte_rrc_n1PUCCH_AN_PersistentListP1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_PersistentList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_44, T_setup_44_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_twoAntennaPortActivated_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_twoAntennaPortActivated_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_50 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_44 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_twoAntennaPortActivated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_twoAntennaPortActivated_r10, T_twoAntennaPortActivated_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eag_1_sequence[] = { + { &hf_lte_rrc_twoAntennaPortActivated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivated_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_43_sequence[] = { + { &hf_lte_rrc_semiPersistSchedIntervalDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_semiPersistSchedIntervalDL }, + { &hf_lte_rrc_numberOfConfSPS_Processes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_8 }, + { &hf_lte_rrc_n1PUCCH_AN_PersistentList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_PersistentList }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_43, T_setup_43_sequence); + + return offset; +} + + +static const value_string lte_rrc_SPS_ConfigDL_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t SPS_ConfigDL_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_43 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SPS_ConfigDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SPS_ConfigDL, SPS_ConfigDL_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_semiPersistSchedIntervalUL_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf32" }, + { 3, "sf40" }, + { 4, "sf64" }, + { 5, "sf80" }, + { 6, "sf128" }, + { 7, "sf160" }, + { 8, "sf320" }, + { 9, "sf640" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_semiPersistSchedIntervalUL(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_implicitReleaseAfter_vals[] = { + { 0, "e2" }, + { 1, "e3" }, + { 2, "e4" }, + { 3, "e8" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_implicitReleaseAfter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_NominalPUSCH_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -126, 24U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUSCH_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t T_p0_Persistent_sequence[] = { + { &hf_lte_rrc_p0_NominalPUSCH_Persistent, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_Persistent }, + { &hf_lte_rrc_p0_UE_PUSCH_Persistent, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_Persistent }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_p0_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_p0_Persistent, T_p0_Persistent_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_twoIntervalsConfig_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_twoIntervalsConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_NominalPUSCH_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -126, 24U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUSCH_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t T_setup_46_sequence[] = { + { &hf_lte_rrc_p0_NominalPUSCH_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_PersistentSubframeSet2_r12 }, + { &hf_lte_rrc_p0_UE_PUSCH_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_PersistentSubframeSet2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_46, T_setup_46_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_p0_PersistentSubframeSet2_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_p0_PersistentSubframeSet2_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_52 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_46 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_p0_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_p0_PersistentSubframeSet2_r12, T_p0_PersistentSubframeSet2_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_eag_1_01_sequence[] = { + { &hf_lte_rrc_p0_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_p0_PersistentSubframeSet2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_45_sequence[] = { + { &hf_lte_rrc_semiPersistSchedIntervalUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_semiPersistSchedIntervalUL }, + { &hf_lte_rrc_implicitReleaseAfter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_implicitReleaseAfter }, + { &hf_lte_rrc_p0_Persistent, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_p0_Persistent }, + { &hf_lte_rrc_twoIntervalsConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_twoIntervalsConfig }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eag_1_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_45, T_setup_45_sequence); + + return offset; +} + + +static const value_string lte_rrc_SPS_ConfigUL_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t SPS_ConfigUL_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_51 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_45 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SPS_ConfigUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SPS_ConfigUL, SPS_ConfigUL_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SPS_Config_sequence[] = { + { &hf_lte_rrc_semiPersistSchedC_RNTI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_C_RNTI }, + { &hf_lte_rrc_sps_ConfigDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SPS_ConfigDL }, + { &hf_lte_rrc_sps_ConfigUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SPS_ConfigUL }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SPS_Config, SPS_Config_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_p_a_vals[] = { + { 0, "dB-6" }, + { 1, "dB-4dot77" }, + { 2, "dB-3" }, + { 3, "dB-1dot77" }, + { 4, "dB0" }, + { 5, "dB1" }, + { 6, "dB2" }, + { 7, "dB3" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_p_a(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PDSCH_ConfigDedicated_sequence[] = { + { &hf_lte_rrc_p_a , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_a }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDSCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PDSCH_ConfigDedicated, PDSCH_ConfigDedicated_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_repetitionFactor_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n6" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_27_sequence[] = { + { &hf_lte_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_repetitionFactor }, + { &hf_lte_rrc_n1PUCCH_AN_Rep, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_27, T_setup_27_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_ackNackRepetition_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ackNackRepetition_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_27 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ackNackRepetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ackNackRepetition, T_ackNackRepetition_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_tdd_AckNackFeedbackMode_vals[] = { + { 0, "bundling" }, + { 1, "multiplexing" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_tdd_AckNackFeedbackMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_ConfigDedicated_sequence[] = { + { &hf_lte_rrc_ackNackRepetition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ackNackRepetition }, + { &hf_lte_rrc_tdd_AckNackFeedbackMode, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_tdd_AckNackFeedbackMode }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUCCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUCCH_ConfigDedicated, PUCCH_ConfigDedicated_sequence); + + return offset; +} + + +static const per_sequence_t PUSCH_ConfigDedicated_sequence[] = { + { &hf_lte_rrc_betaOffset_ACK_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_RI_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_CQI_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUSCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUSCH_ConfigDedicated, PUSCH_ConfigDedicated_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const value_string lte_rrc_T_deltaMCS_Enabled_vals[] = { + { 0, "en0" }, + { 1, "en1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaMCS_Enabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t UplinkPowerControlDedicated_sequence[] = { + { &hf_lte_rrc_p0_UE_PUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH }, + { &hf_lte_rrc_deltaMCS_Enabled, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaMCS_Enabled }, + { &hf_lte_rrc_accumulationEnabled, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_p0_UE_PUCCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUCCH }, + { &hf_lte_rrc_pSRS_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlDedicated, UplinkPowerControlDedicated_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 15U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 31U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_TPC_Index_vals[] = { + { 0, "indexOfFormat3" }, + { 1, "indexOfFormat3A" }, + { 0, NULL } +}; + +static const per_choice_t TPC_Index_choice[] = { + { 0, &hf_lte_rrc_indexOfFormat3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_15 }, + { 1, &hf_lte_rrc_indexOfFormat3A, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_31 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_TPC_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_TPC_Index, TPC_Index_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_47_sequence[] = { + { &hf_lte_rrc_tpc_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { &hf_lte_rrc_tpc_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TPC_Index }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_47, T_setup_47_sequence); + + return offset; +} + + +static const value_string lte_rrc_TPC_PDCCH_Config_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t TPC_PDCCH_Config_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_53 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_47 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_TPC_PDCCH_Config, TPC_PDCCH_Config_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_CQI_ReportModeAperiodic_vals[] = { + { 0, "rm12" }, + { 1, "rm20" }, + { 2, "rm22" }, + { 3, "rm30" }, + { 4, "rm31" }, + { 5, "rm32-v1250" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_CQI_ReportModeAperiodic(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -1, 6U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_1185(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1185U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1023U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 4U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_subbandCQI_sequence[] = { + { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subbandCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subbandCQI, T_subbandCQI_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_vals[] = { + { 0, "widebandCQI" }, + { 1, "subbandCQI" }, + { 0, NULL } +}; + +static const per_choice_t T_cqi_FormatIndicatorPeriodic_choice[] = { + { 0, &hf_lte_rrc_widebandCQI , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_subbandCQI , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cqi_FormatIndicatorPeriodic, T_cqi_FormatIndicatorPeriodic_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_06_sequence[] = { + { &hf_lte_rrc_cqi_PUCCH_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1185 }, + { &hf_lte_rrc_cqi_pmi_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_cqi_FormatIndicatorPeriodic, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic }, + { &hf_lte_rrc_ri_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_simultaneousAckNackAndCQI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_06, T_setup_06_sequence); + + return offset; +} + + +static const value_string lte_rrc_CQI_ReportPeriodic_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t CQI_ReportPeriodic_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_06 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodic, CQI_ReportPeriodic_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfig_sequence[] = { + { &hf_lte_rrc_cqi_ReportModeAperiodic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportModeAperiodic }, + { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, + { &hf_lte_rrc_cqi_ReportPeriodic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfig, CQI_ReportConfig_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_srs_Bandwidth_vals[] = { + { 0, "bw0" }, + { 1, "bw1" }, + { 2, "bw2" }, + { 3, "bw3" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_srs_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_srs_HoppingBandwidth_vals[] = { + { 0, "hbw0" }, + { 1, "hbw1" }, + { 2, "hbw2" }, + { 3, "hbw3" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_srs_HoppingBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 23U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + actx->created_item = proto_tree_add_bits_item(tree, hf_index, tvb, offset, 1, ENC_BIG_ENDIAN); + offset++; + + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_cyclicShift_vals[] = { + { 0, "cs0" }, + { 1, "cs1" }, + { 2, "cs2" }, + { 3, "cs3" }, + { 4, "cs4" }, + { 5, "cs5" }, + { 6, "cs6" }, + { 7, "cs7" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cyclicShift(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_40_sequence[] = { + { &hf_lte_rrc_srs_Bandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_Bandwidth }, + { &hf_lte_rrc_srs_HoppingBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_HoppingBandwidth }, + { &hf_lte_rrc_freqDomainPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_23 }, + { &hf_lte_rrc_duration , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_duration }, + { &hf_lte_rrc_srs_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_transmissionComb, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1 }, + { &hf_lte_rrc_cyclicShift_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cyclicShift }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_40, T_setup_40_sequence); + + return offset; +} + + +static const value_string lte_rrc_SoundingRS_UL_ConfigDedicated_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t SoundingRS_UL_ConfigDedicated_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_40 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SoundingRS_UL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SoundingRS_UL_ConfigDedicated, SoundingRS_UL_ConfigDedicated_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_transmissionMode_vals[] = { + { 0, "tm1" }, + { 1, "tm2" }, + { 2, "tm3" }, + { 3, "tm4" }, + { 4, "tm5" }, + { 5, "tm6" }, + { 6, "tm7" }, + { 7, "tm8-v920" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_transmissionMode(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 4, 4, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 6, 6, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 64, 64, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_codebookSubsetRestriction_vals[] = { + { 0, "n2TxAntenna-tm3" }, + { 1, "n4TxAntenna-tm3" }, + { 2, "n2TxAntenna-tm4" }, + { 3, "n4TxAntenna-tm4" }, + { 4, "n2TxAntenna-tm5" }, + { 5, "n4TxAntenna-tm5" }, + { 6, "n2TxAntenna-tm6" }, + { 7, "n4TxAntenna-tm6" }, + { 0, NULL } +}; + +static const per_choice_t T_codebookSubsetRestriction_choice[] = { + { 0, &hf_lte_rrc_n2TxAntenna_tm3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_2 }, + { 1, &hf_lte_rrc_n4TxAntenna_tm3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, + { 2, &hf_lte_rrc_n2TxAntenna_tm4, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, + { 3, &hf_lte_rrc_n4TxAntenna_tm4, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_64 }, + { 4, &hf_lte_rrc_n2TxAntenna_tm5, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, + { 5, &hf_lte_rrc_n4TxAntenna_tm5, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { 6, &hf_lte_rrc_n2TxAntenna_tm6, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, + { 7, &hf_lte_rrc_n4TxAntenna_tm6, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_codebookSubsetRestriction, T_codebookSubsetRestriction_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_setup_02_vals[] = { + { 0, "closedLoop" }, + { 1, "openLoop" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_setup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_ue_TransmitAntennaSelection_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ue_TransmitAntennaSelection_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_TransmitAntennaSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_TransmitAntennaSelection, T_ue_TransmitAntennaSelection_choice, + NULL); + + return offset; +} + + +static const per_sequence_t AntennaInfoDedicated_sequence[] = { + { &hf_lte_rrc_transmissionMode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionMode }, + { &hf_lte_rrc_codebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_codebookSubsetRestriction }, + { &hf_lte_rrc_ue_TransmitAntennaSelection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_TransmitAntennaSelection }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoDedicated, AntennaInfoDedicated_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_antennaInfo_vals[] = { + { 0, "explicitValue" }, + { 1, "defaultValue" }, + { 0, NULL } +}; + +static const per_choice_t T_antennaInfo_choice[] = { + { 0, &hf_lte_rrc_explicitValue_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_AntennaInfoDedicated }, + { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_antennaInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_antennaInfo, T_antennaInfo_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_sr_ConfigIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + guint16 periodicity, subframe_offset; + proto_item *ti; + proto_tree *subtree; + gint index_offset = offset; + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 157U, &value, FALSE); + + /* Break config index into its parts */ + sr_lookup_configindex(value, &periodicity, &subframe_offset); + /* Show parts as generated fields */ + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex); + ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity); + PROTO_ITEM_SET_GENERATED(ti); + ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset); + PROTO_ITEM_SET_GENERATED(ti); + + + + return offset; +} + + +static const value_string lte_rrc_T_dsr_TransMax_vals[] = { + { 0, "n4" }, + { 1, "n8" }, + { 2, "n16" }, + { 3, "n32" }, + { 4, "n64" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_dsr_TransMax(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_38_sequence[] = { + { &hf_lte_rrc_sr_PUCCH_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, + { &hf_lte_rrc_sr_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sr_ConfigIndex }, + { &hf_lte_rrc_dsr_TransMax, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dsr_TransMax }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_38, T_setup_38_sequence); + + return offset; +} + + +static const value_string lte_rrc_SchedulingRequestConfig_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t SchedulingRequestConfig_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_38 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SchedulingRequestConfig, SchedulingRequestConfig_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_Mask_r9_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cqi_Mask_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_pmi_RI_Report_r9_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pmi_RI_Report_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfig_v920_sequence[] = { + { &hf_lte_rrc_cqi_Mask_r9 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cqi_Mask_r9 }, + { &hf_lte_rrc_pmi_RI_Report_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfig_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfig_v920, CQI_ReportConfig_v920_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 32, 32, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_codebookSubsetRestriction_v920_vals[] = { + { 0, "n2TxAntenna-tm8-r9" }, + { 1, "n4TxAntenna-tm8-r9" }, + { 0, NULL } +}; + +static const per_choice_t T_codebookSubsetRestriction_v920_choice[] = { + { 0, &hf_lte_rrc_n2TxAntenna_tm8_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, + { 1, &hf_lte_rrc_n4TxAntenna_tm8_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_32 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_codebookSubsetRestriction_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_codebookSubsetRestriction_v920, T_codebookSubsetRestriction_v920_choice, + NULL); + + return offset; +} + + +static const per_sequence_t AntennaInfoDedicated_v920_sequence[] = { + { &hf_lte_rrc_codebookSubsetRestriction_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_codebookSubsetRestriction_v920 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoDedicated_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoDedicated_v920, AntennaInfoDedicated_v920_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_eag_1_sequence[] = { + { &hf_lte_rrc_cqi_ReportConfig_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v920 }, + { &hf_lte_rrc_antennaInfo_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v920 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_transmissionMode_r10_vals[] = { + { 0, "tm1" }, + { 1, "tm2" }, + { 2, "tm3" }, + { 3, "tm4" }, + { 4, "tm5" }, + { 5, "tm6" }, + { 6, "tm7" }, + { 7, "tm8-v920" }, + { 8, "tm9-v1020" }, + { 9, "tm10-v1130" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_transmissionMode_r10(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_setup_03_vals[] = { + { 0, "closedLoop" }, + { 1, "openLoop" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_setup_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_ue_TransmitAntennaSelection_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ue_TransmitAntennaSelection_01_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_03 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_TransmitAntennaSelection_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_TransmitAntennaSelection_01, T_ue_TransmitAntennaSelection_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t AntennaInfoDedicated_r10_sequence[] = { + { &hf_lte_rrc_transmissionMode_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionMode_r10 }, + { &hf_lte_rrc_codebookSubsetRestriction_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING }, + { &hf_lte_rrc_ue_TransmitAntennaSelection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_TransmitAntennaSelection_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoDedicated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoDedicated_r10, AntennaInfoDedicated_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_antennaInfo_r10_vals[] = { + { 0, "explicitValue-r10" }, + { 1, "defaultValue" }, + { 0, NULL } +}; + +static const per_choice_t T_antennaInfo_r10_choice[] = { + { 0, &hf_lte_rrc_explicitValue_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_AntennaInfoDedicated_r10 }, + { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_antennaInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_antennaInfo_r10, T_antennaInfo_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_transmissionModeUL_r10_vals[] = { + { 0, "tm1" }, + { 1, "tm2" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_transmissionModeUL_r10(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_fourAntennaPortActivated_r10_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_fourAntennaPortActivated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t AntennaInfoUL_r10_sequence[] = { + { &hf_lte_rrc_transmissionModeUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_transmissionModeUL_r10 }, + { &hf_lte_rrc_fourAntennaPortActivated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_fourAntennaPortActivated_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoUL_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoUL_r10, AntennaInfoUL_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_aperiodicCSI_Trigger_r10_sequence[] = { + { &hf_lte_rrc_trigger1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { &hf_lte_rrc_trigger2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_aperiodicCSI_Trigger_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_aperiodicCSI_Trigger_r10, T_aperiodicCSI_Trigger_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_10_sequence[] = { + { &hf_lte_rrc_cqi_ReportModeAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportModeAperiodic }, + { &hf_lte_rrc_aperiodicCSI_Trigger_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_aperiodicCSI_Trigger_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_10, T_setup_10_sequence); + + return offset; +} + + +static const value_string lte_rrc_CQI_ReportAperiodic_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t CQI_ReportAperiodic_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportAperiodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportAperiodic_r10, CQI_ReportAperiodic_r10_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_1184(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1184U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_csi_ReportMode_r10_vals[] = { + { 0, "submode1" }, + { 1, "submode2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_csi_ReportMode_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_widebandCQI_r10_sequence[] = { + { &hf_lte_rrc_csi_ReportMode_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ReportMode_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_widebandCQI_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_widebandCQI_r10, T_widebandCQI_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_periodicityFactor_r10_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_periodicityFactor_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_subbandCQI_r10_sequence[] = { + { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, + { &hf_lte_rrc_periodicityFactor_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicityFactor_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subbandCQI_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subbandCQI_r10, T_subbandCQI_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_r10_vals[] = { + { 0, "widebandCQI-r10" }, + { 1, "subbandCQI-r10" }, + { 0, NULL } +}; + +static const per_choice_t T_cqi_FormatIndicatorPeriodic_r10_choice[] = { + { 0, &hf_lte_rrc_widebandCQI_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_widebandCQI_r10 }, + { 1, &hf_lte_rrc_subbandCQI_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI_r10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10, T_cqi_FormatIndicatorPeriodic_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_Mask_r9_01_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cqi_Mask_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_08_sequence[] = { + { &hf_lte_rrc_cqi_pmi_ConfigIndex2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_ri_ConfigIndex2_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_08, T_setup_08_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_csi_ConfigIndex_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_ConfigIndex_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_08 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_ConfigIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_ConfigIndex_r10, T_csi_ConfigIndex_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_07_sequence[] = { + { &hf_lte_rrc_cqi_PUCCH_ResourceIndex_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1184 }, + { &hf_lte_rrc_cqi_PUCCH_ResourceIndexP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1184 }, + { &hf_lte_rrc_cqi_pmi_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_cqi_FormatIndicatorPeriodic_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10 }, + { &hf_lte_rrc_ri_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_simultaneousAckNackAndCQI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_cqi_Mask_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cqi_Mask_r9_01 }, + { &hf_lte_rrc_csi_ConfigIndex_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ConfigIndex_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_07, T_setup_07_sequence); + + return offset; +} + + +static const value_string lte_rrc_CQI_ReportPeriodic_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t CQI_ReportPeriodic_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_07 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodic_r10, CQI_ReportPeriodic_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_pmi_RI_Report_r9_01_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pmi_RI_Report_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_04_sequence[] = { + { &hf_lte_rrc_csi_MeasSubframeSet1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, + { &hf_lte_rrc_csi_MeasSubframeSet2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_04, T_setup_04_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_csi_SubframePatternConfig_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_SubframePatternConfig_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_04 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_SubframePatternConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_SubframePatternConfig_r10, T_csi_SubframePatternConfig_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfig_r10_sequence[] = { + { &hf_lte_rrc_cqi_ReportAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodic_r10 }, + { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, + { &hf_lte_rrc_cqi_ReportPeriodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic_r10 }, + { &hf_lte_rrc_pmi_RI_Report_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r9_01 }, + { &hf_lte_rrc_csi_SubframePatternConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_SubframePatternConfig_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfig_r10, CQI_ReportConfig_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_antennaPortsCount_r10_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 3, "an8" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_antennaPortsCount_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_154(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 154U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 15U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_12_sequence[] = { + { &hf_lte_rrc_antennaPortsCount_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r10 }, + { &hf_lte_rrc_resourceConfig_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_subframeConfig_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { &hf_lte_rrc_p_C_r10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M8_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_12, T_setup_12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_csi_RS_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_RS_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_RS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_RS_r10, T_csi_RS_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ZeroTxPowerCSI_RS_r12_sequence[] = { + { &hf_lte_rrc_zeroTxPowerResourceConfigList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { &hf_lte_rrc_zeroTxPowerSubframeConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ZeroTxPowerCSI_RS_r12, ZeroTxPowerCSI_RS_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_ZeroTxPowerCSI_RS_Conf_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t ZeroTxPowerCSI_RS_Conf_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_ZeroTxPowerCSI_RS_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12, ZeroTxPowerCSI_RS_Conf_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CSI_RS_Config_r10_sequence[] = { + { &hf_lte_rrc_csi_RS_r10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_RS_r10 }, + { &hf_lte_rrc_zeroTxPowerCSI_RS_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_RS_Config_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_Config_r10, CSI_RS_Config_r10_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_549(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 549U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_n3PUCCH_AN_List_r10_sequence_of[1] = { + { &hf_lte_rrc_n3PUCCH_AN_List_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_549 }, +}; + +static int +dissect_lte_rrc_T_n3PUCCH_AN_List_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_n3PUCCH_AN_List_r10, T_n3PUCCH_AN_List_r10_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const per_sequence_t T_n3PUCCH_AN_ListP1_r10_sequence_of[1] = { + { &hf_lte_rrc_n3PUCCH_AN_ListP1_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_549 }, +}; + +static int +dissect_lte_rrc_T_n3PUCCH_AN_ListP1_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_n3PUCCH_AN_ListP1_r10, T_n3PUCCH_AN_ListP1_r10_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_28_sequence[] = { + { &hf_lte_rrc_n3PUCCH_AN_ListP1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n3PUCCH_AN_ListP1_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_28, T_setup_28_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_twoAntennaPortActivatedPUCCH_Format3_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_28 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10, T_twoAntennaPortActivatedPUCCH_Format3_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_format3_r10_sequence[] = { + { &hf_lte_rrc_n3PUCCH_AN_List_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n3PUCCH_AN_List_r10 }, + { &hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format3_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_format3_r10, T_format3_r10_sequence); + + return offset; +} + + +static const per_sequence_t N1PUCCH_AN_CS_r10_sequence_of[1] = { + { &hf_lte_rrc_N1PUCCH_AN_CS_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, +}; + +static int +dissect_lte_rrc_N1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_N1PUCCH_AN_CS_r10, N1PUCCH_AN_CS_r10_sequence_of, + 1, 4, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10_sequence_of[1] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_List_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_CS_r10 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10, SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_29_sequence[] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_List_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_29, T_setup_29_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_n1PUCCH_AN_CS_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_n1PUCCH_AN_CS_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_29 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_n1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_n1PUCCH_AN_CS_r10, T_n1PUCCH_AN_CS_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_channelSelection_r10_sequence[] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n1PUCCH_AN_CS_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_channelSelection_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_channelSelection_r10, T_channelSelection_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_pucch_Format_r10_vals[] = { + { 0, "format3-r10" }, + { 1, "channelSelection-r10" }, + { 0, NULL } +}; + +static const per_choice_t T_pucch_Format_r10_choice[] = { + { 0, &hf_lte_rrc_format3_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_format3_r10 }, + { 1, &hf_lte_rrc_channelSelection_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_channelSelection_r10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_pucch_Format_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_pucch_Format_r10, T_pucch_Format_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_simultaneousPUCCH_PUSCH_r10_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_simultaneousPUCCH_PUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + mac_lte_info* p_mac_lte_info; + + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* Tell MAC to use simultaneous PUCCH/PUSCH configuration */ + set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, private_data_get_simult_pucch_pusch_cell_type(actx), TRUE, actx->pinfo); + } + + + return offset; +} + + +static const per_sequence_t PUCCH_ConfigDedicated_v1020_sequence[] = { + { &hf_lte_rrc_pucch_Format_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pucch_Format_r10 }, + { &hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format1a1b_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10 }, + { &hf_lte_rrc_simultaneousPUCCH_PUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_simultaneousPUCCH_PUSCH_r10 }, + { &hf_lte_rrc_n1PUCCH_AN_RepP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_2047 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUCCH_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUCCH_ConfigDedicated_v1020, PUCCH_ConfigDedicated_v1020_sequence); + + return offset; +} + + +static const per_sequence_t T_betaOffsetMC_r10_sequence[] = { + { &hf_lte_rrc_betaOffset_ACK_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_RI_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_CQI_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_betaOffsetMC_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_betaOffsetMC_r10, T_betaOffsetMC_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_groupHoppingDisabled_r10_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_groupHoppingDisabled_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_dmrs_WithOCC_Activated_r10_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_ConfigDedicated_v1020_sequence[] = { + { &hf_lte_rrc_betaOffsetMC_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_betaOffsetMC_r10 }, + { &hf_lte_rrc_groupHoppingDisabled_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_groupHoppingDisabled_r10 }, + { &hf_lte_rrc_dmrs_WithOCC_Activated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUSCH_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUSCH_ConfigDedicated_v1020, PUSCH_ConfigDedicated_v1020_sequence); + + return offset; +} + + +static const per_sequence_t SchedulingRequestConfig_v1020_sequence[] = { + { &hf_lte_rrc_sr_PUCCH_ResourceIndexP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_2047 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SchedulingRequestConfig_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SchedulingRequestConfig_v1020, SchedulingRequestConfig_v1020_sequence); + + return offset; +} + + +static const value_string lte_rrc_SRS_AntennaPort_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_SRS_AntennaPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SoundingRS_UL_ConfigDedicated_v1020_sequence[] = { + { &hf_lte_rrc_srs_AntennaPort_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_AntennaPort }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020, SoundingRS_UL_ConfigDedicated_v1020_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_srs_BandwidthAp_r10_vals[] = { + { 0, "bw0" }, + { 1, "bw1" }, + { 2, "bw2" }, + { 3, "bw3" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_srs_BandwidthAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cyclicShiftAp_r10_vals[] = { + { 0, "cs0" }, + { 1, "cs1" }, + { 2, "cs2" }, + { 3, "cs3" }, + { 4, "cs4" }, + { 5, "cs5" }, + { 6, "cs6" }, + { 7, "cs7" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cyclicShiftAp_r10(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SRS_ConfigAp_r10_sequence[] = { + { &hf_lte_rrc_srs_AntennaPortAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_AntennaPort }, + { &hf_lte_rrc_srs_BandwidthAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_BandwidthAp_r10 }, + { &hf_lte_rrc_freqDomainPositionAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_23 }, + { &hf_lte_rrc_transmissionCombAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1 }, + { &hf_lte_rrc_cyclicShiftAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cyclicShiftAp_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SRS_ConfigAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SRS_ConfigAp_r10, SRS_ConfigAp_r10_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10_sequence_of[1] = { + { &hf_lte_rrc_srs_ConfigApDCI_Format4_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10, SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10_sequence_of, + 1, 3, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_42_sequence[] = { + { &hf_lte_rrc_srs_ConfigApDCI_Format0_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, + { &hf_lte_rrc_srs_ConfigApDCI_Format1a2b2c_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_42, T_setup_42_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_srs_ActivateAp_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_srs_ActivateAp_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_42 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_srs_ActivateAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_srs_ActivateAp_r10, T_srs_ActivateAp_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_41_sequence[] = { + { &hf_lte_rrc_srs_ConfigIndexAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_srs_ConfigApDCI_Format4_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10 }, + { &hf_lte_rrc_srs_ActivateAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_srs_ActivateAp_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_41, T_setup_41_sequence); + + return offset; +} + + +static const value_string lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t SoundingRS_UL_ConfigDedicatedAperiodic_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_47 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_41 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10, SoundingRS_UL_ConfigDedicatedAperiodic_r10_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10_vals[] = { + { 0, "dB0" }, + { 1, "dB-2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10_vals[] = { + { 0, "dB0" }, + { 1, "dB-2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10_vals[] = { + { 0, "dB0" }, + { 1, "dB-2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10_vals[] = { + { 0, "dB0" }, + { 1, "dB-2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DeltaTxD_OffsetListPUCCH_r10_sequence[] = { + { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10 }, + { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1a1b_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10 }, + { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format22a2b_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10 }, + { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format3_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DeltaTxD_OffsetListPUCCH_r10, DeltaTxD_OffsetListPUCCH_r10_sequence); + + return offset; +} + + +static const per_sequence_t UplinkPowerControlDedicated_v1020_sequence[] = { + { &hf_lte_rrc_deltaTxD_OffsetListPUCCH_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_r10 }, + { &hf_lte_rrc_pSRS_OffsetAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlDedicated_v1020, UplinkPowerControlDedicated_v1020_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_eag_2_sequence[] = { + { &hf_lte_rrc_antennaInfo_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_antennaInfo_r10 }, + { &hf_lte_rrc_antennaInfoUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoUL_r10 }, + { &hf_lte_rrc_cif_Presence_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_cqi_ReportConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_r10 }, + { &hf_lte_rrc_csi_RS_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_r10 }, + { &hf_lte_rrc_pucch_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v1020 }, + { &hf_lte_rrc_pusch_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1020 }, + { &hf_lte_rrc_schedulingRequestConfig_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SchedulingRequestConfig_v1020 }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020 }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicatedAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10 }, + { &hf_lte_rrc_uplinkPowerControlDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1020 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_2_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 32U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_26_sequence[] = { + { &hf_lte_rrc_additionalSpectrumEmissionPCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalSpectrumEmission }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_26, T_setup_26_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_additionalSpectrumEmissionCA_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_additionalSpectrumEmissionCA_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_26 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_additionalSpectrumEmissionCA_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_additionalSpectrumEmissionCA_r10, T_additionalSpectrumEmissionCA_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_eag_3_sequence[] = { + { &hf_lte_rrc_additionalSpectrumEmissionCA_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_additionalSpectrumEmissionCA_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_3_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_RS_ConfigNZPId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_RS_NZP_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigNZPToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11, CSI_RS_ConfigNZPToReleaseList_r11_sequence_of, + 1, maxCSI_RS_NZP_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_antennaPortsCount_r11_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 3, "an8" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_antennaPortsCount_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_crs_PortsCount_r11_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_crs_PortsCount_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_radioframeAllocationPeriod_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "n8" }, + { 4, "n16" }, + { 5, "n32" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_radioframeAllocationPeriod(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 24, 24, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_subframeAllocation_vals[] = { + { 0, "oneFrame" }, + { 1, "fourFrames" }, + { 0, NULL } +}; + +static const per_choice_t T_subframeAllocation_choice[] = { + { 0, &hf_lte_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, + { 1, &hf_lte_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_24 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subframeAllocation, T_subframeAllocation_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MBSFN_SubframeConfig_sequence[] = { + { &hf_lte_rrc_radioframeAllocationPeriod, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_radioframeAllocationPeriod }, + { &hf_lte_rrc_radioframeAllocationOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_7 }, + { &hf_lte_rrc_subframeAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_subframeAllocation }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MBSFN_SubframeConfig, MBSFN_SubframeConfig_sequence); + + return offset; +} + + +static const per_sequence_t MBSFN_SubframeConfigList_sequence_of[1] = { + { &hf_lte_rrc_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfig }, +}; + +static int +dissect_lte_rrc_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MBSFN_SubframeConfigList, MBSFN_SubframeConfigList_sequence_of, + 1, maxMBSFN_Allocations, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_14_sequence[] = { + { &hf_lte_rrc_subframeConfigList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_14, T_setup_14_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_mbsfn_SubframeConfigList_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_mbsfn_SubframeConfigList_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_14 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_mbsfn_SubframeConfigList_r11, T_mbsfn_SubframeConfigList_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_qcl_CRS_Info_r11_sequence[] = { + { &hf_lte_rrc_qcl_ScramblingIdentity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_crs_PortsCount_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r11 }, + { &hf_lte_rrc_mbsfn_SubframeConfigList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_qcl_CRS_Info_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_qcl_CRS_Info_r11, T_qcl_CRS_Info_r11_sequence); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigNZP_r11_sequence[] = { + { &hf_lte_rrc_csi_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, + { &hf_lte_rrc_antennaPortsCount_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r11 }, + { &hf_lte_rrc_resourceConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { &hf_lte_rrc_scramblingIdentity_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_qcl_CRS_Info_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_qcl_CRS_Info_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigNZP_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigNZP_r11, CSI_RS_ConfigNZP_r11_sequence); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigNZPToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZP_r11 }, +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11, CSI_RS_ConfigNZPToAddModList_r11_sequence_of, + 1, maxCSI_RS_NZP_r11, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_RS_ConfigZPId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_RS_ZP_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigZPToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11, CSI_RS_ConfigZPToReleaseList_r11_sequence_of, + 1, maxCSI_RS_ZP_r11, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigZP_r11_sequence[] = { + { &hf_lte_rrc_csi_RS_ConfigZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, + { &hf_lte_rrc_resourceConfigList_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigZP_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigZP_r11, CSI_RS_ConfigZP_r11_sequence); + + return offset; +} + + +static const per_sequence_t CSI_RS_ConfigZPToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_RS_ConfigZPToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZP_r11 }, +}; + +static int +dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_ConfigZPToAddModList_r11, CSI_RS_ConfigZPToAddModList_r11_sequence_of, + 1, maxCSI_RS_ZP_r11, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_17_sequence[] = { + { &hf_lte_rrc_subframePattern_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_17, T_setup_17_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_subframePatternConfig_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_subframePatternConfig_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_17 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subframePatternConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subframePatternConfig_r11, T_subframePatternConfig_r11_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_EPDCCH_SetConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 1U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t EPDCCH_SetConfigToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_EPDCCH_SetConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfigId_r11 }, +}; + +static int +dissect_lte_rrc_EPDCCH_SetConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EPDCCH_SetConfigToReleaseList_r11, EPDCCH_SetConfigToReleaseList_r11_sequence_of, + 1, maxEPDCCH_Set_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_transmissionType_r11_vals[] = { + { 0, "localised" }, + { 1, "distributed" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_transmissionType_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_numberPRB_Pairs_r11_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 2, "n8" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_numberPRB_Pairs_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_4_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 4, 38, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_resourceBlockAssignment_r11_sequence[] = { + { &hf_lte_rrc_numberPRB_Pairs_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_numberPRB_Pairs_r11 }, + { &hf_lte_rrc_resourceBlockAssignment_r11_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_4_38 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_resourceBlockAssignment_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_resourceBlockAssignment_r11, T_resourceBlockAssignment_r11_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxRE_MapQCL_r11, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_csi_RS_ConfigZPId2_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_RS_ConfigZPId2_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_RS_ConfigZPId2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_RS_ConfigZPId2_r12, T_csi_RS_ConfigZPId2_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t EPDCCH_SetConfig_r11_eag_1_sequence[] = { + { &hf_lte_rrc_csi_RS_ConfigZPId2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_RS_ConfigZPId2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_EPDCCH_SetConfig_r11_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EPDCCH_SetConfig_r11_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t EPDCCH_SetConfig_r11_sequence[] = { + { &hf_lte_rrc_setConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfigId_r11 }, + { &hf_lte_rrc_transmissionType_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionType_r11 }, + { &hf_lte_rrc_resourceBlockAssignment_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_resourceBlockAssignment_r11 }, + { &hf_lte_rrc_dmrs_ScramblingSequenceInt_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_pucch_ResourceStartOffset_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, + { &hf_lte_rrc_re_MappingQCL_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfig_r11_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_EPDCCH_SetConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EPDCCH_SetConfig_r11, EPDCCH_SetConfig_r11_sequence); + + return offset; +} + + +static const per_sequence_t EPDCCH_SetConfigToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_EPDCCH_SetConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfig_r11 }, +}; + +static int +dissect_lte_rrc_EPDCCH_SetConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EPDCCH_SetConfigToAddModList_r11, EPDCCH_SetConfigToAddModList_r11_sequence_of, + 1, maxEPDCCH_Set_r11, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_16_sequence[] = { + { &hf_lte_rrc_subframePatternConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_subframePatternConfig_r11 }, + { &hf_lte_rrc_startSymbol_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_4 }, + { &hf_lte_rrc_setConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_SetConfigToReleaseList_r11 }, + { &hf_lte_rrc_setConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_SetConfigToAddModList_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_16, T_setup_16_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_config_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_config_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_16 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_config_r11, T_config_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t EPDCCH_Config_r11_sequence[] = { + { &hf_lte_rrc_config_r11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_config_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_EPDCCH_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EPDCCH_Config_r11, EPDCCH_Config_r11_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_15_sequence[] = { + { &hf_lte_rrc_scramblingIdentity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_scramblingIdentity2_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_15, T_setup_15_sequence); + + return offset; +} + + +static const value_string lte_rrc_DMRS_Config_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t DMRS_Config_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_15 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_DMRS_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DMRS_Config_r11, DMRS_Config_r11_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_qcl_Operation_vals[] = { + { 0, "typeA" }, + { 1, "typeB" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_qcl_Operation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RE_MappingQCLConfigToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_RE_MappingQCLConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, +}; + +static int +dissect_lte_rrc_RE_MappingQCLConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RE_MappingQCLConfigToReleaseList_r11, RE_MappingQCLConfigToReleaseList_r11_sequence_of, + 1, maxRE_MapQCL_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_crs_PortsCount_r11_01_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_crs_PortsCount_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 5U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_25_sequence[] = { + { &hf_lte_rrc_subframeConfigList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_25, T_setup_25_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_mbsfn_SubframeConfigList_r11_01_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_mbsfn_SubframeConfigList_r11_01_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_25 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_mbsfn_SubframeConfigList_r11_01, T_mbsfn_SubframeConfigList_r11_01_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_pdsch_Start_r11_vals[] = { + { 0, "reserved" }, + { 1, "n1" }, + { 2, "n2" }, + { 3, "n3" }, + { 4, "n4" }, + { 5, "assigned" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pdsch_Start_r11(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_optionalSetOfFields_r11_sequence[] = { + { &hf_lte_rrc_crs_PortsCount_r11_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r11_01 }, + { &hf_lte_rrc_crs_FreqShift_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_5 }, + { &hf_lte_rrc_mbsfn_SubframeConfigList_r11_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11_01 }, + { &hf_lte_rrc_pdsch_Start_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pdsch_Start_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_optionalSetOfFields_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_optionalSetOfFields_r11, T_optionalSetOfFields_r11_sequence); + + return offset; +} + + +static const per_sequence_t PDSCH_RE_MappingQCL_Config_r11_sequence[] = { + { &hf_lte_rrc_pdsch_RE_MappingQCL_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, + { &hf_lte_rrc_optionalSetOfFields_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_optionalSetOfFields_r11 }, + { &hf_lte_rrc_csi_RS_ConfigZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, + { &hf_lte_rrc_qcl_CSI_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDSCH_RE_MappingQCL_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PDSCH_RE_MappingQCL_Config_r11, PDSCH_RE_MappingQCL_Config_r11_sequence); + + return offset; +} + + +static const per_sequence_t RE_MappingQCLConfigToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_RE_MappingQCLConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_Config_r11 }, +}; + +static int +dissect_lte_rrc_RE_MappingQCLConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RE_MappingQCLConfigToAddModList_r11, RE_MappingQCLConfigToAddModList_r11_sequence_of, + 1, maxRE_MapQCL_r11, FALSE); + + return offset; +} + + +static const per_sequence_t PDSCH_ConfigDedicated_v1130_sequence[] = { + { &hf_lte_rrc_dmrs_ConfigPDSCH_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DMRS_Config_r11 }, + { &hf_lte_rrc_qcl_Operation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_qcl_Operation }, + { &hf_lte_rrc_re_MappingQCLConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RE_MappingQCLConfigToReleaseList_r11 }, + { &hf_lte_rrc_re_MappingQCLConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RE_MappingQCLConfigToAddModList_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PDSCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PDSCH_ConfigDedicated_v1130, PDSCH_ConfigDedicated_v1130_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCQI_ProcExt_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CQI_ReportPeriodicProcExtToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11 }, +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11, CQI_ReportPeriodicProcExtToReleaseList_r11_sequence_of, + 1, maxCQI_ProcExt_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_csi_ReportMode_r11_vals[] = { + { 0, "submode1" }, + { 1, "submode2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_csi_ReportMode_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_widebandCQI_r11_sequence[] = { + { &hf_lte_rrc_csi_ReportMode_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ReportMode_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_widebandCQI_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_widebandCQI_r11, T_widebandCQI_r11_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_periodicityFactor_r11_vals[] = { + { 0, "n2" }, + { 1, "n4" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_periodicityFactor_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_subbandCQI_r11_sequence[] = { + { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, + { &hf_lte_rrc_periodicityFactor_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicityFactor_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_subbandCQI_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_subbandCQI_r11, T_subbandCQI_r11_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_r11_vals[] = { + { 0, "widebandCQI-r11" }, + { 1, "subbandCQI-r11" }, + { 0, NULL } +}; + +static const per_choice_t T_cqi_FormatIndicatorPeriodic_r11_choice[] = { + { 0, &hf_lte_rrc_widebandCQI_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_widebandCQI_r11 }, + { 1, &hf_lte_rrc_subbandCQI_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI_r11 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11, T_cqi_FormatIndicatorPeriodic_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_09_sequence[] = { + { &hf_lte_rrc_cqi_pmi_ConfigIndex2_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_ri_ConfigIndex2_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_09, T_setup_09_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_csi_ConfigIndex_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_ConfigIndex_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_09 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_ConfigIndex_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_ConfigIndex_r11, T_csi_ConfigIndex_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportPeriodicProcExt_r11_sequence[] = { + { &hf_lte_rrc_cqi_ReportPeriodicProcExtId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11 }, + { &hf_lte_rrc_cqi_pmi_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_cqi_FormatIndicatorPeriodic_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11 }, + { &hf_lte_rrc_ri_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, + { &hf_lte_rrc_csi_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ConfigIndex_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodicProcExt_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodicProcExt_r11, CQI_ReportPeriodicProcExt_r11_sequence); + + return offset; +} + + +static const per_sequence_t CQI_ReportPeriodicProcExtToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExt_r11 }, +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11, CQI_ReportPeriodicProcExtToAddModList_r11_sequence_of, + 1, maxCQI_ProcExt_r11, FALSE); + + return offset; +} + + +static const per_sequence_t CQI_ReportPeriodic_v1130_sequence[] = { + { &hf_lte_rrc_simultaneousAckNackAndCQI_Format3_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11 }, + { &hf_lte_rrc_cqi_ReportPeriodicProcExtToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11 }, + { &hf_lte_rrc_cqi_ReportPeriodicProcExtToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportPeriodic_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportPeriodic_v1130, CQI_ReportPeriodic_v1130_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_IM_ConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_IM_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_IM_ConfigToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_IM_ConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, +}; + +static int +dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_IM_ConfigToReleaseList_r11, CSI_IM_ConfigToReleaseList_r11_sequence_of, + 1, maxCSI_IM_r11, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_IM_Config_r11_sequence[] = { + { &hf_lte_rrc_csi_IM_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, + { &hf_lte_rrc_resourceConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_IM_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_IM_Config_r11, CSI_IM_Config_r11_sequence); + + return offset; +} + + +static const per_sequence_t CSI_IM_ConfigToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_IM_ConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_Config_r11 }, +}; + +static int +dissect_lte_rrc_CSI_IM_ConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_IM_ConfigToAddModList_r11, CSI_IM_ConfigToAddModList_r11_sequence_of, + 1, maxCSI_IM_r11, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_ProcessId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_Proc_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_ProcessToReleaseList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_ProcessToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_ProcessId_r11 }, +}; + +static int +dissect_lte_rrc_CSI_ProcessToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_ProcessToReleaseList_r11, CSI_ProcessToReleaseList_r11_sequence_of, + 1, maxCSI_Proc_r11, FALSE); + + return offset; +} + + +static const per_sequence_t P_C_AndCBSR_r11_sequence[] = { + { &hf_lte_rrc_p_C_r11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M8_15 }, + { &hf_lte_rrc_codebookSubsetRestriction_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_P_C_AndCBSR_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_P_C_AndCBSR_r11, P_C_AndCBSR_r11_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11_sequence_of[1] = { + { &hf_lte_rrc_p_C_AndCBSRList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P_C_AndCBSR_r11 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11, SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_pmi_RI_Report_r11_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pmi_RI_Report_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportBothProc_r11_sequence[] = { + { &hf_lte_rrc_ri_Ref_CSI_ProcessId_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessId_r11 }, + { &hf_lte_rrc_pmi_RI_Report_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportBothProc_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportBothProc_r11, CQI_ReportBothProc_r11_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_maxCQI_ProcExt_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxCQI_ProcExt_r11, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CQI_ReportAperiodicProc_r11_sequence[] = { + { &hf_lte_rrc_cqi_ReportModeAperiodic_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportModeAperiodic }, + { &hf_lte_rrc_trigger01_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_trigger10_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_trigger11_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportAperiodicProc_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportAperiodicProc_r11, CQI_ReportAperiodicProc_r11_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_IM_ConfigId_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxCSI_IM_r12, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12_sequence_of[1] = { + { &hf_lte_rrc_setup_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r12 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12, SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12_sequence_of, + 1, 2, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_csi_IM_ConfigIdList_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_IM_ConfigIdList_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_IM_ConfigIdList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_IM_ConfigIdList_r12, T_csi_IM_ConfigIdList_r12_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cqi_ReportAperiodicProc2_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_cqi_ReportAperiodicProc2_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_CQI_ReportAperiodicProc_r11 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cqi_ReportAperiodicProc2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cqi_ReportAperiodicProc2_r12, T_cqi_ReportAperiodicProc2_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CSI_Process_r11_eag_1_sequence[] = { + { &hf_lte_rrc_alternativeCodebookEnabledFor4TXProc_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12 }, + { &hf_lte_rrc_csi_IM_ConfigIdList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_IM_ConfigIdList_r12 }, + { &hf_lte_rrc_cqi_ReportAperiodicProc2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cqi_ReportAperiodicProc2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_Process_r11_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_Process_r11_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t CSI_Process_r11_sequence[] = { + { &hf_lte_rrc_csi_ProcessId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_ProcessId_r11 }, + { &hf_lte_rrc_csi_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, + { &hf_lte_rrc_csi_IM_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, + { &hf_lte_rrc_p_C_AndCBSRList_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11 }, + { &hf_lte_rrc_cqi_ReportBothProc_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportBothProc_r11 }, + { &hf_lte_rrc_cqi_ReportPeriodicProcId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_maxCQI_ProcExt_r11 }, + { &hf_lte_rrc_cqi_ReportAperiodicProc_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodicProc_r11 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_Process_r11_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_Process_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_Process_r11, CSI_Process_r11_sequence); + + return offset; +} + + +static const per_sequence_t CSI_ProcessToAddModList_r11_sequence_of[1] = { + { &hf_lte_rrc_CSI_ProcessToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_Process_r11 }, +}; + +static int +dissect_lte_rrc_CSI_ProcessToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_ProcessToAddModList_r11, CSI_ProcessToAddModList_r11_sequence_of, + 1, maxCSI_Proc_r11, FALSE); + + return offset; +} + + +static const per_sequence_t CQI_ReportBoth_r11_sequence[] = { + { &hf_lte_rrc_csi_IM_ConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r11 }, + { &hf_lte_rrc_csi_IM_ConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToAddModList_r11 }, + { &hf_lte_rrc_csi_ProcessToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessToReleaseList_r11 }, + { &hf_lte_rrc_csi_ProcessToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessToAddModList_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportBoth_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportBoth_r11, CQI_ReportBoth_r11_sequence); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfig_v1130_sequence[] = { + { &hf_lte_rrc_cqi_ReportPeriodic_v1130, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodic_v1130 }, + { &hf_lte_rrc_cqi_ReportBoth_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportBoth_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfig_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfig_v1130, CQI_ReportConfig_v1130_sequence); + + return offset; +} + + +static const per_sequence_t T_n1PUCCH_AN_CS_ListP1_r11_sequence_of[1] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, +}; + +static int +dissect_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11, T_n1PUCCH_AN_CS_ListP1_r11_sequence_of, + 2, 4, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_30_sequence[] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_30, T_setup_30_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_n1PUCCH_AN_CS_v1130_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_n1PUCCH_AN_CS_v1130_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_30 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_n1PUCCH_AN_CS_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_n1PUCCH_AN_CS_v1130, T_n1PUCCH_AN_CS_v1130_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_31_sequence[] = { + { &hf_lte_rrc_nPUCCH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, + { &hf_lte_rrc_n1PUCCH_AN_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_31, T_setup_31_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_nPUCCH_Param_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_nPUCCH_Param_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_31 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nPUCCH_Param_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nPUCCH_Param_r11, T_nPUCCH_Param_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_ConfigDedicated_v1130_sequence[] = { + { &hf_lte_rrc_n1PUCCH_AN_CS_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n1PUCCH_AN_CS_v1130 }, + { &hf_lte_rrc_nPUCCH_Param_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nPUCCH_Param_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUCCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUCCH_ConfigDedicated_v1130, PUCCH_ConfigDedicated_v1130_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_509(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 509U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_33_sequence[] = { + { &hf_lte_rrc_nPUSCH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_509 }, + { &hf_lte_rrc_nDMRS_CSH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_509 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_33, T_setup_33_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_pusch_DMRS_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_pusch_DMRS_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_33 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_pusch_DMRS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_pusch_DMRS_r11, T_pusch_DMRS_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_ConfigDedicated_v1130_sequence[] = { + { &hf_lte_rrc_pusch_DMRS_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pusch_DMRS_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUSCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUSCH_ConfigDedicated_v1130, PUSCH_ConfigDedicated_v1130_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_16_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 16U, 31U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11_vals[] = { + { 0, "dB0" }, + { 1, "dB-1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t DeltaTxD_OffsetListPUCCH_v1130_sequence[] = { + { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1bCS_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130, DeltaTxD_OffsetListPUCCH_v1130_sequence); + + return offset; +} + + +static const per_sequence_t UplinkPowerControlDedicated_v1130_sequence[] = { + { &hf_lte_rrc_pSRS_Offset_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_16_31 }, + { &hf_lte_rrc_pSRS_OffsetAp_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_16_31 }, + { &hf_lte_rrc_deltaTxD_OffsetListPUCCH_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlDedicated_v1130, UplinkPowerControlDedicated_v1130_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_eag_4_sequence[] = { + { &hf_lte_rrc_csi_RS_ConfigNZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigNZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11 }, + { &hf_lte_rrc_epdcch_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_Config_r11 }, + { &hf_lte_rrc_pdsch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated_v1130 }, + { &hf_lte_rrc_cqi_ReportConfig_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1130 }, + { &hf_lte_rrc_pucch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v1130 }, + { &hf_lte_rrc_pusch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1130 }, + { &hf_lte_rrc_uplinkPowerControlDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_4_sequence); + + return offset; +} + + +static const per_sequence_t AntennaInfoDedicated_v1250_sequence[] = { + { &hf_lte_rrc_alternativeCodebookEnabledFor4TX_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoDedicated_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoDedicated_v1250, AntennaInfoDedicated_v1250_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_eimta_CommandPeriodicity_r12_vals[] = { + { 0, "sf10" }, + { 1, "sf20" }, + { 2, "sf40" }, + { 3, "sf80" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_eimta_CommandPeriodicity_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 10, 10, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_18_sequence[] = { + { &hf_lte_rrc_eimta_RNTI_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, + { &hf_lte_rrc_eimta_CommandPeriodicity_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eimta_CommandPeriodicity_r12 }, + { &hf_lte_rrc_eimta_CommandSubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_18, T_setup_18_sequence); + + return offset; +} + + +static const value_string lte_rrc_EIMTA_MainConfig_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t EIMTA_MainConfig_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_18 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_EIMTA_MainConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EIMTA_MainConfig_r12, EIMTA_MainConfig_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 5U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_eimta_HARQ_ReferenceConfig_r12_vals[] = { + { 0, "sa2" }, + { 1, "sa4" }, + { 2, "sa5" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_eimta_HARQ_ReferenceConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_20_sequence[] = { + { &hf_lte_rrc_subframeConfigList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_20, T_setup_20_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_mbsfn_SubframeConfigList_v1250_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_mbsfn_SubframeConfigList_v1250_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_20 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_mbsfn_SubframeConfigList_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_mbsfn_SubframeConfigList_v1250, T_mbsfn_SubframeConfigList_v1250_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_19_sequence[] = { + { &hf_lte_rrc_eimta_UL_DL_ConfigIndex_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_5 }, + { &hf_lte_rrc_eimta_HARQ_ReferenceConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eimta_HARQ_ReferenceConfig_r12 }, + { &hf_lte_rrc_mbsfn_SubframeConfigList_v1250, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_mbsfn_SubframeConfigList_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_19, T_setup_19_sequence); + + return offset; +} + + +static const value_string lte_rrc_EIMTA_MainConfigServCell_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t EIMTA_MainConfigServCell_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_19 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_EIMTA_MainConfigServCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_EIMTA_MainConfigServCell_r12, EIMTA_MainConfigServCell_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_setup_32_sequence[] = { + { &hf_lte_rrc_nkaPUCCH_AN_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_32, T_setup_32_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_nkaPUCCH_Param_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_nkaPUCCH_Param_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_32 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nkaPUCCH_Param_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nkaPUCCH_Param_r12, T_nkaPUCCH_Param_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUCCH_ConfigDedicated_v1250_sequence[] = { + { &hf_lte_rrc_nkaPUCCH_Param_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_nkaPUCCH_Param_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUCCH_ConfigDedicated_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUCCH_ConfigDedicated_v1250, PUCCH_ConfigDedicated_v1250_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_05_sequence[] = { + { &hf_lte_rrc_csi_MeasSubframeSets_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_05, T_setup_05_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_csi_SubframePatternConfig_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_csi_SubframePatternConfig_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_05 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_csi_SubframePatternConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_csi_SubframePatternConfig_r12, T_csi_SubframePatternConfig_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CSI_IM_ConfigId_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + maxCSI_IM_r12, maxCSI_IM_r12, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t CSI_IM_ConfigExt_r12_sequence[] = { + { &hf_lte_rrc_csi_IM_ConfigId_v1250, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_v1250 }, + { &hf_lte_rrc_resourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, + { &hf_lte_rrc_subframeConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_IM_ConfigExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_IM_ConfigExt_r12, CSI_IM_ConfigExt_r12_sequence); + + return offset; +} + + +static const per_sequence_t CQI_ReportBoth_v1250_sequence[] = { + { &hf_lte_rrc_csi_IM_ConfigToReleaseListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigId_v1250 }, + { &hf_lte_rrc_csi_IM_ConfigToAddModListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigExt_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportBoth_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportBoth_v1250, CQI_ReportBoth_v1250_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_trigger_SubframeSetIndicator_r12_vals[] = { + { 0, "s1" }, + { 1, "s2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_trigger_SubframeSetIndicator_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_aperiodicCSI_Trigger_v1250_sequence[] = { + { &hf_lte_rrc_trigger_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_trigger_SubframeSetIndicator_r12 }, + { &hf_lte_rrc_trigger1_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { &hf_lte_rrc_trigger2_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_aperiodicCSI_Trigger_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_aperiodicCSI_Trigger_v1250, T_aperiodicCSI_Trigger_v1250_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_11_sequence[] = { + { &hf_lte_rrc_aperiodicCSI_Trigger_v1250, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_aperiodicCSI_Trigger_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_11, T_setup_11_sequence); + + return offset; +} + + +static const value_string lte_rrc_CQI_ReportAperiodic_v1250_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t CQI_ReportAperiodic_v1250_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_11 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportAperiodic_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportAperiodic_v1250, CQI_ReportAperiodic_v1250_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_altCQI_Table_r12_vals[] = { + { 0, "allSubframes" }, + { 1, "csi-SubframeSet1" }, + { 2, "csi-SubframeSet2" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_altCQI_Table_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfig_v1250_sequence[] = { + { &hf_lte_rrc_csi_SubframePatternConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_SubframePatternConfig_r12 }, + { &hf_lte_rrc_cqi_ReportBoth_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportBoth_v1250 }, + { &hf_lte_rrc_cqi_ReportAperiodic_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodic_v1250 }, + { &hf_lte_rrc_altCQI_Table_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_altCQI_Table_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfig_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfig_v1250, CQI_ReportConfig_v1250_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_NominalPUSCH_SubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -126, 24U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + +static const value_string lte_rrc_Alpha_r12_vals[] = { + { 0, "al0" }, + { 1, "al04" }, + { 2, "al05" }, + { 3, "al06" }, + { 4, "al07" }, + { 5, "al08" }, + { 6, "al09" }, + { 7, "al1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_Alpha_r12(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUSCH_SubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t T_setup_48_sequence[] = { + { &hf_lte_rrc_tpc_SubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, + { &hf_lte_rrc_p0_NominalPUSCH_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_SubframeSet2_r12 }, + { &hf_lte_rrc_alpha_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Alpha_r12 }, + { &hf_lte_rrc_p0_UE_PUSCH_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_SubframeSet2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_48, T_setup_48_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_set2PowerControlParameter_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_set2PowerControlParameter_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_54 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_48 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_set2PowerControlParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_set2PowerControlParameter, T_set2PowerControlParameter_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UplinkPowerControlDedicated_v1250_sequence[] = { + { &hf_lte_rrc_set2PowerControlParameter, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_set2PowerControlParameter }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlDedicated_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlDedicated_v1250, UplinkPowerControlDedicated_v1250_sequence); + + return offset; +} + + +static const per_sequence_t T_betaOffsetMC_r12_sequence[] = { + { &hf_lte_rrc_betaOffset_ACK_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_RI_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_CQI_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_betaOffsetMC_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_betaOffsetMC_r12, T_betaOffsetMC_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_setup_34_sequence[] = { + { &hf_lte_rrc_betaOffset_ACK_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_RI_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffset_CQI_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_betaOffsetMC_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_betaOffsetMC_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_34, T_setup_34_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_uciOnPUSCH_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_uciOnPUSCH_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_34 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_uciOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_uciOnPUSCH, T_uciOnPUSCH_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_ConfigDedicated_v1250_sequence[] = { + { &hf_lte_rrc_uciOnPUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_uciOnPUSCH }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUSCH_ConfigDedicated_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUSCH_ConfigDedicated_v1250, PUSCH_ConfigDedicated_v1250_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12_sequence_of[1] = { + { &hf_lte_rrc_zeroTxPowerCSI_RS_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ZeroTxPowerCSI_RS_r12 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12, SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12_sequence_of, + 1, maxDS_ZTP_CSI_RS_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_13_sequence[] = { + { &hf_lte_rrc_zeroTxPowerCSI_RS_List_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_13, T_setup_13_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_ds_ZeroTxPowerCSI_RS_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_13 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12, T_ds_ZeroTxPowerCSI_RS_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CSI_RS_Config_v1250_sequence[] = { + { &hf_lte_rrc_zeroTxPowerCSI_RS2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12 }, + { &hf_lte_rrc_ds_ZeroTxPowerCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CSI_RS_Config_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CSI_RS_Config_v1250, CSI_RS_Config_v1250_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_eag_5_sequence[] = { + { &hf_lte_rrc_antennaInfo_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v1250 }, + { &hf_lte_rrc_eimta_MainConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfig_r12 }, + { &hf_lte_rrc_eimta_MainConfigPCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfigServCell_r12 }, + { &hf_lte_rrc_pucch_ConfigDedicated_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v1250 }, + { &hf_lte_rrc_cqi_ReportConfigPCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1250 }, + { &hf_lte_rrc_uplinkPowerControlDedicated_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1250 }, + { &hf_lte_rrc_pusch_ConfigDedicated_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1250 }, + { &hf_lte_rrc_csi_RS_Config_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_5_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicated_sequence[] = { + { &hf_lte_rrc_pdsch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated }, + { &hf_lte_rrc_pucch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated }, + { &hf_lte_rrc_pusch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated }, + { &hf_lte_rrc_uplinkPowerControlDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated }, + { &hf_lte_rrc_tpc_PDCCH_ConfigPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_TPC_PDCCH_Config }, + { &hf_lte_rrc_tpc_PDCCH_ConfigPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_TPC_PDCCH_Config }, + { &hf_lte_rrc_cqi_ReportConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated }, + { &hf_lte_rrc_antennaInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_antennaInfo }, + { &hf_lte_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SchedulingRequestConfig }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_3 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_4 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_5 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysicalConfigDedicated, PhysicalConfigDedicated_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_t301_r9_vals[] = { + { 0, "ms100" }, + { 1, "ms200" }, + { 2, "ms300" }, + { 3, "ms400" }, + { 4, "ms600" }, + { 5, "ms1000" }, + { 6, "ms1500" }, + { 7, "ms2000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t301_r9(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_t310_r9_vals[] = { + { 0, "ms0" }, + { 1, "ms50" }, + { 2, "ms100" }, + { 3, "ms200" }, + { 4, "ms500" }, + { 5, "ms1000" }, + { 6, "ms2000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t310_r9(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_n310_r9_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n6" }, + { 5, "n8" }, + { 6, "n10" }, + { 7, "n20" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_n310_r9(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_t311_r9_vals[] = { + { 0, "ms1000" }, + { 1, "ms3000" }, + { 2, "ms5000" }, + { 3, "ms10000" }, + { 4, "ms15000" }, + { 5, "ms20000" }, + { 6, "ms30000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t311_r9(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_n311_r9_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_n311_r9(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_36_sequence[] = { + { &hf_lte_rrc_t301_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t301_r9 }, + { &hf_lte_rrc_t310_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t310_r9 }, + { &hf_lte_rrc_n310_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n310_r9 }, + { &hf_lte_rrc_t311_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t311_r9 }, + { &hf_lte_rrc_n311_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n311_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_36, T_setup_36_sequence); + + return offset; +} + + +static const value_string lte_rrc_RLF_TimersAndConstants_r9_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t RLF_TimersAndConstants_r9_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_36 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_RLF_TimersAndConstants_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RLF_TimersAndConstants_r9, RLF_TimersAndConstants_r9_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicated_eag_1_sequence[] = { + { &hf_lte_rrc_rlf_TimersAndConstants_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLF_TimersAndConstants_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_1_sequence); + + return offset; +} + + +static const value_string lte_rrc_MeasSubframePatternPCell_r10_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t MeasSubframePatternPCell_r10_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasSubframePattern_r10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_MeasSubframePatternPCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasSubframePatternPCell_r10, MeasSubframePatternPCell_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicated_eag_2_sequence[] = { + { &hf_lte_rrc_measSubframePatternPCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframePatternPCell_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_2_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_antennaPortsCount_r11_01_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_antennaPortsCount_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CRS_AssistanceInfo_r11_sequence[] = { + { &hf_lte_rrc_physCellId_r11_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_antennaPortsCount_r11_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r11_01 }, + { &hf_lte_rrc_mbsfn_SubframeConfigList_r11_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CRS_AssistanceInfo_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CRS_AssistanceInfo_r11, CRS_AssistanceInfo_r11_sequence); + + return offset; +} + + +static const per_sequence_t CRS_AssistanceInfoList_r11_sequence_of[1] = { + { &hf_lte_rrc_CRS_AssistanceInfoList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CRS_AssistanceInfo_r11 }, +}; + +static int +dissect_lte_rrc_CRS_AssistanceInfoList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CRS_AssistanceInfoList_r11, CRS_AssistanceInfoList_r11_sequence_of, + 1, maxCellReport, FALSE); + + return offset; +} + + +static const value_string lte_rrc_NeighCellsCRS_Info_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t NeighCellsCRS_Info_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_CRS_AssistanceInfoList_r11 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_NeighCellsCRS_Info_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_NeighCellsCRS_Info_r11, NeighCellsCRS_Info_r11_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicated_eag_3_sequence[] = { + { &hf_lte_rrc_neighCellsCRS_Info_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsCRS_Info_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicated_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t NeighCellsToReleaseList_r12_sequence_of[1] = { + { &hf_lte_rrc_NeighCellsToReleaseList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, +}; + +static int +dissect_lte_rrc_NeighCellsToReleaseList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_NeighCellsToReleaseList_r12, NeighCellsToReleaseList_r12_sequence_of, + 1, maxNeighCell_r12, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_crs_PortsCount_r12_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n4" }, + { 3, "spare" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_crs_PortsCount_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_P_a_vals[] = { + { 0, "dB-6" }, + { 1, "dB-4dot77" }, + { 2, "dB-3" }, + { 3, "dB-1dot77" }, + { 4, "dB0" }, + { 5, "dB1" }, + { 6, "dB2" }, + { 7, "dB3" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_P_a(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a_sequence_of[1] = { + { &hf_lte_rrc_p_aList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P_a }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a, SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a_sequence_of, + 1, maxP_a_PerNeighCell_r12, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_T_transmissionModeList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *tm_list_tvb=NULL; + proto_tree *subtree; + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, &tm_list_tvb, NULL); + + 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); + } + + + return offset; +} + + +static const per_sequence_t NeighCellsInfo_r12_sequence[] = { + { &hf_lte_rrc_physCellId_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_p_b_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_3 }, + { &hf_lte_rrc_crs_PortsCount_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r12 }, + { &hf_lte_rrc_mbsfn_SubframeConfig_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MBSFN_SubframeConfigList }, + { &hf_lte_rrc_p_aList_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a }, + { &hf_lte_rrc_transmissionModeList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionModeList_r12 }, + { &hf_lte_rrc_resAllocGranularity_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_NeighCellsInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_NeighCellsInfo_r12, NeighCellsInfo_r12_sequence); + + return offset; +} + + +static const per_sequence_t NeighCellsToAddModList_r12_sequence_of[1] = { + { &hf_lte_rrc_NeighCellsToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellsInfo_r12 }, +}; + +static int +dissect_lte_rrc_NeighCellsToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_NeighCellsToAddModList_r12, NeighCellsToAddModList_r12_sequence_of, + 1, maxNeighCell_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_setup_35_sequence[] = { + { &hf_lte_rrc_neighCellsToReleaseList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsToReleaseList_r12 }, + { &hf_lte_rrc_neighCellsToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsToAddModList_r12 }, + { &hf_lte_rrc_servCellp_a_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_a }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_35, T_setup_35_sequence); + + return offset; +} + + +static const value_string lte_rrc_NAICS_AssistanceInfo_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t NAICS_AssistanceInfo_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_35 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_NAICS_AssistanceInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_NAICS_AssistanceInfo_r12, NAICS_AssistanceInfo_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicated_eag_4_sequence[] = { + { &hf_lte_rrc_naics_Info_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NAICS_AssistanceInfo_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicated_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_4_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicated_sequence[] = { + { &hf_lte_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SRB_ToAddModList }, + { &hf_lte_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToAddModList }, + { &hf_lte_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToReleaseList }, + { &hf_lte_rrc_mac_MainConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_mac_MainConfig }, + { &hf_lte_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SPS_Config }, + { &hf_lte_rrc_physicalConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicated }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_3 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PCELL); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigDedicated, RadioResourceConfigDedicated_sequence); + + + + return offset; +} + + +static const value_string lte_rrc_CipheringAlgorithm_r12_vals[] = { + { 0, "eea0" }, + { 1, "eea1" }, + { 2, "eea2" }, + { 3, "eea3-v1130" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_CipheringAlgorithm_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + pdcp_security_info_t *p_security_algorithms; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, &value, TRUE, 0, NULL); + + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->ciphering = (enum security_ciphering_algorithm_e)value; + + + return offset; +} + + +static const value_string lte_rrc_T_integrityProtAlgorithm_vals[] = { + { 0, "eia0-v920" }, + { 1, "eia1" }, + { 2, "eia2" }, + { 3, "eia3-v1130" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_integrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + pdcp_security_info_t *p_security_algorithms; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 8, &value, TRUE, 0, NULL); + + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->integrity = (enum security_integrity_algorithm_e)value; + + + return offset; +} + + +static const per_sequence_t SecurityAlgorithmConfig_sequence[] = { + { &hf_lte_rrc_cipheringAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CipheringAlgorithm_r12 }, + { &hf_lte_rrc_integrityProtAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_integrityProtAlgorithm }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + pdcp_lte_info *p_pdcp_lte_info; + pdcp_security_info_t *p_security_algorithms; + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence); + + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->configuration_frame = actx->pinfo->fd->num; + p_security_algorithms->previous_configuration_frame = 0; + p_security_algorithms->previous_integrity = eia0; + p_security_algorithms->previous_ciphering = eea0; + + /* Look for UE identifier */ + p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0); + if (p_pdcp_lte_info != NULL) { + /* Configure algorithms */ + set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms); + } + + + return offset; +} static const value_string lte_rrc_T_dl_Bandwidth_vals[] = { @@ -6653,16 +18336,6 @@ dissect_lte_rrc_T_systemFrameNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } - -static int -dissect_lte_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 10, 10, FALSE, NULL, NULL); - - return offset; -} - - static const per_sequence_t MasterInformationBlock_sequence[] = { { &hf_lte_rrc_dl_Bandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_Bandwidth }, { &hf_lte_rrc_phich_Config, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PHICH_Config }, @@ -6685,22 +18358,97 @@ dissect_lte_rrc_MasterInformationBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_c static int -dissect_lte_rrc_BCCH_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_lte_rrc_MasterInformationBlock(tvb, offset, actx, tree, hf_index); +dissect_lte_rrc_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 9U, NULL, FALSE); return offset; } -static const per_sequence_t BCCH_BCH_Message_sequence[] = { - { &hf_lte_rrc_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BCCH_BCH_MessageType }, +static const per_sequence_t MCC_sequence_of[1] = { + { &hf_lte_rrc_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MCC_MNC_Digit }, +}; + +static int +dissect_lte_rrc_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MCC, MCC_sequence_of, + 3, 3, FALSE); + + return offset; +} + + +static const per_sequence_t MNC_sequence_of[1] = { + { &hf_lte_rrc_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MCC_MNC_Digit }, +}; + +static int +dissect_lte_rrc_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MNC, MNC_sequence_of, + 2, 3, FALSE); + + return offset; +} + + +static const per_sequence_t PLMN_Identity_sequence[] = { + { &hf_lte_rrc_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MCC }, + { &hf_lte_rrc_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MNC }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_BCCH_BCH_Message, BCCH_BCH_Message_sequence); + ett_lte_rrc_PLMN_Identity, PLMN_Identity_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_cellReservedForOperatorUse_vals[] = { + { 0, "reserved" }, + { 1, "notReserved" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PLMN_IdentityInfo_sequence[] = { + { &hf_lte_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_Identity }, + { &hf_lte_rrc_cellReservedForOperatorUse, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellReservedForOperatorUse }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PLMN_IdentityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PLMN_IdentityInfo, PLMN_IdentityInfo_sequence); + + return offset; +} + + +static const per_sequence_t PLMN_IdentityList_sequence_of[1] = { + { &hf_lte_rrc_PLMN_IdentityList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_IdentityInfo }, +}; + +static int +dissect_lte_rrc_PLMN_IdentityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PLMN_IdentityList, PLMN_IdentityList_sequence_of, + 1, maxPLMN_r11, FALSE); return offset; } @@ -6708,8 +18456,615 @@ dissect_lte_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int -dissect_lte_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); +dissect_lte_rrc_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 28, 28, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_cellBarred_vals[] = { + { 0, "barred" }, + { 1, "notBarred" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_cellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_intraFreqReselection_vals[] = { + { 0, "allowed" }, + { 1, "notAllowed" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_CSG_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 27, 27, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_cellAccessRelatedInfo_sequence[] = { + { &hf_lte_rrc_plmn_IdentityList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_IdentityList }, + { &hf_lte_rrc_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TrackingAreaCode }, + { &hf_lte_rrc_cellIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIdentity }, + { &hf_lte_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellBarred }, + { &hf_lte_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_intraFreqReselection }, + { &hf_lte_rrc_csg_Indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_csg_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSG_Identity }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellAccessRelatedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellAccessRelatedInfo, T_cellAccessRelatedInfo_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_Q_RxLevMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -70, -22, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_cellSelectionInfo_sequence[] = { + { &hf_lte_rrc_q_RxLevMin , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_RxLevMin }, + { &hf_lte_rrc_q_RxLevMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_8 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellSelectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellSelectionInfo, T_cellSelectionInfo_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -30, 33U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + + +static int +dissect_lte_rrc_FreqBandIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxFBI, &value, FALSE); + + set_freq_band_indicator(value, actx); + + + return offset; +} + + +static const value_string lte_rrc_T_si_Periodicity_vals[] = { + { 0, "rf8" }, + { 1, "rf16" }, + { 2, "rf32" }, + { 3, "rf64" }, + { 4, "rf128" }, + { 5, "rf256" }, + { 6, "rf512" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_si_Periodicity(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_SIB_Type_vals[] = { + { 0, "sibType3" }, + { 1, "sibType4" }, + { 2, "sibType5" }, + { 3, "sibType6" }, + { 4, "sibType7" }, + { 5, "sibType8" }, + { 6, "sibType9" }, + { 7, "sibType10" }, + { 8, "sibType11" }, + { 9, "sibType12-v920" }, + { 10, "sibType13-v920" }, + { 11, "sibType14-v1130" }, + { 12, "sibType15-v1130" }, + { 13, "sibType16-v1130" }, + { 14, "sibType17-v1250" }, + { 15, "sibType18-v1250" }, + { 16, "sibType19-v1250" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_SIB_Type_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_SIB_Type_vals); + + +static int +dissect_lte_rrc_SIB_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, + 16, NULL, TRUE, 1, NULL); + + return offset; +} + + +static const per_sequence_t SIB_MappingInfo_sequence_of[1] = { + { &hf_lte_rrc_SIB_MappingInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SIB_Type }, +}; + +static int +dissect_lte_rrc_SIB_MappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SIB_MappingInfo, SIB_MappingInfo_sequence_of, + 0, maxSIB_1, FALSE); + + return offset; +} + + +static const per_sequence_t SchedulingInfo_sequence[] = { + { &hf_lte_rrc_si_Periodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_si_Periodicity }, + { &hf_lte_rrc_sib_MappingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SIB_MappingInfo }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SchedulingInfo, SchedulingInfo_sequence); + + return offset; +} + + +static const per_sequence_t SchedulingInfoList_sequence_of[1] = { + { &hf_lte_rrc_SchedulingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SchedulingInfo }, +}; + +static int +dissect_lte_rrc_SchedulingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SchedulingInfoList, SchedulingInfoList_sequence_of, + 1, maxSI_Message, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_subframeAssignment_vals[] = { + { 0, "sa0" }, + { 1, "sa1" }, + { 2, "sa2" }, + { 3, "sa3" }, + { 4, "sa4" }, + { 5, "sa5" }, + { 6, "sa6" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_subframeAssignment(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_specialSubframePatterns_vals[] = { + { 0, "ssp0" }, + { 1, "ssp1" }, + { 2, "ssp2" }, + { 3, "ssp3" }, + { 4, "ssp4" }, + { 5, "ssp5" }, + { 6, "ssp6" }, + { 7, "ssp7" }, + { 8, "ssp8" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_specialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 9, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t TDD_Config_sequence[] = { + { &hf_lte_rrc_subframeAssignment, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_subframeAssignment }, + { &hf_lte_rrc_specialSubframePatterns, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_specialSubframePatterns }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_TDD_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_TDD_Config, TDD_Config_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_si_WindowLength_vals[] = { + { 0, "ms1" }, + { 1, "ms2" }, + { 2, "ms5" }, + { 3, "ms10" }, + { 4, "ms15" }, + { 5, "ms20" }, + { 6, "ms40" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_si_WindowLength(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_systemInfoValueTag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + guint32 value; + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 31U, &value, FALSE); + + /* Track whether systemInfoValue has changed since last seen, indicating new SI config + TODO: add link back to previous config and (if known) time since previous config + was first seen */ + if (!actx->pinfo->fd->flags.visited) { + if (system_info_value_current_set && (value != system_info_value_current)) { + /* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */ + g_hash_table_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->fd->num), + GUINT_TO_POINTER(system_info_value_current+1)); + } + system_info_value_current_set = TRUE; + system_info_value_current = value; + } + else { + /* Look up indication of changed info value from hash table */ + gpointer p_previous = g_hash_table_lookup(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->fd->num)); + if (p_previous != NULL) { + /* Subtract one from stored result to get previous value */ + guint32 previous = GPOINTER_TO_UINT(p_previous) - 1; + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_si_info_value_changed, + "SI Info Value changed (now %u, was %u)", value, previous); + } + } + + + return offset; +} + + + +static int +dissect_lte_rrc_T_lateNonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformationBlockType1_v8h0_IEs_PDU); + + return offset; +} + + +static const value_string lte_rrc_T_ims_EmergencySupport_r9_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_ims_EmergencySupport_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_Q_QualMin_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -34, -3, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_q_QualMinOffset_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 8U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t CellSelectionInfo_v920_sequence[] = { + { &hf_lte_rrc_q_QualMin_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, + { &hf_lte_rrc_q_QualMinOffset_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_q_QualMinOffset_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellSelectionInfo_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellSelectionInfo_v920, CellSelectionInfo_v920_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_specialSubframePatterns_v1130_vals[] = { + { 0, "ssp7" }, + { 1, "ssp9" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_specialSubframePatterns_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t TDD_Config_v1130_sequence[] = { + { &hf_lte_rrc_specialSubframePatterns_v1130, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_specialSubframePatterns_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_TDD_Config_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_TDD_Config_v1130, TDD_Config_v1130_sequence); + + return offset; +} + + +static const per_sequence_t CellSelectionInfo_v1130_sequence[] = { + { &hf_lte_rrc_q_QualMinWB_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellSelectionInfo_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellSelectionInfo_v1130, CellSelectionInfo_v1130_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_category0Allowed_r12_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_category0Allowed_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_cellAccessRelatedInfo_v1250_sequence[] = { + { &hf_lte_rrc_category0Allowed_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_category0Allowed_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellAccessRelatedInfo_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellAccessRelatedInfo_v1250, T_cellAccessRelatedInfo_v1250_sequence); + + return offset; +} + + +static const per_sequence_t CellSelectionInfo_v1250_sequence[] = { + { &hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CellSelectionInfo_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CellSelectionInfo_v1250, CellSelectionInfo_v1250_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_freqBandIndicatorPriority_r12_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_freqBandIndicatorPriority_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_41_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_41, T_nonCriticalExtension_41_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType1_v1250_IEs_sequence[] = { + { &hf_lte_rrc_cellAccessRelatedInfo_v1250, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellAccessRelatedInfo_v1250 }, + { &hf_lte_rrc_cellSelectionInfo_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v1250 }, + { &hf_lte_rrc_freqBandIndicatorPriority_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_freqBandIndicatorPriority_r12 }, + { &hf_lte_rrc_nonCriticalExtension_104, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_41 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType1_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType1_v1250_IEs, SystemInformationBlockType1_v1250_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType1_v1130_IEs_sequence[] = { + { &hf_lte_rrc_tdd_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config_v1130 }, + { &hf_lte_rrc_cellSelectionInfo_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v1130 }, + { &hf_lte_rrc_nonCriticalExtension_103, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v1250_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType1_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType1_v1130_IEs, SystemInformationBlockType1_v1130_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType1_v920_IEs_sequence[] = { + { &hf_lte_rrc_ims_EmergencySupport_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ims_EmergencySupport_r9 }, + { &hf_lte_rrc_cellSelectionInfo_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v920 }, + { &hf_lte_rrc_nonCriticalExtension_102, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v1130_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType1_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType1_v920_IEs, SystemInformationBlockType1_v920_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType1_v890_IEs_sequence[] = { + { &hf_lte_rrc_lateNonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_01 }, + { &hf_lte_rrc_nonCriticalExtension_99, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v920_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType1_v890_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType1_v890_IEs, SystemInformationBlockType1_v890_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType1_sequence[] = { + { &hf_lte_rrc_cellAccessRelatedInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellAccessRelatedInfo }, + { &hf_lte_rrc_cellSelectionInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellSelectionInfo }, + { &hf_lte_rrc_p_Max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, + { &hf_lte_rrc_freqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator }, + { &hf_lte_rrc_schedulingInfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SchedulingInfoList }, + { &hf_lte_rrc_tdd_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, + { &hf_lte_rrc_si_WindowLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_si_WindowLength }, + { &hf_lte_rrc_systemInfoValueTag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_systemInfoValueTag }, + { &hf_lte_rrc_nonCriticalExtension_98, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v890_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType1, SystemInformationBlockType1_sequence); return offset; } @@ -7113,16 +19468,6 @@ dissect_lte_rrc_T_ra_SupervisionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } - -static int -dissect_lte_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 8U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t RACH_ConfigCommon_sequence[] = { { &hf_lte_rrc_preambleInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_preambleInfo }, { &hf_lte_rrc_powerRampingParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PowerRampingParameters }, @@ -7248,16 +19593,6 @@ dissect_lte_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx -static int -dissect_lte_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 15U, NULL, FALSE); - - return offset; -} - - - static int dissect_lte_rrc_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -7312,16 +19647,6 @@ dissect_lte_rrc_T_referenceSignalPower(tvbuff_t *tvb _U_, int offset _U_, asn1_c } - -static int -dissect_lte_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 3U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t PDSCH_ConfigCommon_sequence[] = { { &hf_lte_rrc_referenceSignalPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_referenceSignalPower }, { &hf_lte_rrc_p_b , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_3 }, @@ -7337,16 +19662,6 @@ dissect_lte_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 4U, NULL, FALSE); - - return offset; -} - - static const value_string lte_rrc_T_hoppingMode_vals[] = { { 0, "interSubFrame" }, { 1, "intraAndInterSubFrame" }, @@ -7400,16 +19715,6 @@ dissect_lte_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } - -static int -dissect_lte_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 7U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t UL_ReferenceSignalsPUSCH_sequence[] = { { &hf_lte_rrc_groupHoppingEnabled, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, { &hf_lte_rrc_groupAssignmentPUSCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_29 }, @@ -7459,16 +19764,6 @@ dissect_lte_rrc_T_deltaPUCCH_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2047U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t PUCCH_ConfigCommon_sequence[] = { { &hf_lte_rrc_deltaPUCCH_Shift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaPUCCH_Shift }, { &hf_lte_rrc_nRB_CQI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_98 }, @@ -7486,15 +19781,6 @@ dissect_lte_rrc_PUCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_null(tvb, offset, actx, tree, hf_index); - - return offset; -} - - static const value_string lte_rrc_T_srs_BandwidthConfig_vals[] = { { 0, "bw0" }, { 1, "bw1" }, @@ -7562,7 +19848,7 @@ dissect_lte_rrc_T_srs_MaxUpPts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const per_sequence_t T_setup_41_sequence[] = { +static const per_sequence_t T_setup_39_sequence[] = { { &hf_lte_rrc_srs_BandwidthConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_BandwidthConfig }, { &hf_lte_rrc_srs_SubframeConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_SubframeConfig }, { &hf_lte_rrc_ackNackSRS_SimultaneousTransmission, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, @@ -7571,9 +19857,9 @@ static const per_sequence_t T_setup_41_sequence[] = { }; static int -dissect_lte_rrc_T_setup_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_setup_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_41, T_setup_41_sequence); + ett_lte_rrc_T_setup_39, T_setup_39_sequence); return offset; } @@ -7587,7 +19873,7 @@ static const value_string lte_rrc_SoundingRS_UL_ConfigCommon_vals[] = { static const per_choice_t SoundingRS_UL_ConfigCommon_choice[] = { { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_41 }, + { 1, &hf_lte_rrc_setup_45 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_39 }, { 0, NULL, 0, NULL } }; @@ -7614,28 +19900,6 @@ dissect_lte_rrc_T_p0_NominalPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string lte_rrc_T_alpha_vals[] = { - { 0, "al0" }, - { 1, "al04" }, - { 2, "al05" }, - { 3, "al06" }, - { 4, "al07" }, - { 5, "al08" }, - { 6, "al09" }, - { 7, "al1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_alpha(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, FALSE, 0, NULL); - - return offset; -} - - static int dissect_lte_rrc_T_p0_NominalPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -7753,19 +20017,9 @@ dissect_lte_rrc_DeltaFList_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } - -static int -dissect_lte_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -1, 6U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t UplinkPowerControlCommon_sequence[] = { { &hf_lte_rrc_p0_NominalPUSCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH }, - { &hf_lte_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_alpha }, + { &hf_lte_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Alpha_r12 }, { &hf_lte_rrc_p0_NominalPUCCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUCCH }, { &hf_lte_rrc_deltaFList_PUCCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DeltaFList_PUCCH }, { &hf_lte_rrc_deltaPreambleMsg3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, @@ -7934,22 +20188,22 @@ dissect_lte_rrc_T_txFailParams_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t RACH_ConfigCommon_v12xy_sequence[] = { +static const per_sequence_t RACH_ConfigCommon_v1250_sequence[] = { { &hf_lte_rrc_txFailParams_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_txFailParams_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RACH_ConfigCommon_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RACH_ConfigCommon_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RACH_ConfigCommon_v12xy, RACH_ConfigCommon_v12xy_sequence); + ett_lte_rrc_RACH_ConfigCommon_v1250, RACH_ConfigCommon_v1250_sequence); return offset; } static const per_sequence_t RadioResourceConfigCommonSIB_eag_2_sequence[] = { - { &hf_lte_rrc_rach_ConfigCommon_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigCommon_v12xy }, + { &hf_lte_rrc_rach_ConfigCommon_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigCommon_v1250 }, { NULL, 0, 0, NULL } }; @@ -8135,16 +20389,6 @@ dissect_lte_rrc_UE_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } - -static int -dissect_lte_rrc_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxEARFCN, NULL, FALSE); - - return offset; -} - - static const value_string lte_rrc_T_ul_Bandwidth_vals[] = { { 0, "n6" }, { 1, "n15" }, @@ -8165,16 +20409,6 @@ dissect_lte_rrc_T_ul_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } - -static int -dissect_lte_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 32U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t T_freqInfo_sequence[] = { { &hf_lte_rrc_ul_CarrierFreq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA }, { &hf_lte_rrc_ul_Bandwidth, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Bandwidth }, @@ -8191,120 +20425,6 @@ dissect_lte_rrc_T_freqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const value_string lte_rrc_T_radioframeAllocationPeriod_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "n8" }, - { 4, "n16" }, - { 5, "n32" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_radioframeAllocationPeriod(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, - 6, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 6, 6, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 24, 24, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_subframeAllocation_vals[] = { - { 0, "oneFrame" }, - { 1, "fourFrames" }, - { 0, NULL } -}; - -static const per_choice_t T_subframeAllocation_choice[] = { - { 0, &hf_lte_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, - { 1, &hf_lte_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_24 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subframeAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subframeAllocation, T_subframeAllocation_choice, - NULL); - - return offset; -} - - -static const per_sequence_t MBSFN_SubframeConfig_sequence[] = { - { &hf_lte_rrc_radioframeAllocationPeriod, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_radioframeAllocationPeriod }, - { &hf_lte_rrc_radioframeAllocationOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_7 }, - { &hf_lte_rrc_subframeAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_subframeAllocation }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MBSFN_SubframeConfig, MBSFN_SubframeConfig_sequence); - - return offset; -} - - -static const per_sequence_t MBSFN_SubframeConfigList_sequence_of[1] = { - { &hf_lte_rrc_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfig }, -}; - -static int -dissect_lte_rrc_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MBSFN_SubframeConfigList, MBSFN_SubframeConfigList_sequence_of, - 1, maxMBSFN_Allocations, FALSE); - - return offset; -} - - -static const value_string lte_rrc_TimeAlignmentTimer_vals[] = { - { 0, "sf500" }, - { 1, "sf750" }, - { 2, "sf1280" }, - { 3, "sf1920" }, - { 4, "sf2560" }, - { 5, "sf5120" }, - { 6, "sf10240" }, - { 7, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_TimeAlignmentTimer(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, FALSE, 0, NULL); - - return offset; -} - - static int dissect_lte_rrc_T_lateNonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -8479,14 +20599,14 @@ dissect_lte_rrc_AC_BarringPerPLMN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t AC_BarringPerPLMNList_r12_sequence_of[1] = { - { &hf_lte_rrc_AC_BarringPerPLMNList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AC_BarringPerPLMN_r12 }, +static const per_sequence_t AC_BarringPerPLMN_List_r12_sequence_of[1] = { + { &hf_lte_rrc_AC_BarringPerPLMN_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AC_BarringPerPLMN_r12 }, }; static int -dissect_lte_rrc_AC_BarringPerPLMNList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_AC_BarringPerPLMN_List_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AC_BarringPerPLMNList_r12, AC_BarringPerPLMNList_r12_sequence_of, + ett_lte_rrc_AC_BarringPerPLMN_List_r12, AC_BarringPerPLMN_List_r12_sequence_of, 1, maxPLMN_r11, FALSE); return offset; @@ -8497,7 +20617,7 @@ static const per_sequence_t SystemInformationBlockType2_eag_3_sequence[] = { { &hf_lte_rrc_ac_BarringSkipForMMTELVoice_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ac_BarringSkipForMMTELVoice_r12 }, { &hf_lte_rrc_ac_BarringSkipForMMTELVideo_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ac_BarringSkipForMMTELVideo_r12 }, { &hf_lte_rrc_ac_BarringSkipForSMS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ac_BarringSkipForSMS_r12 }, - { &hf_lte_rrc_ac_BarringPerPLMNList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AC_BarringPerPLMNList_r12 }, + { &hf_lte_rrc_ac_BarringPerPLMN_List_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AC_BarringPerPLMN_List_r12 }, { NULL, 0, 0, NULL } }; @@ -8535,6 +20655,3453 @@ dissect_lte_rrc_SystemInformationBlockType2(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string lte_rrc_T_antennaPortsCount_vals[] = { + { 0, "an1" }, + { 1, "an2" }, + { 2, "an4" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_antennaPortsCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t AntennaInfoCommon_sequence[] = { + { &hf_lte_rrc_antennaPortsCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AntennaInfoCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AntennaInfoCommon, AntennaInfoCommon_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_sourceSystemInformationBlockType1Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformationBlockType1_v890_IEs_PDU); + + return offset; +} + + +static const value_string lte_rrc_T_proximityIndicationEUTRA_r9_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_proximityIndicationEUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_proximityIndicationUTRA_r9_vals[] = { + { 0, "enabled" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_proximityIndicationUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ReportProximityConfig_r9_sequence[] = { + { &hf_lte_rrc_proximityIndicationEUTRA_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_proximityIndicationEUTRA_r9 }, + { &hf_lte_rrc_proximityIndicationUTRA_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_proximityIndicationUTRA_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReportProximityConfig_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReportProximityConfig_r9, ReportProximityConfig_r9_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_idc_Indication_r11_01_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_idc_Indication_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_autonomousDenialSubframes_r11_vals[] = { + { 0, "n2" }, + { 1, "n5" }, + { 2, "n10" }, + { 3, "n15" }, + { 4, "n20" }, + { 5, "n30" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_autonomousDenialSubframes_r11(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_autonomousDenialValidity_r11_vals[] = { + { 0, "sf200" }, + { 1, "sf500" }, + { 2, "sf1000" }, + { 3, "sf2000" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_autonomousDenialValidity_r11(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_autonomousDenialParameters_r11_sequence[] = { + { &hf_lte_rrc_autonomousDenialSubframes_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_autonomousDenialSubframes_r11 }, + { &hf_lte_rrc_autonomousDenialValidity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_autonomousDenialValidity_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_autonomousDenialParameters_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_autonomousDenialParameters_r11, T_autonomousDenialParameters_r11_sequence); + + return offset; +} + + +static const per_sequence_t IDC_Config_r11_sequence[] = { + { &hf_lte_rrc_idc_Indication_r11_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_idc_Indication_r11_01 }, + { &hf_lte_rrc_autonomousDenialParameters_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_autonomousDenialParameters_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_IDC_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_IDC_Config_r11, IDC_Config_r11_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_powerPrefIndicationTimer_r11_vals[] = { + { 0, "s0" }, + { 1, "s0dot5" }, + { 2, "s1" }, + { 3, "s2" }, + { 4, "s5" }, + { 5, "s10" }, + { 6, "s20" }, + { 7, "s30" }, + { 8, "s60" }, + { 9, "s90" }, + { 10, "s120" }, + { 11, "s300" }, + { 12, "s600" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_powerPrefIndicationTimer_r11(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_54_sequence[] = { + { &hf_lte_rrc_powerPrefIndicationTimer_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_powerPrefIndicationTimer_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_54, T_setup_54_sequence); + + return offset; +} + + +static const value_string lte_rrc_PowerPrefIndicationConfig_r11_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t PowerPrefIndicationConfig_r11_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_63 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_54 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_PowerPrefIndicationConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PowerPrefIndicationConfig_r11, PowerPrefIndicationConfig_r11_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_obtainLocation_r11_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_obtainLocation_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t ObtainLocationConfig_r11_sequence[] = { + { &hf_lte_rrc_obtainLocation_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_obtainLocation_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ObtainLocationConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ObtainLocationConfig_r11, ObtainLocationConfig_r11_sequence); + + return offset; +} + + +static const per_sequence_t OtherConfig_r9_eag_1_sequence[] = { + { &hf_lte_rrc_idc_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IDC_Config_r11 }, + { &hf_lte_rrc_powerPrefIndicationConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PowerPrefIndicationConfig_r11 }, + { &hf_lte_rrc_obtainLocationConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ObtainLocationConfig_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_OtherConfig_r9_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OtherConfig_r9_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t OtherConfig_r9_sequence[] = { + { &hf_lte_rrc_reportProximityConfig_r9, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportProximityConfig_r9 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_OtherConfig_r9_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_OtherConfig_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_OtherConfig_r9, OtherConfig_r9_sequence); + + return offset; +} + + +static const per_sequence_t AS_Config_eag_1_sequence[] = { + { &hf_lte_rrc_sourceSystemInformationBlockType1Ext, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sourceSystemInformationBlockType1Ext }, + { &hf_lte_rrc_sourceOtherConfig_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OtherConfig_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_1_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_SCellIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 7U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_cellIdentification_r10_sequence[] = { + { &hf_lte_rrc_physCellId_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_dl_CarrierFreq_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellIdentification_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellIdentification_r10, T_cellIdentification_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_dl_Bandwidth_r10_vals[] = { + { 0, "n6" }, + { 1, "n15" }, + { 2, "n25" }, + { 3, "n50" }, + { 4, "n75" }, + { 5, "n100" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_dl_Bandwidth_r10(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nonUL_Configuration_r10_01_sequence[] = { + { &hf_lte_rrc_dl_Bandwidth_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_Bandwidth_r10 }, + { &hf_lte_rrc_antennaInfoCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AntennaInfoCommon }, + { &hf_lte_rrc_mbsfn_SubframeConfigList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFN_SubframeConfigList }, + { &hf_lte_rrc_phich_Config_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PHICH_Config }, + { &hf_lte_rrc_pdsch_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_ConfigCommon }, + { &hf_lte_rrc_tdd_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonUL_Configuration_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonUL_Configuration_r10_01, T_nonUL_Configuration_r10_01_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_ul_Bandwidth_r10_vals[] = { + { 0, "n6" }, + { 1, "n15" }, + { 2, "n25" }, + { 3, "n50" }, + { 4, "n75" }, + { 5, "n100" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_ul_Bandwidth_r10(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_ul_FreqInfo_r10_sequence[] = { + { &hf_lte_rrc_ul_CarrierFreq_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA }, + { &hf_lte_rrc_ul_Bandwidth_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Bandwidth_r10 }, + { &hf_lte_rrc_additionalSpectrumEmissionSCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalSpectrumEmission }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ul_FreqInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ul_FreqInfo_r10, T_ul_FreqInfo_r10_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_NominalPUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -126, 24U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + +static const per_sequence_t UplinkPowerControlCommonSCell_r10_sequence[] = { + { &hf_lte_rrc_p0_NominalPUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_r10 }, + { &hf_lte_rrc_alpha_r10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Alpha_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlCommonSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlCommonSCell_r10, UplinkPowerControlCommonSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t PRACH_ConfigSCell_r10_sequence[] = { + { &hf_lte_rrc_prach_ConfigIndex_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_63 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PRACH_ConfigSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PRACH_ConfigSCell_r10, PRACH_ConfigSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_ul_Configuration_r10_01_sequence[] = { + { &hf_lte_rrc_ul_FreqInfo_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ul_FreqInfo_r10 }, + { &hf_lte_rrc_p_Max_r10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, + { &hf_lte_rrc_uplinkPowerControlCommonSCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UplinkPowerControlCommonSCell_r10 }, + { &hf_lte_rrc_soundingRS_UL_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SoundingRS_UL_ConfigCommon }, + { &hf_lte_rrc_ul_CyclicPrefixLength_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_CyclicPrefixLength }, + { &hf_lte_rrc_prach_ConfigSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_ConfigSCell_r10 }, + { &hf_lte_rrc_pusch_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PUSCH_ConfigCommon }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ul_Configuration_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ul_Configuration_r10_01, T_ul_Configuration_r10_01_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigCommonSCell_r10_eag_1_sequence[] = { + { &hf_lte_rrc_ul_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigCommonSCell_r10_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t T_ra_SupervisionInfo_r11_sequence[] = { + { &hf_lte_rrc_preambleTransMax_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PreambleTransMax }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ra_SupervisionInfo_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ra_SupervisionInfo_r11, T_ra_SupervisionInfo_r11_sequence); + + return offset; +} + + +static const per_sequence_t RACH_ConfigCommonSCell_r11_sequence[] = { + { &hf_lte_rrc_powerRampingParameters_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PowerRampingParameters }, + { &hf_lte_rrc_ra_SupervisionInfo_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ra_SupervisionInfo_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RACH_ConfigCommonSCell_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RACH_ConfigCommonSCell_r11, RACH_ConfigCommonSCell_r11_sequence); + + return offset; +} + + +static const per_sequence_t PRACH_Config_sequence[] = { + { &hf_lte_rrc_rootSequenceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_837 }, + { &hf_lte_rrc_prach_ConfigInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_ConfigInfo }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PRACH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PRACH_Config, PRACH_Config_sequence); + + return offset; +} + + +static const per_sequence_t UplinkPowerControlCommonSCell_v1130_sequence[] = { + { &hf_lte_rrc_deltaPreambleMsg3_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlCommonSCell_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlCommonSCell_v1130, UplinkPowerControlCommonSCell_v1130_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigCommonSCell_r10_eag_2_sequence[] = { + { &hf_lte_rrc_rach_ConfigCommonSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigCommonSCell_r11 }, + { &hf_lte_rrc_prach_ConfigSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_Config }, + { &hf_lte_rrc_tdd_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config_v1130 }, + { &hf_lte_rrc_uplinkPowerControlCommonSCell_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlCommonSCell_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigCommonSCell_r10_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigCommonSCell_r10_sequence[] = { + { &hf_lte_rrc_nonUL_Configuration_r10_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_nonUL_Configuration_r10_01 }, + { &hf_lte_rrc_ul_Configuration_r10_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Configuration_r10_01 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigCommonSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigCommonSCell_r10, RadioResourceConfigCommonSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_own_r10_sequence[] = { + { &hf_lte_rrc_cif_Presence_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_own_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_own_r10, T_own_r10_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_ServCellIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_other_r10_sequence[] = { + { &hf_lte_rrc_schedulingCellId_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ServCellIndex_r10 }, + { &hf_lte_rrc_pdsch_Start_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_other_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_other_r10, T_other_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_schedulingCellInfo_r10_vals[] = { + { 0, "own-r10" }, + { 1, "other-r10" }, + { 0, NULL } +}; + +static const per_choice_t T_schedulingCellInfo_r10_choice[] = { + { 0, &hf_lte_rrc_own_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_own_r10 }, + { 1, &hf_lte_rrc_other_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_other_r10 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_schedulingCellInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_schedulingCellInfo_r10, T_schedulingCellInfo_r10_choice, + NULL); + + return offset; +} + + +static const per_sequence_t CrossCarrierSchedulingConfig_r10_sequence[] = { + { &hf_lte_rrc_schedulingCellInfo_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_schedulingCellInfo_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CrossCarrierSchedulingConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CrossCarrierSchedulingConfig_r10, CrossCarrierSchedulingConfig_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_nonUL_Configuration_r10_sequence[] = { + { &hf_lte_rrc_antennaInfo_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_r10 }, + { &hf_lte_rrc_crossCarrierSchedulingConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CrossCarrierSchedulingConfig_r10 }, + { &hf_lte_rrc_csi_RS_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_r10 }, + { &hf_lte_rrc_pdsch_ConfigDedicated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonUL_Configuration_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonUL_Configuration_r10, T_nonUL_Configuration_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_groupHoppingDisabled_r10_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_groupHoppingDisabled_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_dmrs_WithOCC_Activated_r10_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PUSCH_ConfigDedicatedSCell_r10_sequence[] = { + { &hf_lte_rrc_groupHoppingDisabled_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_groupHoppingDisabled_r10_01 }, + { &hf_lte_rrc_dmrs_WithOCC_Activated_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PUSCH_ConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PUSCH_ConfigDedicatedSCell_r10, PUSCH_ConfigDedicatedSCell_r10_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_UE_PUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -8, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const value_string lte_rrc_T_deltaMCS_Enabled_r10_vals[] = { + { 0, "en0" }, + { 1, "en1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaMCS_Enabled_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_pathlossReferenceLinking_r10_vals[] = { + { 0, "pCell" }, + { 1, "sCell" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pathlossReferenceLinking_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t UplinkPowerControlDedicatedSCell_r10_sequence[] = { + { &hf_lte_rrc_p0_UE_PUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_r10 }, + { &hf_lte_rrc_deltaMCS_Enabled_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaMCS_Enabled_r10 }, + { &hf_lte_rrc_accumulationEnabled_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_pSRS_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_pSRS_OffsetAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_filterCoefficient_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, + { &hf_lte_rrc_pathlossReferenceLinking_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pathlossReferenceLinking_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlDedicatedSCell_r10, UplinkPowerControlDedicatedSCell_r10_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_pmi_RI_Report_r10_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_pmi_RI_Report_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CQI_ReportConfigSCell_r10_sequence[] = { + { &hf_lte_rrc_cqi_ReportModeAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportModeAperiodic }, + { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, + { &hf_lte_rrc_cqi_ReportPeriodicSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic_r10 }, + { &hf_lte_rrc_pmi_RI_Report_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CQI_ReportConfigSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CQI_ReportConfigSCell_r10, CQI_ReportConfigSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t T_ul_Configuration_r10_sequence[] = { + { &hf_lte_rrc_antennaInfoUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoUL_r10 }, + { &hf_lte_rrc_pusch_ConfigDedicatedSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicatedSCell_r10 }, + { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicatedSCell_r10 }, + { &hf_lte_rrc_cqi_ReportConfigSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfigSCell_r10 }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020 }, + { &hf_lte_rrc_soundingRS_UL_ConfigDedicatedAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ul_Configuration_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ul_Configuration_r10, T_ul_Configuration_r10_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicatedSCell_r10_eag_1_sequence[] = { + { &hf_lte_rrc_csi_RS_ConfigNZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigNZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11 }, + { &hf_lte_rrc_csi_RS_ConfigZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11 }, + { &hf_lte_rrc_epdcch_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_Config_r11 }, + { &hf_lte_rrc_pdsch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated_v1130 }, + { &hf_lte_rrc_cqi_ReportConfig_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1130 }, + { &hf_lte_rrc_pusch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1130 }, + { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1130 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicatedSCell_r10_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicatedSCell_r10_eag_2_sequence[] = { + { &hf_lte_rrc_antennaInfo_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v1250 }, + { &hf_lte_rrc_eimta_MainConfigSCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfigServCell_r12 }, + { &hf_lte_rrc_cqi_ReportConfigSCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1250 }, + { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1250 }, + { &hf_lte_rrc_csi_RS_Config_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicatedSCell_r10_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t PhysicalConfigDedicatedSCell_r10_sequence[] = { + { &hf_lte_rrc_nonUL_Configuration_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_nonUL_Configuration_r10 }, + { &hf_lte_rrc_ul_Configuration_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Configuration_r10 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PhysicalConfigDedicatedSCell_r10, PhysicalConfigDedicatedSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfigSCell_r11_sequence[] = { + { &hf_lte_rrc_stag_Id_r11 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_STAG_Id_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfigSCell_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MAC_MainConfigSCell_r11, MAC_MainConfigSCell_r11_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_eag_1_sequence[] = { + { &hf_lte_rrc_mac_MainConfigSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MAC_MainConfigSCell_r11 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicatedSCell_r10_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_eag_2_sequence[] = { + { &hf_lte_rrc_naics_Info_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NAICS_AssistanceInfo_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicatedSCell_r10_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_sequence[] = { + { &hf_lte_rrc_physicalConfigDedicatedSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigDedicatedSCell_r10, RadioResourceConfigDedicatedSCell_r10_sequence); + + return offset; +} + + +static const per_sequence_t SCellToAddMod_r10_eag_1_sequence[] = { + { &hf_lte_rrc_dl_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SCellToAddMod_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellToAddMod_r10_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t SCellToAddMod_r10_sequence[] = { + { &hf_lte_rrc_sCellIndex_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, + { &hf_lte_rrc_cellIdentification_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellIdentification_r10 }, + { &hf_lte_rrc_radioResourceConfigCommonSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigCommonSCell_r10 }, + { &hf_lte_rrc_radioResourceConfigDedicatedSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellToAddMod_r10_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SCellToAddMod_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCellToAddMod_r10, SCellToAddMod_r10_sequence); + + return offset; +} + + +static const per_sequence_t SCellToAddModList_r10_sequence_of[1] = { + { &hf_lte_rrc_SCellToAddModList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellToAddMod_r10 }, +}; + +static int +dissect_lte_rrc_SCellToAddModList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCellToAddModList_r10, SCellToAddModList_r10_sequence_of, + 1, maxSCell_r10, FALSE); + + return offset; +} + + +static const per_sequence_t AS_Config_eag_2_sequence[] = { + { &hf_lte_rrc_sourceSCellConfigList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCellToAddModList_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t T_scg_r12_sequence[] = { + { &hf_lte_rrc_eps_BearerIdentity_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_pdcp_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDCP_Config }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_scg_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_scg_r12, T_scg_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_drb_Type_r12_vals[] = { + { 0, "split-r12" }, + { 1, "scg-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_drb_Type_r12_choice[] = { + { 0, &hf_lte_rrc_split_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_scg_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_scg_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_drb_Type_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_drb_Type_r12, T_drb_Type_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_3_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 3U, 10U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t DRB_ToAddModSCG_r12_sequence[] = { + { &hf_lte_rrc_drb_Identity_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, + { &hf_lte_rrc_drb_Type_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_Type_r12 }, + { &hf_lte_rrc_rlc_ConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config }, + { &hf_lte_rrc_rlc_Config_v1250, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config_v1250 }, + { &hf_lte_rrc_logicalChannelIdentitySCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_3_10 }, + { &hf_lte_rrc_logicalChannelConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_LogicalChannelConfig }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_DRB_ToAddModSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRB_ToAddModSCG_r12, DRB_ToAddModSCG_r12_sequence); + + return offset; +} + + +static const per_sequence_t DRB_ToAddModListSCG_r12_sequence_of[1] = { + { &hf_lte_rrc_DRB_ToAddModListSCG_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddModSCG_r12 }, +}; + +static int +dissect_lte_rrc_DRB_ToAddModListSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_DRB_ToAddModListSCG_r12, DRB_ToAddModListSCG_r12_sequence_of, + 1, maxDRB, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_t313_r12_vals[] = { + { 0, "ms0" }, + { 1, "ms50" }, + { 2, "ms100" }, + { 3, "ms200" }, + { 4, "ms500" }, + { 5, "ms1000" }, + { 6, "ms2000" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t313_r12(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, + 7, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_n313_r12_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n6" }, + { 5, "n8" }, + { 6, "n10" }, + { 7, "n20" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_n313_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_n314_r12_vals[] = { + { 0, "n1" }, + { 1, "n2" }, + { 2, "n3" }, + { 3, "n4" }, + { 4, "n5" }, + { 5, "n6" }, + { 6, "n8" }, + { 7, "n10" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_n314_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_setup_37_sequence[] = { + { &hf_lte_rrc_t313_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t313_r12 }, + { &hf_lte_rrc_n313_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n313_r12 }, + { &hf_lte_rrc_n314_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n314_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_37, T_setup_37_sequence); + + return offset; +} + + +static const value_string lte_rrc_RLF_TimersAndConstantsSCG_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t RLF_TimersAndConstantsSCG_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_37 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_RLF_TimersAndConstantsSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RLF_TimersAndConstantsSCG_r12, RLF_TimersAndConstantsSCG_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicatedSCG_r12_sequence[] = { + { &hf_lte_rrc_drb_ToAddModListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToAddModListSCG_r12 }, + { &hf_lte_rrc_mac_MainConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MAC_MainConfig }, + { &hf_lte_rrc_rlf_TimersAndConstantsSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLF_TimersAndConstantsSCG_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicatedSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigDedicatedSCG_r12, RadioResourceConfigDedicatedSCG_r12_sequence); + + return offset; +} + + +static const per_sequence_t SCellToReleaseList_r10_sequence_of[1] = { + { &hf_lte_rrc_SCellToReleaseList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, +}; + +static int +dissect_lte_rrc_SCellToReleaseList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCellToReleaseList_r10, SCellToReleaseList_r10_sequence_of, + 1, maxSCell_r10, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_ARFCN_ValueEUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, maxEARFCN2, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_cellIdentification_r12_sequence[] = { + { &hf_lte_rrc_physCellId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_dl_CarrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_cellIdentification_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_cellIdentification_r12, T_cellIdentification_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_deltaF_PUCCH_Format3_r12_vals[] = { + { 0, "deltaF-1" }, + { 1, "deltaF0" }, + { 2, "deltaF1" }, + { 3, "deltaF2" }, + { 4, "deltaF3" }, + { 5, "deltaF4" }, + { 6, "deltaF5" }, + { 7, "deltaF6" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaF_PUCCH_Format3_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_deltaF_PUCCH_Format1bCS_r12_vals[] = { + { 0, "deltaF1" }, + { 1, "deltaF2" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_deltaF_PUCCH_Format1bCS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p0_NominalPUCCH_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -127, -96, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + +static const per_sequence_t UplinkPowerControlCommonPSCell_r12_sequence[] = { + { &hf_lte_rrc_deltaF_PUCCH_Format3_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaF_PUCCH_Format3_r12 }, + { &hf_lte_rrc_deltaF_PUCCH_Format1bCS_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaF_PUCCH_Format1bCS_r12 }, + { &hf_lte_rrc_p0_NominalPUCCH_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUCCH_r12 }, + { &hf_lte_rrc_deltaFList_PUCCH_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DeltaFList_PUCCH }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UplinkPowerControlCommonPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UplinkPowerControlCommonPSCell_r12, UplinkPowerControlCommonPSCell_r12_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigCommonPSCell_r12_sequence[] = { + { &hf_lte_rrc_basicFields_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10 }, + { &hf_lte_rrc_pucch_ConfigCommon_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PUCCH_ConfigCommon }, + { &hf_lte_rrc_rach_ConfigCommon_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RACH_ConfigCommon }, + { &hf_lte_rrc_uplinkPowerControlCommonPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UplinkPowerControlCommonPSCell_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigCommonPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigCommonPSCell_r12, RadioResourceConfigCommonPSCell_r12_sequence); + + return offset; +} + + +static const per_sequence_t RadioResourceConfigDedicatedPSCell_r12_sequence[] = { + { &hf_lte_rrc_physicalConfigDedicatedPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicated }, + { &hf_lte_rrc_sps_Config_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SPS_Config }, + { &hf_lte_rrc_naics_Info_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_NAICS_AssistanceInfo_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RadioResourceConfigDedicatedPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PSCELL); + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RadioResourceConfigDedicatedPSCell_r12, RadioResourceConfigDedicatedPSCell_r12_sequence); + + + + return offset; +} + + +static const per_sequence_t PSCellToAddMod_r12_sequence[] = { + { &hf_lte_rrc_sCellIndex_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, + { &hf_lte_rrc_cellIdentification_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellIdentification_r12 }, + { &hf_lte_rrc_radioResourceConfigCommonPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigCommonPSCell_r12 }, + { &hf_lte_rrc_radioResourceConfigDedicatedPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedPSCell_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_PSCellToAddMod_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PSCellToAddMod_r12, PSCellToAddMod_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_t307_r12_vals[] = { + { 0, "ms50" }, + { 1, "ms100" }, + { 2, "ms150" }, + { 3, "ms200" }, + { 4, "ms500" }, + { 5, "ms1000" }, + { 6, "ms2000" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_t307_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RACH_ConfigDedicated_sequence[] = { + { &hf_lte_rrc_ra_PreambleIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_63 }, + { &hf_lte_rrc_ra_PRACH_MaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence); + + return offset; +} + + +static const per_sequence_t MobilityControlInfoSCG_r12_sequence[] = { + { &hf_lte_rrc_t307_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t307_r12 }, + { &hf_lte_rrc_ue_IdentitySCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_C_RNTI }, + { &hf_lte_rrc_rach_ConfigDedicated_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigDedicated }, + { &hf_lte_rrc_cipheringAlgorithmSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CipheringAlgorithm_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MobilityControlInfoSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MobilityControlInfoSCG_r12, MobilityControlInfoSCG_r12_sequence); + + return offset; +} + + +static const per_sequence_t SCG_ConfigPartSCG_r12_sequence[] = { + { &hf_lte_rrc_radioResourceConfigDedicatedSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedSCG_r12 }, + { &hf_lte_rrc_sCellToReleaseListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SCellToReleaseList_r10 }, + { &hf_lte_rrc_pSCellToAddMod_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PSCellToAddMod_r12 }, + { &hf_lte_rrc_sCellToAddModListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SCellToAddModList_r10 }, + { &hf_lte_rrc_mobilityControlInfoSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MobilityControlInfoSCG_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SCG_ConfigPartSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCG_ConfigPartSCG_r12, SCG_ConfigPartSCG_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence); + + return offset; +} + + +static const per_sequence_t SCG_Config_r12_IEs_sequence[] = { + { &hf_lte_rrc_scg_RadioConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_ConfigPartSCG_r12 }, + { &hf_lte_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SCG_Config_r12_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCG_Config_r12_IEs, SCG_Config_r12_IEs_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_c1_02_vals[] = { + { 0, "scg-Config-r12" }, + { 1, "spare7" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_02_choice[] = { + { 0, &hf_lte_rrc_scg_Config_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SCG_Config_r12_IEs }, + { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1_02, T_c1_02_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_02_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_02_choice[] = { + { 0, &hf_lte_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_02 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_02 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SCG_Config_r12_sequence[] = { + { &hf_lte_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SCG_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SCG_Config_r12, SCG_Config_r12_sequence); + + return offset; +} + + +static const per_sequence_t AS_Config_eag_3_sequence[] = { + { &hf_lte_rrc_sourceConfigSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_Config_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_3_sequence); + + return offset; +} + + +static const per_sequence_t AS_Config_sequence[] = { + { &hf_lte_rrc_sourceMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig }, + { &hf_lte_rrc_sourceRadioResourceConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated }, + { &hf_lte_rrc_sourceSecurityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SecurityAlgorithmConfig }, + { &hf_lte_rrc_sourceUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, + { &hf_lte_rrc_sourceMasterInformationBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MasterInformationBlock }, + { &hf_lte_rrc_sourceSystemInformationBlockType1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType1 }, + { &hf_lte_rrc_sourceSystemInformationBlockType2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType2 }, + { &hf_lte_rrc_antennaInfoCommon, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AntennaInfoCommon }, + { &hf_lte_rrc_sourceDl_CarrierFreq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_2 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_3 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AS_Config, AS_Config_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_ue_InactiveTime_vals[] = { + { 0, "s1" }, + { 1, "s2" }, + { 2, "s3" }, + { 3, "s5" }, + { 4, "s7" }, + { 5, "s10" }, + { 6, "s15" }, + { 7, "s20" }, + { 8, "s25" }, + { 9, "s30" }, + { 10, "s40" }, + { 11, "s50" }, + { 12, "min1" }, + { 13, "min1s20c" }, + { 14, "min1s40" }, + { 15, "min2" }, + { 16, "min2s30" }, + { 17, "min3" }, + { 18, "min3s30" }, + { 19, "min4" }, + { 20, "min5" }, + { 21, "min6" }, + { 22, "min7" }, + { 23, "min8" }, + { 24, "min9" }, + { 25, "min10" }, + { 26, "min12" }, + { 27, "min14" }, + { 28, "min17" }, + { 29, "min20" }, + { 30, "min24" }, + { 31, "min28" }, + { 32, "min33" }, + { 33, "min38" }, + { 34, "min44" }, + { 35, "min50" }, + { 36, "hr1" }, + { 37, "hr1min30" }, + { 38, "hr2" }, + { 39, "hr2min30" }, + { 40, "hr3" }, + { 41, "hr3min30" }, + { 42, "hr4" }, + { 43, "hr5" }, + { 44, "hr6" }, + { 45, "hr8" }, + { 46, "hr10" }, + { 47, "hr13" }, + { 48, "hr16" }, + { 49, "hr20" }, + { 50, "day1" }, + { 51, "day1hr12" }, + { 52, "day2" }, + { 53, "day2hr12" }, + { 54, "day3" }, + { 55, "day4" }, + { 56, "day5" }, + { 57, "day7" }, + { 58, "day10" }, + { 59, "day14" }, + { 60, "day19" }, + { 61, "day24" }, + { 62, "day30" }, + { 63, "dayMoreThan30" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_T_ue_InactiveTime_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_ue_InactiveTime_vals); + + +static int +dissect_lte_rrc_T_ue_InactiveTime(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, + 64, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CandidateCellInfo_r10_eag_1_sequence[] = { + { &hf_lte_rrc_dl_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CandidateCellInfo_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CandidateCellInfo_r10_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t CandidateCellInfo_r10_eag_2_sequence[] = { + { &hf_lte_rrc_rsrqResult_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CandidateCellInfo_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CandidateCellInfo_r10_eag_2_sequence); + + return offset; +} + + +static const per_sequence_t CandidateCellInfo_r10_sequence[] = { + { &hf_lte_rrc_physCellId_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_dl_CarrierFreq_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, + { &hf_lte_rrc_rsrpResult_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RSRP_Range }, + { &hf_lte_rrc_rsrqResult_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10_eag_1 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10_eag_2 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CandidateCellInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CandidateCellInfo_r10, CandidateCellInfo_r10_sequence); + + return offset; +} + + +static const per_sequence_t CandidateCellInfoList_r10_sequence_of[1] = { + { &hf_lte_rrc_CandidateCellInfoList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10 }, +}; + +static int +dissect_lte_rrc_CandidateCellInfoList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CandidateCellInfoList_r10, CandidateCellInfoList_r10_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t RRM_Config_eag_1_sequence[] = { + { &hf_lte_rrc_candidateCellInfoList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CandidateCellInfoList_r10 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RRM_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RRM_Config_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t RRM_Config_sequence[] = { + { &hf_lte_rrc_ue_InactiveTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_InactiveTime }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRM_Config_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RRM_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RRM_Config, RRM_Config_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_Key_eNodeB_Star(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 256, 256, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t AdditionalReestabInfo_sequence[] = { + { &hf_lte_rrc_cellIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIdentity }, + { &hf_lte_rrc_key_eNodeB_Star, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Key_eNodeB_Star }, + { &hf_lte_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ShortMAC_I }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AdditionalReestabInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AdditionalReestabInfo, AdditionalReestabInfo_sequence); + + return offset; +} + + +static const per_sequence_t AdditionalReestabInfoList_sequence_of[1] = { + { &hf_lte_rrc_AdditionalReestabInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalReestabInfo }, +}; + +static int +dissect_lte_rrc_AdditionalReestabInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AdditionalReestabInfoList, AdditionalReestabInfoList_sequence_of, + 1, maxReestabInfo, FALSE); + + return offset; +} + + +static const per_sequence_t ReestablishmentInfo_sequence[] = { + { &hf_lte_rrc_sourcePhysCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_targetCellShortMAC_I, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ShortMAC_I }, + { &hf_lte_rrc_additionalReestabInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_AdditionalReestabInfoList }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_ReestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_ReestablishmentInfo, ReestablishmentInfo_sequence); + + return offset; +} + + +static const per_sequence_t AS_Context_sequence[] = { + { &hf_lte_rrc_reestablishmentInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ReestablishmentInfo }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AS_Context, AS_Context_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_ue_ConfigRelease_r9_vals[] = { + { 0, "rel9" }, + { 1, "rel10" }, + { 2, "rel11" }, + { 3, "rel12" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_ue_ConfigRelease_r9(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); + + return offset; +} + + + +static int +dissect_lte_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t AS_Config_v9e0_sequence[] = { + { &hf_lte_rrc_sourceDl_CarrierFreq_v9e0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AS_Config_v9e0, AS_Config_v9e0_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_idc_Indication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_InDeviceCoexIndication_r11_PDU); + + return offset; +} + + + +static int +dissect_lte_rrc_T_mbmsInterestIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_MBMSInterestIndication_r11_PDU); + + return offset; +} + + + +static int +dissect_lte_rrc_T_powerPrefIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_UEAssistanceInformation_r11_PDU); + + return offset; +} + + + +static int +dissect_lte_rrc_T_sidelinkUEInformation_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_SidelinkUEInformation_r12_PDU); + + return offset; +} + + +static const per_sequence_t AS_Context_v1130_eag_1_sequence[] = { + { &hf_lte_rrc_sidelinkUEInformation_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sidelinkUEInformation_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Context_v1130_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_v1130_eag_1_sequence); + + return offset; +} + + +static const per_sequence_t AS_Context_v1130_sequence[] = { + { &hf_lte_rrc_idc_Indication_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_idc_Indication_r11 }, + { &hf_lte_rrc_mbmsInterestIndication_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_mbmsInterestIndication_r11 }, + { &hf_lte_rrc_powerPrefIndication_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_powerPrefIndication_r11 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Context_v1130_eag_1 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Context_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AS_Context_v1130, AS_Context_v1130_sequence); + + return offset; +} + + +static const per_sequence_t T_thresholdRSRP_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRP_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, + { &hf_lte_rrc_thresholdRSRP_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdRSRP_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdRSRP_r12, T_thresholdRSRP_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_thresholdRSRQ_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRQ_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { &hf_lte_rrc_thresholdRSRQ_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdRSRQ_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdRSRQ_r12, T_thresholdRSRQ_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_thresholdRSRQ_OnAllSymbolsWithWB_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12, T_thresholdRSRQ_OnAllSymbolsWithWB_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_thresholdRSRQ_OnAllSymbols_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12, T_thresholdRSRQ_OnAllSymbols_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_thresholdRSRQ_WB_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRQ_WB_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { &hf_lte_rrc_thresholdRSRQ_WB_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdRSRQ_WB_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdRSRQ_WB_r12, T_thresholdRSRQ_WB_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_thresholdChannelUtilizationLow_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + proto_item_append_text(actx->created_item, " (BSS load)"); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_thresholdChannelUtilizationHigh_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + proto_item_append_text(actx->created_item, " (BSS load)"); + + + return offset; +} + + +static const per_sequence_t T_thresholdChannelUtilization_r12_sequence[] = { + { &hf_lte_rrc_thresholdChannelUtilizationLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_thresholdChannelUtilizationLow_r12 }, + { &hf_lte_rrc_thresholdChannelUtilizationHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_thresholdChannelUtilizationHigh_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdChannelUtilization_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdChannelUtilization_r12, T_thresholdChannelUtilization_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_WLAN_backhaulRate_r12_vals[] = { + { 0, "r0" }, + { 1, "r4" }, + { 2, "r8" }, + { 3, "r16" }, + { 4, "r32" }, + { 5, "r64" }, + { 6, "r128" }, + { 7, "r256" }, + { 8, "r512" }, + { 9, "r1024" }, + { 10, "r2048" }, + { 11, "r4096" }, + { 12, "r8192" }, + { 13, "r16384" }, + { 14, "r32768" }, + { 15, "r65536" }, + { 16, "r131072" }, + { 17, "r262144" }, + { 18, "r524288" }, + { 19, "r1048576" }, + { 20, "r2097152" }, + { 21, "r4194304" }, + { 22, "r8388608" }, + { 23, "r16777216" }, + { 24, "r33554432" }, + { 25, "r67108864" }, + { 26, "r134217728" }, + { 27, "r268435456" }, + { 28, "r536870912" }, + { 29, "r1073741824" }, + { 30, "r2147483648" }, + { 31, "r4294967296" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_WLAN_backhaulRate_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_WLAN_backhaulRate_r12_vals); + + +static int +dissect_lte_rrc_WLAN_backhaulRate_r12(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, + 32, NULL, FALSE, 0, NULL); + + proto_item_append_text(actx->created_item, " Kbps"); + + + return offset; +} + + +static const per_sequence_t T_thresholdBackhaul_Bandwidth_r12_sequence[] = { + { &hf_lte_rrc_thresholdBackhaulDL_BandwidthLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate_r12 }, + { &hf_lte_rrc_thresholdBackhaulDL_BandwidthHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate_r12 }, + { &hf_lte_rrc_thresholdBackhaulUL_BandwidthLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate_r12 }, + { &hf_lte_rrc_thresholdBackhaulUL_BandwidthHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdBackhaul_Bandwidth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdBackhaul_Bandwidth_r12, T_thresholdBackhaul_Bandwidth_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 255U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_thresholdBeaconRSSI_r12_sequence[] = { + { &hf_lte_rrc_thresholdBeaconRSSI_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, + { &hf_lte_rrc_thresholdBeaconRSSI_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_thresholdBeaconRSSI_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_thresholdBeaconRSSI_r12, T_thresholdBeaconRSSI_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_Reselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "s"); + + + return offset; +} + + +static const per_sequence_t WLAN_OffloadConfig_r12_sequence[] = { + { &hf_lte_rrc_thresholdRSRP_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRP_r12 }, + { &hf_lte_rrc_thresholdRSRQ_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_r12 }, + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12 }, + { &hf_lte_rrc_thresholdRSRQ_OnAllSymbols_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12 }, + { &hf_lte_rrc_thresholdRSRQ_WB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_WB_r12 }, + { &hf_lte_rrc_thresholdChannelUtilization_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdChannelUtilization_r12 }, + { &hf_lte_rrc_thresholdBackhaul_Bandwidth_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdBackhaul_Bandwidth_r12 }, + { &hf_lte_rrc_thresholdBeaconRSSI_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdBeaconRSSI_r12 }, + { &hf_lte_rrc_offloadPreferenceIndicator_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { &hf_lte_rrc_t_SteeringWLAN_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_Reselection }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_WLAN_OffloadConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_WLAN_OffloadConfig_r12, WLAN_OffloadConfig_r12_sequence); + + return offset; +} + + +static const per_sequence_t MAC_MainConfigSL_r12_sequence[] = { + { &hf_lte_rrc_periodic_BSR_TimerSL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PeriodicBSR_Timer_r12 }, + { &hf_lte_rrc_retx_BSR_TimerSL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RetxBSR_Timer_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MAC_MainConfigSL_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MAC_MainConfigSL_r12, MAC_MainConfigSL_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_SL_CP_Len_r12_vals[] = { + { 0, "normal" }, + { 1, "extended" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_SL_CP_Len_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_SL_PeriodComm_r12_vals[] = { + { 0, "sf40" }, + { 1, "sf60" }, + { 2, "sf70" }, + { 3, "sf80" }, + { 4, "sf120" }, + { 5, "sf140" }, + { 6, "sf160" }, + { 7, "sf240" }, + { 8, "sf280" }, + { 9, "sf320" }, + { 10, "spare6" }, + { 11, "spare5" }, + { 12, "spare4" }, + { 13, "spare3" }, + { 14, "spare2" }, + { 15, "spare" }, + { 0, NULL } +}; + +static value_string_ext lte_rrc_SL_PeriodComm_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_SL_PeriodComm_r12_vals); + + +static int +dissect_lte_rrc_SL_PeriodComm_r12(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, + 16, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 100U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_99(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 99U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 319U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 10239U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_SL_OffsetIndicator_r12_vals[] = { + { 0, "small-r12" }, + { 1, "large-r12" }, + { 0, NULL } +}; + +static const per_choice_t SL_OffsetIndicator_r12_choice[] = { + { 0, &hf_lte_rrc_small_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_319 }, + { 1, &hf_lte_rrc_large_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_10239 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_OffsetIndicator_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_OffsetIndicator_r12, SL_OffsetIndicator_r12_choice, + NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 12, 12, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 30, 30, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 42, 42, FALSE, NULL, NULL); + + return offset; +} + + +static const value_string lte_rrc_SubframeBitmapSL_r12_vals[] = { + { 0, "bs4-r12" }, + { 1, "bs8-r12" }, + { 2, "bs12-r12" }, + { 3, "bs16-r12" }, + { 4, "bs30-r12" }, + { 5, "bs40-r12" }, + { 6, "bs42-r12" }, + { 0, NULL } +}; + +static const per_choice_t SubframeBitmapSL_r12_choice[] = { + { 0, &hf_lte_rrc_bs4_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, + { 1, &hf_lte_rrc_bs8_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_8 }, + { 2, &hf_lte_rrc_bs12_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_12 }, + { 3, &hf_lte_rrc_bs16_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_16 }, + { 4, &hf_lte_rrc_bs30_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_30 }, + { 5, &hf_lte_rrc_bs40_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_40 }, + { 6, &hf_lte_rrc_bs42_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_42 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_SubframeBitmapSL_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SubframeBitmapSL_r12, SubframeBitmapSL_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_TF_ResourceConfig_r12_sequence[] = { + { &hf_lte_rrc_prb_Num_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_100 }, + { &hf_lte_rrc_prb_Start_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_99 }, + { &hf_lte_rrc_prb_End_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_99 }, + { &hf_lte_rrc_offsetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_OffsetIndicator_r12 }, + { &hf_lte_rrc_subframeBitmap_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SubframeBitmapSL_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_TF_ResourceConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_TF_ResourceConfig_r12, SL_TF_ResourceConfig_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_504(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 504U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_numSubbands_r12_vals[] = { + { 0, "ns1" }, + { 1, "ns2" }, + { 2, "ns4" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_numSubbands_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 3, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_110(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 110U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_HoppingConfigComm_r12_sequence[] = { + { &hf_lte_rrc_hoppingParameter_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_504 }, + { &hf_lte_rrc_numSubbands_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_numSubbands_r12 }, + { &hf_lte_rrc_rb_Offset_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_110 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_HoppingConfigComm_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_HoppingConfigComm_r12, SL_HoppingConfigComm_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_SL_TRPT_Subset_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 3, 5, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_ue_SelectedResourceConfig_r12_sequence[] = { + { &hf_lte_rrc_data_TF_ResourceConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TF_ResourceConfig_r12 }, + { &hf_lte_rrc_trpt_Subset_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_TRPT_Subset_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_SelectedResourceConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_SelectedResourceConfig_r12, T_ue_SelectedResourceConfig_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_rxParametersNCell_r12_sequence[] = { + { &hf_lte_rrc_tdd_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, + { &hf_lte_rrc_syncConfigIndex_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rxParametersNCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rxParametersNCell_r12, T_rxParametersNCell_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_P0_SL_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -126, 31U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + return offset; +} + + +static const per_sequence_t SL_TxParameters_r12_sequence[] = { + { &hf_lte_rrc_alpha_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Alpha_r12 }, + { &hf_lte_rrc_p0_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P0_SL_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_TxParameters_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_TxParameters_r12, SL_TxParameters_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_txParameters_r12_sequence[] = { + { &hf_lte_rrc_sc_TxParameters_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxParameters_r12 }, + { &hf_lte_rrc_dataTxParameters_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxParameters_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_txParameters_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_txParameters_r12, T_txParameters_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_CommResourcePool_r12_sequence[] = { + { &hf_lte_rrc_sc_CP_Len_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CP_Len_r12 }, + { &hf_lte_rrc_sc_Period_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_PeriodComm_r12 }, + { &hf_lte_rrc_sc_TF_ResourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TF_ResourceConfig_r12 }, + { &hf_lte_rrc_data_CP_Len_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CP_Len_r12 }, + { &hf_lte_rrc_dataHoppingConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_HoppingConfigComm_r12 }, + { &hf_lte_rrc_ue_SelectedResourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_SelectedResourceConfig_r12 }, + { &hf_lte_rrc_rxParametersNCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rxParametersNCell_r12 }, + { &hf_lte_rrc_txParameters_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_txParameters_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_CommResourcePool_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommResourcePool_r12, SL_CommResourcePool_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 28U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_scheduled_r12_sequence[] = { + { &hf_lte_rrc_sl_RNTI_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, + { &hf_lte_rrc_mac_MainConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfigSL_r12 }, + { &hf_lte_rrc_commTxConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommResourcePool_r12 }, + { &hf_lte_rrc_mcs_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_28 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_scheduled_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_scheduled_r12, T_scheduled_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_SL_TxPoolIdentity_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxSL_TxPool_r12, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_TxPoolToReleaseList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_TxPoolToReleaseList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxPoolIdentity_r12 }, +}; + +static int +dissect_lte_rrc_SL_TxPoolToReleaseList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_TxPoolToReleaseList_r12, SL_TxPoolToReleaseList_r12_sequence_of, + 1, maxSL_TxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CommTxPoolToAddMod_r12_sequence[] = { + { &hf_lte_rrc_poolIdentity_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxPoolIdentity_r12 }, + { &hf_lte_rrc_pool_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommResourcePool_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_CommTxPoolToAddMod_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommTxPoolToAddMod_r12, SL_CommTxPoolToAddMod_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_CommTxPoolToAddModList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_CommTxPoolToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommTxPoolToAddMod_r12 }, +}; + +static int +dissect_lte_rrc_SL_CommTxPoolToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommTxPoolToAddModList_r12, SL_CommTxPoolToAddModList_r12_sequence_of, + 1, maxSL_TxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_commTxPoolNormalDedicated_r12_sequence[] = { + { &hf_lte_rrc_poolToReleaseList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_TxPoolToReleaseList_r12 }, + { &hf_lte_rrc_poolToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommTxPoolToAddModList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_commTxPoolNormalDedicated_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_commTxPoolNormalDedicated_r12, T_commTxPoolNormalDedicated_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_ue_Selected_r12_sequence[] = { + { &hf_lte_rrc_commTxPoolNormalDedicated_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_commTxPoolNormalDedicated_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_Selected_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_Selected_r12, T_ue_Selected_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_setup_55_vals[] = { + { 0, "scheduled-r12" }, + { 1, "ue-Selected-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_setup_55_choice[] = { + { 0, &hf_lte_rrc_scheduled_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_scheduled_r12 }, + { 1, &hf_lte_rrc_ue_Selected_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_ue_Selected_r12 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_55(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_55, T_setup_55_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_commTxResources_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_commTxResources_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_64 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_55 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_commTxResources_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_commTxResources_r12, T_commTxResources_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_CommConfig_r12_sequence[] = { + { &hf_lte_rrc_commTxResources_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_commTxResources_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_CommConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommConfig_r12, SL_CommConfig_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_discPeriod_r12_vals[] = { + { 0, "rf32" }, + { 1, "rf64" }, + { 2, "rf128" }, + { 3, "rf256" }, + { 4, "rf512" }, + { 5, "rf1024" }, + { 6, "spare2" }, + { 7, "spare" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discPeriod_r12(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, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 50U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_RSRP_RangeSL2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 7U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_PoolSelectionConfig_r12_sequence[] = { + { &hf_lte_rrc_threshLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_RangeSL2_r12 }, + { &hf_lte_rrc_threshHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_RangeSL2_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_PoolSelectionConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_PoolSelectionConfig_r12, SL_PoolSelectionConfig_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_poolSelection_r12_vals[] = { + { 0, "rsrpBased-r12" }, + { 1, "random-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_poolSelection_r12_choice[] = { + { 0, &hf_lte_rrc_rsrpBased_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SL_PoolSelectionConfig_r12 }, + { 1, &hf_lte_rrc_random_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_poolSelection_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_poolSelection_r12, T_poolSelection_r12_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_txProbability_r12_vals[] = { + { 0, "p25" }, + { 1, "p50" }, + { 2, "p75" }, + { 3, "p100" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_txProbability_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_ue_SelectedResourceConfig_r12_01_sequence[] = { + { &hf_lte_rrc_poolSelection_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_poolSelection_r12 }, + { &hf_lte_rrc_txProbability_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_txProbability_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_SelectedResourceConfig_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_SelectedResourceConfig_r12_01, T_ue_SelectedResourceConfig_r12_01_sequence); + + return offset; +} + + +static const per_sequence_t T_txParameters_r12_01_sequence[] = { + { &hf_lte_rrc_txParametersGeneral_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxParameters_r12 }, + { &hf_lte_rrc_ue_SelectedResourceConfig_r12_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_SelectedResourceConfig_r12_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_txParameters_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_txParameters_r12_01, T_txParameters_r12_01_sequence); + + return offset; +} + + +static const per_sequence_t T_rxParameters_r12_sequence[] = { + { &hf_lte_rrc_tdd_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, + { &hf_lte_rrc_syncConfigIndex_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rxParameters_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rxParameters_r12, T_rxParameters_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_DiscResourcePool_r12_sequence[] = { + { &hf_lte_rrc_cp_Len_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CP_Len_r12 }, + { &hf_lte_rrc_discPeriod_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_discPeriod_r12 }, + { &hf_lte_rrc_numRetx_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_3 }, + { &hf_lte_rrc_numRepetition_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_50 }, + { &hf_lte_rrc_tf_ResourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TF_ResourceConfig_r12 }, + { &hf_lte_rrc_txParameters_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_txParameters_r12_01 }, + { &hf_lte_rrc_rxParameters_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rxParameters_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_DiscResourcePool_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscResourcePool_r12, SL_DiscResourcePool_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_200(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 200U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t SL_TF_IndexPair_r12_sequence[] = { + { &hf_lte_rrc_discSF_Index_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_200 }, + { &hf_lte_rrc_discPRB_Index_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_50 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_TF_IndexPair_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_TF_IndexPair_r12, SL_TF_IndexPair_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_TF_IndexPairList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_TF_IndexPairList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TF_IndexPair_r12 }, +}; + +static int +dissect_lte_rrc_SL_TF_IndexPairList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_TF_IndexPairList_r12, SL_TF_IndexPairList_r12_sequence_of, + 1, maxSL_TF_IndexPair_r12, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 10U, NULL, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_c_r12_vals[] = { + { 0, "n1" }, + { 1, "n5" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_c_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_HoppingConfigDisc_r12_sequence[] = { + { &hf_lte_rrc_a_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_200 }, + { &hf_lte_rrc_b_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_10 }, + { &hf_lte_rrc_c_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_c_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_HoppingConfigDisc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_HoppingConfigDisc_r12, SL_HoppingConfigDisc_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_scheduled_r12_01_sequence[] = { + { &hf_lte_rrc_discTxConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscResourcePool_r12 }, + { &hf_lte_rrc_discTF_IndexList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_TF_IndexPairList_r12 }, + { &hf_lte_rrc_discHoppingConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_HoppingConfigDisc_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_scheduled_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_scheduled_r12_01, T_scheduled_r12_01_sequence); + + return offset; +} + + +static const per_sequence_t SL_DiscTxPoolToAddMod_r12_sequence[] = { + { &hf_lte_rrc_poolIdentity_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxPoolIdentity_r12 }, + { &hf_lte_rrc_pool_r12_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscResourcePool_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_DiscTxPoolToAddMod_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscTxPoolToAddMod_r12, SL_DiscTxPoolToAddMod_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_DiscTxPoolToAddModList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_DiscTxPoolToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscTxPoolToAddMod_r12 }, +}; + +static int +dissect_lte_rrc_SL_DiscTxPoolToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscTxPoolToAddModList_r12, SL_DiscTxPoolToAddModList_r12_sequence_of, + 1, maxSL_TxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_discTxPoolDedicated_r12_sequence[] = { + { &hf_lte_rrc_poolToReleaseList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_TxPoolToReleaseList_r12 }, + { &hf_lte_rrc_poolToAddModList_r12_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscTxPoolToAddModList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_discTxPoolDedicated_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_discTxPoolDedicated_r12, T_discTxPoolDedicated_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_ue_Selected_r12_01_sequence[] = { + { &hf_lte_rrc_discTxPoolDedicated_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_discTxPoolDedicated_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_ue_Selected_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_ue_Selected_r12_01, T_ue_Selected_r12_01_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_setup_56_vals[] = { + { 0, "scheduled-r12" }, + { 1, "ue-Selected-r12" }, + { 0, NULL } +}; + +static const per_choice_t T_setup_56_choice[] = { + { 0, &hf_lte_rrc_scheduled_r12_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_scheduled_r12_01 }, + { 1, &hf_lte_rrc_ue_Selected_r12_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_ue_Selected_r12_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_setup_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_setup_56, T_setup_56_choice, + NULL); + + return offset; +} + + +static const value_string lte_rrc_T_discTxResources_r12_vals[] = { + { 0, "release" }, + { 1, "setup" }, + { 0, NULL } +}; + +static const per_choice_t T_discTxResources_r12_choice[] = { + { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 1, &hf_lte_rrc_setup_65 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_56 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_discTxResources_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_discTxResources_r12, T_discTxResources_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SL_DiscConfig_r12_sequence[] = { + { &hf_lte_rrc_discTxResources_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_discTxResources_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_DiscConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscConfig_r12, SL_DiscConfig_r12_sequence); + + return offset; +} + + +static const per_sequence_t AS_Config_v1250_sequence[] = { + { &hf_lte_rrc_sourceWlan_OffloadConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_OffloadConfig_r12 }, + { &hf_lte_rrc_sourceSL_CommConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommConfig_r12 }, + { &hf_lte_rrc_sourceSL_DiscConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscConfig_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_AS_Config_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_AS_Config_v1250, AS_Config_v1250_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_01_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_v1250_IEs_sequence[] = { + { &hf_lte_rrc_ue_SupportedEARFCN_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_as_Config_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config_v1250 }, + { &hf_lte_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_01 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_v1250_IEs, HandoverPreparationInformation_v1250_IEs_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_v1130_IEs_sequence[] = { + { &hf_lte_rrc_as_Context_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Context_v1130 }, + { &hf_lte_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v1250_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_v1130_IEs, HandoverPreparationInformation_v1130_IEs_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_v9e0_IEs_sequence[] = { + { &hf_lte_rrc_as_Config_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config_v9e0 }, + { &hf_lte_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v1130_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_v9e0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs, HandoverPreparationInformation_v9e0_IEs_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_v9d0_IEs_sequence[] = { + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v9e0_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_v9d0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs, HandoverPreparationInformation_v9d0_IEs_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_v920_IEs_sequence[] = { + { &hf_lte_rrc_ue_ConfigRelease_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_ConfigRelease_r9 }, + { &hf_lte_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v9d0_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_v920_IEs, HandoverPreparationInformation_v920_IEs_sequence); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_r8_IEs_sequence[] = { + { &hf_lte_rrc_ue_RadioAccessCapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRAT_ContainerList }, + { &hf_lte_rrc_as_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config }, + { &hf_lte_rrc_rrm_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRM_Config }, + { &hf_lte_rrc_as_Context , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Context }, + { &hf_lte_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v920_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_HandoverPreparationInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation_r8_IEs, HandoverPreparationInformation_r8_IEs_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_c1_01_vals[] = { + { 0, "handoverPreparationInformation-r8" }, + { 1, "spare7" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_01_choice[] = { + { 0, &hf_lte_rrc_handoverPreparationInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverPreparationInformation_r8_IEs }, + { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1_01, T_c1_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_01_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_01_choice[] = { + { 0, &hf_lte_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_01 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_01 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice, + NULL); + + return offset; +} + + +static const per_sequence_t HandoverPreparationInformation_sequence[] = { + { &hf_lte_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_01 }, + { NULL, 0, 0, NULL } +}; + +int +dissect_lte_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_HandoverPreparationInformation, HandoverPreparationInformation_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityInformation_PDU); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_03_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence); + + return offset; +} + + +static const per_sequence_t UERadioAccessCapabilityInformation_r8_IEs_sequence[] = { + { &hf_lte_rrc_ue_RadioAccessCapabilityInfo_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_RadioAccessCapabilityInfo }, + { &hf_lte_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs, UERadioAccessCapabilityInformation_r8_IEs_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_c1_03_vals[] = { + { 0, "ueRadioAccessCapabilityInformation-r8" }, + { 1, "spare7" }, + { 2, "spare6" }, + { 3, "spare5" }, + { 4, "spare4" }, + { 5, "spare3" }, + { 6, "spare2" }, + { 7, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_03_choice[] = { + { 0, &hf_lte_rrc_ueRadioAccessCapabilityInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs }, + { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1_03, T_c1_03_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_03_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_03_choice[] = { + { 0, &hf_lte_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_03 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_03 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice, + NULL); + + return offset; +} + + +static const per_sequence_t UERadioAccessCapabilityInformation_sequence[] = { + { &hf_lte_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_03 }, + { NULL, 0, 0, NULL } +}; + +int +dissect_lte_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_UERadioAccessCapabilityInformation, UERadioAccessCapabilityInformation_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_BCCH_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_MasterInformationBlock(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t BCCH_BCH_Message_sequence[] = { + { &hf_lte_rrc_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BCCH_BCH_MessageType }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_BCCH_BCH_Message, BCCH_BCH_Message_sequence); + + return offset; +} + + static const value_string lte_rrc_T_q_Hyst_vals[] = { { 0, "dB0" }, { 1, "dB1" }, @@ -8565,77 +24132,6 @@ dissect_lte_rrc_T_q_Hyst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ } -static const value_string lte_rrc_T_t_Evaluation_vals[] = { - { 0, "s30" }, - { 1, "s60" }, - { 2, "s120" }, - { 3, "s180" }, - { 4, "s240" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t_Evaluation(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_t_HystNormal_vals[] = { - { 0, "s30" }, - { 1, "s60" }, - { 2, "s120" }, - { 3, "s180" }, - { 4, "s240" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t_HystNormal(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, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 16U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MobilityStateParameters_sequence[] = { - { &hf_lte_rrc_t_Evaluation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t_Evaluation }, - { &hf_lte_rrc_t_HystNormal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t_HystNormal }, - { &hf_lte_rrc_n_CellChangeMedium, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_16 }, - { &hf_lte_rrc_n_CellChangeHigh, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_16 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MobilityStateParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MobilityStateParameters, MobilityStateParameters_sequence); - - return offset; -} - - static const value_string lte_rrc_T_sf_Medium_vals[] = { { 0, "dB-6" }, { 1, "dB-4" }, @@ -8753,139 +24249,6 @@ dissect_lte_rrc_T_cellReselectionServingFreqInfo(tvbuff_t *tvb _U_, int offset _ } - -static int -dissect_lte_rrc_Q_RxLevMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -70, -22, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -30, 33U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - -static const value_string lte_rrc_AllowedMeasBandwidth_vals[] = { - { 0, "mbw6" }, - { 1, "mbw15" }, - { 2, "mbw25" }, - { 3, "mbw50" }, - { 4, "mbw75" }, - { 5, "mbw100" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_AllowedMeasBandwidth(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, - 6, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_PresenceAntennaPort1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_NeighCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - tvbuff_t *neigh_cell_config_tvb = NULL; - offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, - 2, 2, FALSE, &neigh_cell_config_tvb, NULL); - - - - if (neigh_cell_config_tvb) { - actx->created_item = proto_tree_add_uint(tree, hf_index, neigh_cell_config_tvb, 0, 1, tvb_get_bits8(neigh_cell_config_tvb, 0, 2)); - } - - return offset; -} - - - -static int -dissect_lte_rrc_T_Reselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "s"); - - - return offset; -} - - -static const value_string lte_rrc_T_sf_Medium_01_vals[] = { - { 0, "oDot25" }, - { 1, "oDot5" }, - { 2, "oDot75" }, - { 3, "lDot0" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_sf_Medium_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_sf_High_01_vals[] = { - { 0, "oDot25" }, - { 1, "oDot5" }, - { 2, "oDot75" }, - { 3, "lDot0" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_sf_High_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SpeedStateScaleFactors_sequence[] = { - { &hf_lte_rrc_sf_Medium_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sf_Medium_01 }, - { &hf_lte_rrc_sf_High_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sf_High_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SpeedStateScaleFactors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SpeedStateScaleFactors, SpeedStateScaleFactors_sequence); - - return offset; -} - - static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = { { &hf_lte_rrc_q_RxLevMin , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_RxLevMin }, { &hf_lte_rrc_p_Max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, @@ -8908,16 +24271,6 @@ dissect_lte_rrc_T_intraFreqCellReselectionInfo(tvbuff_t *tvb _U_, int offset _U_ -static int -dissect_lte_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); - - return offset; -} - - - static int dissect_lte_rrc_ReselectionThresholdQ_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -8960,19 +24313,6 @@ dissect_lte_rrc_T_s_NonIntraSearch_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ } - -static int -dissect_lte_rrc_Q_QualMin_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -34, -3, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - static const per_sequence_t SystemInformationBlockType3_eag_1_sequence[] = { { &hf_lte_rrc_s_IntraSearch_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_s_IntraSearch_v920 }, { &hf_lte_rrc_s_NonIntraSearch_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_s_NonIntraSearch_v920 }, @@ -9038,63 +24378,6 @@ dissect_lte_rrc_SystemInformationBlockType3(tvbuff_t *tvb _U_, int offset _U_, a } - -static int -dissect_lte_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 503U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_Q_OffsetRange_vals[] = { - { 0, "dB-24" }, - { 1, "dB-22" }, - { 2, "dB-20" }, - { 3, "dB-18" }, - { 4, "dB-16" }, - { 5, "dB-14" }, - { 6, "dB-12" }, - { 7, "dB-10" }, - { 8, "dB-8" }, - { 9, "dB-6" }, - { 10, "dB-5" }, - { 11, "dB-4" }, - { 12, "dB-3" }, - { 13, "dB-2" }, - { 14, "dB-1" }, - { 15, "dB0" }, - { 16, "dB1" }, - { 17, "dB2" }, - { 18, "dB3" }, - { 19, "dB4" }, - { 20, "dB5" }, - { 21, "dB6" }, - { 22, "dB8" }, - { 23, "dB10" }, - { 24, "dB12" }, - { 25, "dB14" }, - { 26, "dB16" }, - { 27, "dB18" }, - { 28, "dB20" }, - { 29, "dB22" }, - { 30, "dB24" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_Q_OffsetRange_vals); - - -static int -dissect_lte_rrc_Q_OffsetRange(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, - 31, NULL, FALSE, 0, NULL); - - return offset; -} - - static const per_sequence_t IntraFreqNeighCellInfo_sequence[] = { { &hf_lte_rrc_physCellId_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, { &hf_lte_rrc_q_OffsetCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_OffsetRange }, @@ -9124,51 +24407,6 @@ dissect_lte_rrc_IntraFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const value_string lte_rrc_T_range_vals[] = { - { 0, "n4" }, - { 1, "n8" }, - { 2, "n12" }, - { 3, "n16" }, - { 4, "n24" }, - { 5, "n32" }, - { 6, "n48" }, - { 7, "n64" }, - { 8, "n84" }, - { 9, "n96" }, - { 10, "n128" }, - { 11, "n168" }, - { 12, "n252" }, - { 13, "n504" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PhysCellIdRange_sequence[] = { - { &hf_lte_rrc_start_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysCellIdRange, PhysCellIdRange_sequence); - - return offset; -} - - static const per_sequence_t IntraFreqBlackCellList_sequence_of[1] = { { &hf_lte_rrc_IntraFreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, }; @@ -9341,9 +24579,169 @@ dissect_lte_rrc_T_lateNonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string lte_rrc_T_reducedMeasPerformance_r12_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reducedMeasPerformance_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqInfo_v1250_sequence[] = { + { &hf_lte_rrc_reducedMeasPerformance_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12 }, + { &hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_InterFreqCarrierFreqInfo_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_InterFreqCarrierFreqInfo_v1250, InterFreqCarrierFreqInfo_v1250_sequence); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqList_v1250_sequence_of[1] = { + { &hf_lte_rrc_InterFreqCarrierFreqList_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_InterFreqCarrierFreqInfo_v1250 }, +}; + +static int +dissect_lte_rrc_InterFreqCarrierFreqList_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_InterFreqCarrierFreqList_v1250, InterFreqCarrierFreqList_v1250_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t T_threshX_Q_r12_sequence[] = { + { &hf_lte_rrc_threshX_HighQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, + { &hf_lte_rrc_threshX_LowQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_threshX_Q_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_threshX_Q_r12, T_threshX_Q_r12_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_FreqBandIndicator_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, maxFBI2, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t MultiBandInfoList_r11_sequence_of[1] = { + { &hf_lte_rrc_MultiBandInfoList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_r11 }, +}; + +static int +dissect_lte_rrc_MultiBandInfoList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MultiBandInfoList_r11, MultiBandInfoList_r11_sequence_of, + 1, maxMultiBands, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_reducedMeasPerformance_r12_01_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reducedMeasPerformance_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqInfo_r12_sequence[] = { + { &hf_lte_rrc_dl_CarrierFreq_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_q_RxLevMin_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_RxLevMin }, + { &hf_lte_rrc_p_Max_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, + { &hf_lte_rrc_t_ReselectionEUTRA_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reselection }, + { &hf_lte_rrc_t_ReselectionEUTRA_SF_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SpeedStateScaleFactors }, + { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_allowedMeasBandwidth_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AllowedMeasBandwidth }, + { &hf_lte_rrc_presenceAntennaPort1_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PresenceAntennaPort1 }, + { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, + { &hf_lte_rrc_neighCellConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellConfig }, + { &hf_lte_rrc_q_OffsetFreq_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRange }, + { &hf_lte_rrc_interFreqNeighCellList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqNeighCellList }, + { &hf_lte_rrc_interFreqBlackCellList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqBlackCellList }, + { &hf_lte_rrc_q_QualMin_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, + { &hf_lte_rrc_threshX_Q_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_threshX_Q_r12 }, + { &hf_lte_rrc_q_QualMinWB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, + { &hf_lte_rrc_multiBandInfoList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MultiBandInfoList_r11 }, + { &hf_lte_rrc_reducedMeasPerformance_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_01 }, + { &hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_InterFreqCarrierFreqInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_InterFreqCarrierFreqInfo_r12, InterFreqCarrierFreqInfo_r12_sequence); + + return offset; +} + + +static const per_sequence_t InterFreqCarrierFreqListExt_r12_sequence_of[1] = { + { &hf_lte_rrc_InterFreqCarrierFreqListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_InterFreqCarrierFreqInfo_r12 }, +}; + +static int +dissect_lte_rrc_InterFreqCarrierFreqListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_InterFreqCarrierFreqListExt_r12, InterFreqCarrierFreqListExt_r12_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType5_eag_1_sequence[] = { + { &hf_lte_rrc_interFreqCarrierFreqList_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqCarrierFreqList_v1250 }, + { &hf_lte_rrc_interFreqCarrierFreqListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqCarrierFreqListExt_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType5_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SystemInformationBlockType5_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SystemInformationBlockType5_sequence[] = { { &hf_lte_rrc_interFreqCarrierFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_InterFreqCarrierFreqList }, { &hf_lte_rrc_lateNonCriticalExtension_05, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_04 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType5_eag_1 }, { NULL, 0, 0, NULL } }; @@ -9360,16 +24758,6 @@ dissect_lte_rrc_SystemInformationBlockType5(tvbuff_t *tvb _U_, int offset _U_, a -static int -dissect_lte_rrc_ARFCN_ValueUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 16383U, NULL, FALSE); - - return offset; -} - - - static int dissect_lte_rrc_INTEGER_M60_M13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -9524,12 +24912,265 @@ dissect_lte_rrc_T_lateNonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, } +static const value_string lte_rrc_T_reducedMeasPerformance_r12_02_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reducedMeasPerformance_r12_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CarrierFreqInfoUTRA_v1250_sequence[] = { + { &hf_lte_rrc_reducedMeasPerformance_r12_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_02 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CarrierFreqInfoUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqInfoUTRA_v1250, CarrierFreqInfoUTRA_v1250_sequence); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250_sequence_of[1] = { + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqInfoUTRA_v1250 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250, SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250_sequence_of, + 1, maxUTRA_FDD_Carrier, FALSE); + + return offset; +} + + +static const per_sequence_t SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250_sequence_of[1] = { + { &hf_lte_rrc_carrierFreqListUTRA_TDD_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqInfoUTRA_v1250 }, +}; + +static int +dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250, SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250_sequence_of, + 1, maxUTRA_TDD_Carrier, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p_MaxUTRA_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -50, 33U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + + +static int +dissect_lte_rrc_T_q_QualMin_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -24, 0U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dB"); + + + return offset; +} + + +static const per_sequence_t T_threshX_Q_r12_01_sequence[] = { + { &hf_lte_rrc_threshX_HighQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, + { &hf_lte_rrc_threshX_LowQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_threshX_Q_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_threshX_Q_r12_01, T_threshX_Q_r12_01_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_FreqBandIndicator_UTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 86U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t FreqBandIndicator_UTRA_FDD_r12_sequence_of[1] = { + { &hf_lte_rrc_multiBandInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_UTRA_FDD }, +}; + +static int +dissect_lte_rrc_FreqBandIndicator_UTRA_FDD_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_FreqBandIndicator_UTRA_FDD_r12, FreqBandIndicator_UTRA_FDD_r12_sequence_of, + 1, maxMultiBands, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_reducedMeasPerformance_r12_03_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reducedMeasPerformance_r12_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CarrierFreqUTRA_FDD_Ext_r12_sequence[] = { + { &hf_lte_rrc_carrierFreq_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, + { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, + { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_q_RxLevMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M60_M13 }, + { &hf_lte_rrc_p_MaxUTRA_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_MaxUTRA_r12 }, + { &hf_lte_rrc_q_QualMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_q_QualMin_r12 }, + { &hf_lte_rrc_threshX_Q_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_threshX_Q_r12_01 }, + { &hf_lte_rrc_multiBandInfoList_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_FreqBandIndicator_UTRA_FDD_r12 }, + { &hf_lte_rrc_reducedMeasPerformance_r12_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_03 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12, CarrierFreqUTRA_FDD_Ext_r12_sequence); + + return offset; +} + + +static const per_sequence_t CarrierFreqListUTRA_FDD_Ext_r12_sequence_of[1] = { + { &hf_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12 }, +}; + +static int +dissect_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12, CarrierFreqListUTRA_FDD_Ext_r12_sequence_of, + 1, maxUTRA_FDD_Carrier, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_T_p_MaxUTRA_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + -50, 33U, NULL, FALSE); + + proto_item_append_text(actx->created_item, "dBm"); + + + return offset; +} + + +static const value_string lte_rrc_T_reducedMeasPerformance_r12_04_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_reducedMeasPerformance_r12_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t CarrierFreqUTRA_TDD_r12_sequence[] = { + { &hf_lte_rrc_carrierFreq_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, + { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, + { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, + { &hf_lte_rrc_q_RxLevMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M60_M13 }, + { &hf_lte_rrc_p_MaxUTRA_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_MaxUTRA_r12_01 }, + { &hf_lte_rrc_reducedMeasPerformance_r12_04, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_04 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_CarrierFreqUTRA_TDD_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqUTRA_TDD_r12, CarrierFreqUTRA_TDD_r12_sequence); + + return offset; +} + + +static const per_sequence_t CarrierFreqListUTRA_TDD_Ext_r12_sequence_of[1] = { + { &hf_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqUTRA_TDD_r12 }, +}; + +static int +dissect_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12, CarrierFreqListUTRA_TDD_Ext_r12_sequence_of, + 1, maxUTRA_TDD_Carrier, FALSE); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType6_eag_1_sequence[] = { + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 }, + { &hf_lte_rrc_carrierFreqListUTRA_TDD_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250 }, + { &hf_lte_rrc_carrierFreqListUTRA_FDD_Ext_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12 }, + { &hf_lte_rrc_carrierFreqListUTRA_TDD_Ext_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType6_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SystemInformationBlockType6_eag_1_sequence); + + return offset; +} + + static const per_sequence_t SystemInformationBlockType6_sequence[] = { { &hf_lte_rrc_carrierFreqListUTRA_FDD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_FDD }, { &hf_lte_rrc_carrierFreqListUTRA_TDD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_TDD }, { &hf_lte_rrc_t_ReselectionUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reselection }, { &hf_lte_rrc_t_ReselectionUTRA_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SpeedStateScaleFactors }, { &hf_lte_rrc_lateNonCriticalExtension_06, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_05 }, + { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType6_eag_1 }, { NULL, 0, 0, NULL } }; @@ -9546,131 +25187,6 @@ dissect_lte_rrc_SystemInformationBlockType6(tvbuff_t *tvb _U_, int offset _U_, a -static int -dissect_lte_rrc_ARFCN_ValueGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1023U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_BandIndicatorGERAN_vals[] = { - { 0, "dcs1800" }, - { 1, "pcs1900" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_BandIndicatorGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ExplicitListOfARFCNs_sequence_of[1] = { - { &hf_lte_rrc_ExplicitListOfARFCNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueGERAN }, -}; - -static int -dissect_lte_rrc_ExplicitListOfARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ExplicitListOfARFCNs, ExplicitListOfARFCNs_sequence_of, - 0, 31, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 31U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_equallySpacedARFCNs_sequence[] = { - { &hf_lte_rrc_arfcn_Spacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_8 }, - { &hf_lte_rrc_numberOfFollowingARFCNs, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_equallySpacedARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_equallySpacedARFCNs, T_equallySpacedARFCNs_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_OCTET_STRING_SIZE_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 1, 16, FALSE, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_followingARFCNs_vals[] = { - { 0, "explicitListOfARFCNs" }, - { 1, "equallySpacedARFCNs" }, - { 2, "variableBitMapOfARFCNs" }, - { 0, NULL } -}; - -static const per_choice_t T_followingARFCNs_choice[] = { - { 0, &hf_lte_rrc_explicitListOfARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ExplicitListOfARFCNs }, - { 1, &hf_lte_rrc_equallySpacedARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_equallySpacedARFCNs }, - { 2, &hf_lte_rrc_variableBitMapOfARFCNs, ASN1_NO_EXTENSIONS , dissect_lte_rrc_OCTET_STRING_SIZE_1_16 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_followingARFCNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_followingARFCNs, T_followingARFCNs_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CarrierFreqsGERAN_sequence[] = { - { &hf_lte_rrc_startingARFCN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueGERAN }, - { &hf_lte_rrc_bandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandIndicatorGERAN }, - { &hf_lte_rrc_followingARFCNs, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_followingARFCNs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CarrierFreqsGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqsGERAN, CarrierFreqsGERAN_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 8, 8, FALSE, NULL, NULL); - - return offset; -} - - - static int dissect_lte_rrc_INTEGER_0_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -9848,94 +25364,6 @@ dissect_lte_rrc_SystemTimeInfoCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_c } - -static int -dissect_lte_rrc_PreRegistrationZoneIdHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t SecondaryPreRegistrationZoneIdListHRPD_sequence_of[1] = { - { &hf_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PreRegistrationZoneIdHRPD }, -}; - -static int -dissect_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD, SecondaryPreRegistrationZoneIdListHRPD_sequence_of, - 1, 2, FALSE); - - return offset; -} - - -static const per_sequence_t PreRegistrationInfoHRPD_sequence[] = { - { &hf_lte_rrc_preRegistrationAllowed, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_preRegistrationZoneId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PreRegistrationZoneIdHRPD }, - { &hf_lte_rrc_secondaryPreRegistrationZoneIdList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecondaryPreRegistrationZoneIdListHRPD }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PreRegistrationInfoHRPD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PreRegistrationInfoHRPD, PreRegistrationInfoHRPD_sequence); - - return offset; -} - - -static const value_string lte_rrc_BandclassCDMA2000_vals[] = { - { 0, "bc0" }, - { 1, "bc1" }, - { 2, "bc2" }, - { 3, "bc3" }, - { 4, "bc4" }, - { 5, "bc5" }, - { 6, "bc6" }, - { 7, "bc7" }, - { 8, "bc8" }, - { 9, "bc9" }, - { 10, "bc10" }, - { 11, "bc11" }, - { 12, "bc12" }, - { 13, "bc13" }, - { 14, "bc14" }, - { 15, "bc15" }, - { 16, "bc16" }, - { 17, "bc17" }, - { 18, "bc18-v9a0" }, - { 19, "bc19-v9a0" }, - { 20, "bc20-v9a0" }, - { 21, "bc21-v9a0" }, - { 22, "spare10" }, - { 23, "spare9" }, - { 24, "spare8" }, - { 25, "spare7" }, - { 26, "spare6" }, - { 27, "spare5" }, - { 28, "spare4" }, - { 29, "spare3" }, - { 30, "spare2" }, - { 31, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_BandclassCDMA2000_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_BandclassCDMA2000_vals); - - -static int -dissect_lte_rrc_BandclassCDMA2000(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, - 32, NULL, TRUE, 0, NULL); - - return offset; -} - - static const per_sequence_t BandClassInfoCDMA2000_sequence[] = { { &hf_lte_rrc_bandClass , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandclassCDMA2000 }, { &hf_lte_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, @@ -9967,26 +25395,6 @@ dissect_lte_rrc_BandClassListCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } - -static int -dissect_lte_rrc_ARFCN_ValueCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2047U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_PhysCellIdCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxPNOffset, NULL, FALSE); - - return offset; -} - - static const per_sequence_t PhysCellIdListCDMA2000_sequence_of[1] = { { &hf_lte_rrc_PhysCellIdListCDMA2000_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdCDMA2000 }, }; @@ -10102,16 +25510,6 @@ dissect_lte_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t -static int -dissect_lte_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 16, 16, FALSE, NULL, NULL); - - return offset; -} - - - static int dissect_lte_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -10121,26 +25519,6 @@ dissect_lte_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 12, 12, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, NULL, NULL); - - return offset; -} - - static const per_sequence_t CSFB_RegistrationParam1XRTT_sequence[] = { { &hf_lte_rrc_sid , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_15 }, { &hf_lte_rrc_nid , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, @@ -10167,16 +25545,6 @@ dissect_lte_rrc_CSFB_RegistrationParam1XRTT(tvbuff_t *tvb _U_, int offset _U_, a } - -static int -dissect_lte_rrc_BIT_STRING_SIZE_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 42, 42, FALSE, NULL, NULL); - - return offset; -} - - static const per_sequence_t T_parameters1XRTT_sequence[] = { { &hf_lte_rrc_csfb_RegistrationParam1XRTT, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSFB_RegistrationParam1XRTT }, { &hf_lte_rrc_longCodeState1XRTT, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_42 }, @@ -11011,7 +26379,7 @@ dissect_lte_rrc_SystemInformationBlockType12_r9(tvbuff_t *tvb _U_, int offset _U static int -dissect_lte_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_MBSFN_AreaId_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); @@ -11116,7 +26484,7 @@ dissect_lte_rrc_T_mcch_Config_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static const per_sequence_t MBSFN_AreaInfo_r9_sequence[] = { - { &hf_lte_rrc_mbsfn_AreaId_r9, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, + { &hf_lte_rrc_mbsfn_AreaId_r9, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_AreaId_r12 }, { &hf_lte_rrc_non_MBSFNregionLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_non_MBSFNregionLength }, { &hf_lte_rrc_notificationIndicator_r9, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_7 }, { &hf_lte_rrc_mcch_Config_r9, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_mcch_Config_r9 }, @@ -11324,16 +26692,6 @@ dissect_lte_rrc_MBMS_SAI_List_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_ARFCN_ValueEUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxEARFCN2, NULL, FALSE); - - return offset; -} - - static const per_sequence_t MBMS_SAI_InterFreq_r11_sequence[] = { { &hf_lte_rrc_dl_CarrierFreq_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, { &hf_lte_rrc_mbms_SAI_List_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBMS_SAI_List_r11 }, @@ -11363,30 +26721,6 @@ dissect_lte_rrc_MBMS_SAI_InterFreqList_r11(tvbuff_t *tvb _U_, int offset _U_, as } - -static int -dissect_lte_rrc_FreqBandIndicator_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxFBI2, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MultiBandInfoList_r11_sequence_of[1] = { - { &hf_lte_rrc_MultiBandInfoList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_r11 }, -}; - -static int -dissect_lte_rrc_MultiBandInfoList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MultiBandInfoList_r11, MultiBandInfoList_r11_sequence_of, - 1, maxMultiBands, FALSE); - - return offset; -} - - static const per_sequence_t MBMS_SAI_InterFreq_v1140_sequence[] = { { &hf_lte_rrc_multiBandInfoList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MultiBandInfoList_r11 }, { NULL, 0, 0, NULL } @@ -11547,248 +26881,7 @@ dissect_lte_rrc_SystemInformationBlockType16_r11(tvbuff_t *tvb _U_, int offset _ static int -dissect_lte_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 97U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_thresholdRSRP_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRP_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, - { &hf_lte_rrc_thresholdRSRP_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdRSRP_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdRSRP_r12, T_thresholdRSRP_r12_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 34U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_thresholdRSRQ_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRQ_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { &hf_lte_rrc_thresholdRSRQ_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdRSRQ_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdRSRQ_r12, T_thresholdRSRQ_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_thresholdRSRQ_OnAllSymbolsWithWB_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12, T_thresholdRSRQ_OnAllSymbolsWithWB_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_thresholdRSRQ_OnAllSymbols_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12, T_thresholdRSRQ_OnAllSymbols_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_thresholdRSRQ_WB_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRQ_WB_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { &hf_lte_rrc_thresholdRSRQ_WB_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRQ_Range }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdRSRQ_WB_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdRSRQ_WB_r12, T_thresholdRSRQ_WB_r12_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_thresholdChannelUtilizationLow_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); - - proto_item_append_text(actx->created_item, " (BSS load)"); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_thresholdChannelUtilizationHigh_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, NULL, FALSE); - - proto_item_append_text(actx->created_item, " (BSS load)"); - - - return offset; -} - - -static const per_sequence_t T_thresholdChannelUtilization_r12_sequence[] = { - { &hf_lte_rrc_thresholdChannelUtilizationLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_thresholdChannelUtilizationLow_r12 }, - { &hf_lte_rrc_thresholdChannelUtilizationHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_thresholdChannelUtilizationHigh_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdChannelUtilization_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdChannelUtilization_r12, T_thresholdChannelUtilization_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_WLAN_backhaulRate_vals[] = { - { 0, "r0" }, - { 1, "r4" }, - { 2, "r8" }, - { 3, "r16" }, - { 4, "r32" }, - { 5, "r64" }, - { 6, "r128" }, - { 7, "r256" }, - { 8, "r512" }, - { 9, "r1024" }, - { 10, "r2048" }, - { 11, "r4096" }, - { 12, "r8192" }, - { 13, "r16384" }, - { 14, "r32768" }, - { 15, "r65536" }, - { 16, "r131072" }, - { 17, "r262144" }, - { 18, "r524288" }, - { 19, "r1048576" }, - { 20, "r2097152" }, - { 21, "r4194304" }, - { 22, "r8388608" }, - { 23, "r16777216" }, - { 24, "r33554432" }, - { 25, "r67108864" }, - { 26, "r134217728" }, - { 27, "r268435456" }, - { 28, "r536870912" }, - { 29, "r1073741824" }, - { 30, "r2147483648" }, - { 31, "r4294967296" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_WLAN_backhaulRate_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_WLAN_backhaulRate_vals); - - -static int -dissect_lte_rrc_WLAN_backhaulRate(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, - 32, NULL, FALSE, 0, NULL); - - proto_item_append_text(actx->created_item, " Kbps"); - - return offset; -} - - -static const per_sequence_t T_thresholdBackhaul_Bandwidth_r12_sequence[] = { - { &hf_lte_rrc_thresholdBackhaulDL_BandwidthLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate }, - { &hf_lte_rrc_thresholdBackhaulDL_BandwidthHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate }, - { &hf_lte_rrc_thresholdBackhaulUL_BandwidthLow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate }, - { &hf_lte_rrc_thresholdBackhaulUL_BandwidthHigh_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_backhaulRate }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdBackhaul_Bandwidth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdBackhaul_Bandwidth_r12, T_thresholdBackhaul_Bandwidth_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_thresholdBeaconRSSI_r12_sequence[] = { - { &hf_lte_rrc_thresholdBeaconRSSI_Low_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, - { &hf_lte_rrc_thresholdBeaconRSSI_High_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_thresholdBeaconRSSI_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_thresholdBeaconRSSI_r12, T_thresholdBeaconRSSI_r12_sequence); - - return offset; -} - - -static const per_sequence_t WLAN_OffloadConfig_r12_sequence[] = { - { &hf_lte_rrc_thresholdRSRP_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRP_r12 }, - { &hf_lte_rrc_thresholdRSRQ_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_r12 }, - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbolsWithWB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbolsWithWB_r12 }, - { &hf_lte_rrc_thresholdRSRQ_OnAllSymbols_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_OnAllSymbols_r12 }, - { &hf_lte_rrc_thresholdRSRQ_WB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdRSRQ_WB_r12 }, - { &hf_lte_rrc_thresholdChannelUtilization_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdChannelUtilization_r12 }, - { &hf_lte_rrc_thresholdBackhaul_Bandwidth_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdBackhaul_Bandwidth_r12 }, - { &hf_lte_rrc_thresholdBeaconRSSI_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_thresholdBeaconRSSI_r12 }, - { &hf_lte_rrc_offloadPreferenceIndicator_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_t_SteeringWLAN_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reselection }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_WLAN_OffloadConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_WLAN_OffloadConfig_r12, WLAN_OffloadConfig_r12_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_ssid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_ssid_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *ssid_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, @@ -11811,46 +26904,24 @@ dissect_lte_rrc_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string lte_rrc_T_wlan_Identifiers_vals[] = { - { 0, "ssid" }, - { 1, "bssid" }, - { 2, "hessid" }, - { 0, NULL } -}; - -static const per_choice_t T_wlan_Identifiers_choice[] = { - { 0, &hf_lte_rrc_ssid , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_ssid }, - { 1, &hf_lte_rrc_bssid , ASN1_NO_EXTENSIONS , dissect_lte_rrc_OCTET_STRING_SIZE_6 }, - { 2, &hf_lte_rrc_hessid , ASN1_NO_EXTENSIONS , dissect_lte_rrc_OCTET_STRING_SIZE_6 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_wlan_Identifiers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_wlan_Identifiers, T_wlan_Identifiers_choice, - NULL); - - return offset; -} - - -static const per_sequence_t WLAN_Id_r12_sequence[] = { - { &hf_lte_rrc_wlan_Identifiers, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_wlan_Identifiers }, +static const per_sequence_t WLAN_Identifiers_r12_sequence[] = { + { &hf_lte_rrc_ssid_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ssid_r12 }, + { &hf_lte_rrc_bssid_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING_SIZE_6 }, + { &hf_lte_rrc_hessid_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING_SIZE_6 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_WLAN_Id_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_WLAN_Identifiers_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_WLAN_Id_r12, WLAN_Id_r12_sequence); + ett_lte_rrc_WLAN_Identifiers_r12, WLAN_Identifiers_r12_sequence); return offset; } static const per_sequence_t WLAN_Id_List_r12_sequence_of[1] = { - { &hf_lte_rrc_WLAN_Id_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_Id_r12 }, + { &hf_lte_rrc_WLAN_Id_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_Identifiers_r12 }, }; static int @@ -11863,29 +26934,29 @@ dissect_lte_rrc_WLAN_Id_List_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t WLAN_OffloadPerPLMN_r12_sequence[] = { - { &hf_lte_rrc_wlan_OffloadConfigCommon_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_OffloadConfig_r12 }, - { &hf_lte_rrc_wlan_Id_List_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_Id_List_r12 }, +static const per_sequence_t WLAN_OffloadInfoPerPLMN_r12_sequence[] = { + { &hf_lte_rrc_wlan_OffloadConfigCommon_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_OffloadConfig_r12 }, + { &hf_lte_rrc_wlan_Id_List_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_Id_List_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_WLAN_OffloadPerPLMN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_WLAN_OffloadInfoPerPLMN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_WLAN_OffloadPerPLMN_r12, WLAN_OffloadPerPLMN_r12_sequence); + ett_lte_rrc_WLAN_OffloadInfoPerPLMN_r12, WLAN_OffloadInfoPerPLMN_r12_sequence); return offset; } -static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12_sequence_of[1] = { - { &hf_lte_rrc_wlan_OffloadPerPLMN_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_OffloadPerPLMN_r12 }, +static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12_sequence_of[1] = { + { &hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_OffloadInfoPerPLMN_r12 }, }; static int -dissect_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12, SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12_sequence_of, + ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12, SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12_sequence_of, 1, maxPLMN_r11, FALSE); return offset; @@ -11893,7 +26964,7 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12(tvbuff_t static const per_sequence_t SystemInformationBlockType17_r12_sequence[] = { - { &hf_lte_rrc_wlan_OffloadPerPLMN_List_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12 }, + { &hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; @@ -11910,6 +26981,345 @@ dissect_lte_rrc_SystemInformationBlockType17_r12(tvbuff_t *tvb _U_, int offset _ } +static const per_sequence_t SL_CommRxPoolList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_CommRxPoolList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommResourcePool_r12 }, +}; + +static int +dissect_lte_rrc_SL_CommRxPoolList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommRxPoolList_r12, SL_CommRxPoolList_r12_sequence_of, + 1, maxSL_RxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CommTxPoolList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_CommTxPoolList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommResourcePool_r12 }, +}; + +static int +dissect_lte_rrc_SL_CommTxPoolList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommTxPoolList_r12, SL_CommTxPoolList_r12_sequence_of, + 1, maxSL_TxPool_r12, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_SL_OffsetIndicatorSync_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 39U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_SLSSID_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 167U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_RSRP_RangeSL_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 13U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_BIT_STRING_SIZE_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 19, 19, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t T_txParameters_r12_02_sequence[] = { + { &hf_lte_rrc_syncTxParameters_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_TxParameters_r12 }, + { &hf_lte_rrc_syncTxThreshIC_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_RangeSL_r12 }, + { &hf_lte_rrc_syncInfoReserved_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_19 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_txParameters_r12_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_txParameters_r12_02, T_txParameters_r12_02_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_discSyncWindow_r12_vals[] = { + { 0, "w1" }, + { 1, "w2" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discSyncWindow_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_rxParamsNCell_r12_sequence[] = { + { &hf_lte_rrc_physCellId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, + { &hf_lte_rrc_discSyncWindow_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_discSyncWindow_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_rxParamsNCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_rxParamsNCell_r12, T_rxParamsNCell_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_SyncConfig_r12_sequence[] = { + { &hf_lte_rrc_syncCP_Len_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CP_Len_r12 }, + { &hf_lte_rrc_syncOffsetIndicator_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_OffsetIndicatorSync_r12 }, + { &hf_lte_rrc_slssid_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SLSSID_r12 }, + { &hf_lte_rrc_txParameters_r12_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_txParameters_r12_02 }, + { &hf_lte_rrc_rxParamsNCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rxParamsNCell_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_SyncConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_SyncConfig_r12, SL_SyncConfig_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_SyncConfigList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_SyncConfigList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_SyncConfig_r12 }, +}; + +static int +dissect_lte_rrc_SL_SyncConfigList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_SyncConfigList_r12, SL_SyncConfigList_r12_sequence_of, + 1, maxSL_SyncConfig_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_commConfig_r12_sequence[] = { + { &hf_lte_rrc_commRxPool_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CommRxPoolList_r12 }, + { &hf_lte_rrc_commTxPoolNormalCommon_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommTxPoolList_r12 }, + { &hf_lte_rrc_commTxPoolExceptional_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommTxPoolList_r12 }, + { &hf_lte_rrc_commSyncConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_SyncConfigList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_commConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_commConfig_r12, T_commConfig_r12_sequence); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType18_r12_sequence[] = { + { &hf_lte_rrc_commConfig_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_commConfig_r12 }, + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType18_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 "); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType18_r12, SystemInformationBlockType18_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_DiscRxPoolList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_DiscRxPoolList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscResourcePool_r12 }, +}; + +static int +dissect_lte_rrc_SL_DiscRxPoolList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscRxPoolList_r12, SL_DiscRxPoolList_r12_sequence_of, + 1, maxSL_RxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t SL_DiscTxPoolList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_DiscTxPoolList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscResourcePool_r12 }, +}; + +static int +dissect_lte_rrc_SL_DiscTxPoolList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscTxPoolList_r12, SL_DiscTxPoolList_r12_sequence_of, + 1, maxSL_TxPool_r12, FALSE); + + return offset; +} + + +static const per_sequence_t SL_DiscTxPowerInfo_r12_sequence[] = { + { &hf_lte_rrc_discMaxTxPower_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P_Max }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_DiscTxPowerInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscTxPowerInfo_r12, SL_DiscTxPowerInfo_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_DiscTxPowerInfoList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_DiscTxPowerInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscTxPowerInfo_r12 }, +}; + +static int +dissect_lte_rrc_SL_DiscTxPowerInfoList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DiscTxPowerInfoList_r12, SL_DiscTxPowerInfoList_r12_sequence_of, + maxSL_DiscPowerClass_r12, maxSL_DiscPowerClass_r12, FALSE); + + return offset; +} + + +static const per_sequence_t T_discConfig_r12_sequence[] = { + { &hf_lte_rrc_discRxPool_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DiscRxPoolList_r12 }, + { &hf_lte_rrc_discTxPoolCommon_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscTxPoolList_r12 }, + { &hf_lte_rrc_discTxPowerInfo_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscTxPowerInfoList_r12 }, + { &hf_lte_rrc_discSyncConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_SyncConfigList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_discConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_discConfig_r12, T_discConfig_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_PLMN_IdentityInfo2_r12_vals[] = { + { 0, "plmn-Index-r12" }, + { 1, "plmnIdentity-r12" }, + { 0, NULL } +}; + +static const per_choice_t PLMN_IdentityInfo2_r12_choice[] = { + { 0, &hf_lte_rrc_plmn_Index_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_maxPLMN_r11 }, + { 1, &hf_lte_rrc_plmnIdentity_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_PLMN_Identity }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_PLMN_IdentityInfo2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PLMN_IdentityInfo2_r12, PLMN_IdentityInfo2_r12_choice, + NULL); + + return offset; +} + + +static const per_sequence_t PLMN_IdentityList4_r12_sequence_of[1] = { + { &hf_lte_rrc_PLMN_IdentityList4_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_IdentityInfo2_r12 }, +}; + +static int +dissect_lte_rrc_PLMN_IdentityList4_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_PLMN_IdentityList4_r12, PLMN_IdentityList4_r12_sequence_of, + 1, maxPLMN_r11, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CarrierFreqInfo_r12_sequence[] = { + { &hf_lte_rrc_carrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_plmn_IdentityList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PLMN_IdentityList4_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_CarrierFreqInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CarrierFreqInfo_r12, SL_CarrierFreqInfo_r12_sequence); + + return offset; +} + + +static const per_sequence_t SL_CarrierFreqInfoList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_CarrierFreqInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_CarrierFreqInfo_r12 }, +}; + +static int +dissect_lte_rrc_SL_CarrierFreqInfoList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CarrierFreqInfoList_r12, SL_CarrierFreqInfoList_r12_sequence_of, + 1, maxFreq, FALSE); + + return offset; +} + + +static const per_sequence_t SystemInformationBlockType19_r12_sequence[] = { + { &hf_lte_rrc_discConfig_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_discConfig_r12 }, + { &hf_lte_rrc_discInterFreqList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SL_CarrierFreqInfoList_r12 }, + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SystemInformationBlockType19_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 "); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SystemInformationBlockType19_r12, SystemInformationBlockType19_r12_sequence); + + return offset; +} + + static const value_string lte_rrc_T_sib_TypeAndInfo_item_vals[] = { { 0, "sib2" }, { 1, "sib3" }, @@ -11926,7 +27336,9 @@ static const value_string lte_rrc_T_sib_TypeAndInfo_item_vals[] = { { 12, "sib14-v1130" }, { 13, "sib15-v1130" }, { 14, "sib16-v1130" }, - { 15, "sib17-v12xy" }, + { 15, "sib17-v1250" }, + { 16, "sib18-v1250" }, + { 17, "sib19-v1250" }, { 0, NULL } }; @@ -11946,7 +27358,9 @@ static const per_choice_t T_sib_TypeAndInfo_item_choice[] = { { 12, &hf_lte_rrc_sib14_v1130 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType14_r11 }, { 13, &hf_lte_rrc_sib15_v1130 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType15_r11 }, { 14, &hf_lte_rrc_sib16_v1130 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType16_r11 }, - { 15, &hf_lte_rrc_sib17_v12xy , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType17_r12 }, + { 15, &hf_lte_rrc_sib17_v1250 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType17_r12 }, + { 16, &hf_lte_rrc_sib18_v1250 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType18_r12 }, + { 17, &hf_lte_rrc_sib19_v1250 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_SystemInformationBlockType19_r12 }, { 0, NULL, 0, NULL } }; @@ -11974,14 +27388,14 @@ dissect_lte_rrc_T_sib_TypeAndInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_34_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_39_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence); + ett_lte_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence); return offset; } @@ -11989,7 +27403,7 @@ dissect_lte_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t SystemInformation_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_87, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_34 }, + { &hf_lte_rrc_nonCriticalExtension_97, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_39 }, { NULL, 0, 0, NULL } }; @@ -12004,7 +27418,7 @@ dissect_lte_rrc_SystemInformation_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t SystemInformation_r8_IEs_sequence[] = { { &hf_lte_rrc_sib_TypeAndInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sib_TypeAndInfo }, - { &hf_lte_rrc_nonCriticalExtension_86, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformation_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_96, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformation_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -12017,35 +27431,35 @@ dissect_lte_rrc_SystemInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_36_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_36, T_criticalExtensionsFuture_36_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_31_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_36_vals[] = { { 0, "systemInformation-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_31_choice[] = { +static const per_choice_t T_criticalExtensions_36_choice[] = { { 0, &hf_lte_rrc_systemInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SystemInformation_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_31 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_36, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_36 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice, + ett_lte_rrc_T_criticalExtensions_36, T_criticalExtensions_36_choice, NULL); return offset; @@ -12053,7 +27467,7 @@ dissect_lte_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t SystemInformation_sequence[] = { - { &hf_lte_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_31 }, + { &hf_lte_rrc_criticalExtensions_36, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_36 }, { NULL, 0, 0, NULL } }; @@ -12073,681 +27487,22 @@ dissect_lte_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -static int -dissect_lte_rrc_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 9U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MCC_sequence_of[1] = { - { &hf_lte_rrc_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MCC_MNC_Digit }, -}; - -static int -dissect_lte_rrc_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MCC, MCC_sequence_of, - 3, 3, FALSE); - - return offset; -} - - -static const per_sequence_t MNC_sequence_of[1] = { - { &hf_lte_rrc_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MCC_MNC_Digit }, -}; - -static int -dissect_lte_rrc_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MNC, MNC_sequence_of, - 2, 3, FALSE); - - return offset; -} - - -static const per_sequence_t PLMN_Identity_sequence[] = { - { &hf_lte_rrc_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MCC }, - { &hf_lte_rrc_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MNC }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PLMN_Identity, PLMN_Identity_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_cellReservedForOperatorUse_vals[] = { - { 0, "reserved" }, - { 1, "notReserved" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PLMN_IdentityInfo_sequence[] = { - { &hf_lte_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_Identity }, - { &hf_lte_rrc_cellReservedForOperatorUse, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellReservedForOperatorUse }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PLMN_IdentityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PLMN_IdentityInfo, PLMN_IdentityInfo_sequence); - - return offset; -} - - -static const per_sequence_t PLMN_IdentityList_sequence_of[1] = { - { &hf_lte_rrc_PLMN_IdentityList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_IdentityInfo }, -}; - -static int -dissect_lte_rrc_PLMN_IdentityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PLMN_IdentityList, PLMN_IdentityList_sequence_of, - 1, maxPLMN_r11, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 16, 16, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 28, 28, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_cellBarred_vals[] = { - { 0, "barred" }, - { 1, "notBarred" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_intraFreqReselection_vals[] = { - { 0, "allowed" }, - { 1, "notAllowed" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_CSG_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 27, 27, FALSE, NULL, NULL); - - return offset; -} - - -static const per_sequence_t T_cellAccessRelatedInfo_sequence[] = { - { &hf_lte_rrc_plmn_IdentityList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PLMN_IdentityList }, - { &hf_lte_rrc_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TrackingAreaCode }, - { &hf_lte_rrc_cellIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIdentity }, - { &hf_lte_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellBarred }, - { &hf_lte_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_intraFreqReselection }, - { &hf_lte_rrc_csg_Indication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_csg_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSG_Identity }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellAccessRelatedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellAccessRelatedInfo, T_cellAccessRelatedInfo_sequence); - - return offset; -} - - -static const per_sequence_t T_cellSelectionInfo_sequence[] = { - { &hf_lte_rrc_q_RxLevMin , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_RxLevMin }, - { &hf_lte_rrc_q_RxLevMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_8 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellSelectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellSelectionInfo, T_cellSelectionInfo_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_FreqBandIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxFBI, &value, FALSE); - - set_freq_band_indicator(value, actx); - - - return offset; -} - - -static const value_string lte_rrc_T_si_Periodicity_vals[] = { - { 0, "rf8" }, - { 1, "rf16" }, - { 2, "rf32" }, - { 3, "rf64" }, - { 4, "rf128" }, - { 5, "rf256" }, - { 6, "rf512" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_si_Periodicity(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_SIB_Type_vals[] = { - { 0, "sibType3" }, - { 1, "sibType4" }, - { 2, "sibType5" }, - { 3, "sibType6" }, - { 4, "sibType7" }, - { 5, "sibType8" }, - { 6, "sibType9" }, - { 7, "sibType10" }, - { 8, "sibType11" }, - { 9, "sibType12-v920" }, - { 10, "sibType13-v920" }, - { 11, "sibType14-v1130" }, - { 12, "sibType15-v1130" }, - { 13, "sibType16-v1130" }, - { 14, "sibType17-v12xy" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_SIB_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, - 16, NULL, TRUE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SIB_MappingInfo_sequence_of[1] = { - { &hf_lte_rrc_SIB_MappingInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SIB_Type }, -}; - -static int -dissect_lte_rrc_SIB_MappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SIB_MappingInfo, SIB_MappingInfo_sequence_of, - 0, maxSIB_1, FALSE); - - return offset; -} - - -static const per_sequence_t SchedulingInfo_sequence[] = { - { &hf_lte_rrc_si_Periodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_si_Periodicity }, - { &hf_lte_rrc_sib_MappingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SIB_MappingInfo }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SchedulingInfo, SchedulingInfo_sequence); - - return offset; -} - - -static const per_sequence_t SchedulingInfoList_sequence_of[1] = { - { &hf_lte_rrc_SchedulingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SchedulingInfo }, -}; - -static int -dissect_lte_rrc_SchedulingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SchedulingInfoList, SchedulingInfoList_sequence_of, - 1, maxSI_Message, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_subframeAssignment_vals[] = { - { 0, "sa0" }, - { 1, "sa1" }, - { 2, "sa2" }, - { 3, "sa3" }, - { 4, "sa4" }, - { 5, "sa5" }, - { 6, "sa6" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_subframeAssignment(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_specialSubframePatterns_vals[] = { - { 0, "ssp0" }, - { 1, "ssp1" }, - { 2, "ssp2" }, - { 3, "ssp3" }, - { 4, "ssp4" }, - { 5, "ssp5" }, - { 6, "ssp6" }, - { 7, "ssp7" }, - { 8, "ssp8" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_specialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 9, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t TDD_Config_sequence[] = { - { &hf_lte_rrc_subframeAssignment, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_subframeAssignment }, - { &hf_lte_rrc_specialSubframePatterns, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_specialSubframePatterns }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_TDD_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_TDD_Config, TDD_Config_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_si_WindowLength_vals[] = { - { 0, "ms1" }, - { 1, "ms2" }, - { 2, "ms5" }, - { 3, "ms10" }, - { 4, "ms15" }, - { 5, "ms20" }, - { 6, "ms40" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_si_WindowLength(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_systemInfoValueTag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 31U, &value, FALSE); - - /* Track whether systemInfoValue has changed since last seen, indicating new SI config - TODO: add link back to previous config and (if known) time since previous config - was first seen */ - if (!actx->pinfo->fd->flags.visited) { - if (system_info_value_current_set && (value != system_info_value_current)) { - /* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */ - g_hash_table_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->fd->num), - GUINT_TO_POINTER(system_info_value_current+1)); - } - system_info_value_current_set = TRUE; - system_info_value_current = value; - } - else { - /* Look up indication of changed info value from hash table */ - gpointer p_previous = g_hash_table_lookup(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->fd->num)); - if (p_previous != NULL) { - /* Subtract one from stored result to get previous value */ - guint32 previous = GPOINTER_TO_UINT(p_previous) - 1; - expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_si_info_value_changed, - "SI Info Value changed (now %u, was %u)", value, previous); - } - } - - - return offset; -} - - - -static int -dissect_lte_rrc_T_lateNonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformationBlockType1_v8h0_IEs_PDU); - - return offset; -} - - -static const value_string lte_rrc_T_ims_EmergencySupport_r9_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_ims_EmergencySupport_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_q_QualMinOffset_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 8U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const per_sequence_t CellSelectionInfo_v920_sequence[] = { - { &hf_lte_rrc_q_QualMin_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, - { &hf_lte_rrc_q_QualMinOffset_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_q_QualMinOffset_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellSelectionInfo_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellSelectionInfo_v920, CellSelectionInfo_v920_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_specialSubframePatterns_v1130_vals[] = { - { 0, "ssp7" }, - { 1, "ssp9" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_specialSubframePatterns_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t TDD_Config_v1130_sequence[] = { - { &hf_lte_rrc_specialSubframePatterns_v1130, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_specialSubframePatterns_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_TDD_Config_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_TDD_Config_v1130, TDD_Config_v1130_sequence); - - return offset; -} - - -static const per_sequence_t CellSelectionInfo_v1130_sequence[] = { - { &hf_lte_rrc_q_QualMinWB_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellSelectionInfo_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellSelectionInfo_v1130, CellSelectionInfo_v1130_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_category0Allowed_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_category0Allowed_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_cellAccessRelatedInfo_v12xy_sequence[] = { - { &hf_lte_rrc_category0Allowed_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_category0Allowed_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellAccessRelatedInfo_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellAccessRelatedInfo_v12xy, T_cellAccessRelatedInfo_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t CellSelectionInfo_v12xy_sequence[] = { - { &hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_QualMin_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellSelectionInfo_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellSelectionInfo_v12xy, CellSelectionInfo_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_36_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType1_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_cellAccessRelatedInfo_v12xy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellAccessRelatedInfo_v12xy }, - { &hf_lte_rrc_cellSelectionInfo_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v12xy }, - { &hf_lte_rrc_nonCriticalExtension_94, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_36 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType1_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType1_v12xy_IEs, SystemInformationBlockType1_v12xy_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType1_v1130_IEs_sequence[] = { - { &hf_lte_rrc_tdd_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config_v1130 }, - { &hf_lte_rrc_cellSelectionInfo_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v1130 }, - { &hf_lte_rrc_nonCriticalExtension_93, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v12xy_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType1_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType1_v1130_IEs, SystemInformationBlockType1_v1130_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType1_v920_IEs_sequence[] = { - { &hf_lte_rrc_ims_EmergencySupport_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ims_EmergencySupport_r9 }, - { &hf_lte_rrc_cellSelectionInfo_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellSelectionInfo_v920 }, - { &hf_lte_rrc_nonCriticalExtension_92, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v1130_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType1_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType1_v920_IEs, SystemInformationBlockType1_v920_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType1_v890_IEs_sequence[] = { - { &hf_lte_rrc_lateNonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_01 }, - { &hf_lte_rrc_nonCriticalExtension_89, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v920_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType1_v890_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType1_v890_IEs, SystemInformationBlockType1_v890_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType1_sequence[] = { - { &hf_lte_rrc_cellAccessRelatedInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellAccessRelatedInfo }, - { &hf_lte_rrc_cellSelectionInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cellSelectionInfo }, - { &hf_lte_rrc_p_Max , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, - { &hf_lte_rrc_freqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator }, - { &hf_lte_rrc_schedulingInfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SchedulingInfoList }, - { &hf_lte_rrc_tdd_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, - { &hf_lte_rrc_si_WindowLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_si_WindowLength }, - { &hf_lte_rrc_systemInfoValueTag, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_systemInfoValueTag }, - { &hf_lte_rrc_nonCriticalExtension_88, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v890_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - - col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType1, SystemInformationBlockType1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_vals[] = { +static const value_string lte_rrc_T_c1_04_vals[] = { { 0, "systemInformation" }, { 1, "systemInformationBlockType1" }, { 0, NULL } }; -static const per_choice_t T_c1_choice[] = { +static const per_choice_t T_c1_04_choice[] = { { 0, &hf_lte_rrc_systemInformation, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SystemInformation }, { 1, &hf_lte_rrc_systemInformationBlockType1, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SystemInformationBlockType1 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1, T_c1_choice, + ett_lte_rrc_T_c1_04, T_c1_04_choice, NULL); return offset; @@ -12774,7 +27529,7 @@ static const value_string lte_rrc_BCCH_DL_SCH_MessageType_vals[] = { }; static const per_choice_t BCCH_DL_SCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1 }, + { 0, &hf_lte_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_04 }, { 1, &hf_lte_rrc_messageClassExtension, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension }, { 0, NULL, 0, NULL } }; @@ -12848,16 +27603,6 @@ dissect_lte_rrc_INTEGER_0_1535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } - -static int -dissect_lte_rrc_INTEGER_0_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 28U, NULL, FALSE); - - return offset; -} - - static const value_string lte_rrc_T_mch_SchedulingPeriod_r9_vals[] = { { 0, "rf8" }, { 1, "rf16" }, @@ -13033,14 +27778,14 @@ dissect_lte_rrc_INTEGER_0_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static const value_string lte_rrc_T_dataMCS_r12_vals[] = { - { 0, "t1-r12" }, - { 1, "t2-r12" }, + { 0, "normal-r12" }, + { 1, "higerOrder-r12" }, { 0, NULL } }; static const per_choice_t T_dataMCS_r12_choice[] = { - { 0, &hf_lte_rrc_t1_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_28 }, - { 1, &hf_lte_rrc_t2_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_27 }, + { 0, &hf_lte_rrc_normal_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_28 }, + { 1, &hf_lte_rrc_higerOrder_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_0_27 }, { 0, NULL, 0, NULL } }; @@ -13122,29 +27867,29 @@ dissect_lte_rrc_PMCH_InfoListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_nonCriticalExtension_12_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_16_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence); + ett_lte_rrc_T_nonCriticalExtension_16, T_nonCriticalExtension_16_sequence); return offset; } -static const per_sequence_t MBSFNAreaConfiguration_v12xy_IEs_sequence[] = { +static const per_sequence_t MBSFNAreaConfiguration_v1250_IEs_sequence[] = { { &hf_lte_rrc_pmch_InfoListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PMCH_InfoListExt_r12 }, - { &hf_lte_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_12 }, + { &hf_lte_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_16 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_MBSFNAreaConfiguration_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs, MBSFNAreaConfiguration_v12xy_IEs_sequence); + ett_lte_rrc_MBSFNAreaConfiguration_v1250_IEs, MBSFNAreaConfiguration_v1250_IEs_sequence); return offset; } @@ -13152,7 +27897,7 @@ dissect_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int offset _ static const per_sequence_t MBSFNAreaConfiguration_v930_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_24, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFNAreaConfiguration_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -13169,7 +27914,7 @@ static const per_sequence_t MBSFNAreaConfiguration_r9_sequence[] = { { &hf_lte_rrc_commonSF_Alloc_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CommonSF_AllocPatternList_r9 }, { &hf_lte_rrc_commonSF_AllocPeriod_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_commonSF_AllocPeriod_r9 }, { &hf_lte_rrc_pmch_InfoList_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PMCH_InfoList_r9 }, - { &hf_lte_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFNAreaConfiguration_v930_IEs }, + { &hf_lte_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFNAreaConfiguration_v930_IEs }, { NULL, 0, 0, NULL } }; @@ -13185,20 +27930,20 @@ dissect_lte_rrc_MBSFNAreaConfiguration_r9(tvbuff_t *tvb _U_, int offset _U_, asn } -static const value_string lte_rrc_T_c1_01_vals[] = { +static const value_string lte_rrc_T_c1_05_vals[] = { { 0, "mbsfnAreaConfiguration-r9" }, { 0, NULL } }; -static const per_choice_t T_c1_01_choice[] = { +static const per_choice_t T_c1_05_choice[] = { { 0, &hf_lte_rrc_mbsfnAreaConfiguration_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBSFNAreaConfiguration_r9 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_01, T_c1_01_choice, + ett_lte_rrc_T_c1_05, T_c1_05_choice, NULL); return offset; @@ -13233,14 +27978,14 @@ dissect_lte_rrc_CountingRequestList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t T_nonCriticalExtension_09_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_13_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence); + ett_lte_rrc_T_nonCriticalExtension_13, T_nonCriticalExtension_13_sequence); return offset; } @@ -13249,7 +27994,7 @@ dissect_lte_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t MBMSCountingRequest_r10_sequence[] = { { &hf_lte_rrc_countingRequestList_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CountingRequestList_r10 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_09 }, + { &hf_lte_rrc_nonCriticalExtension_29, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_13 }, { NULL, 0, 0, NULL } }; @@ -13327,7 +28072,7 @@ static const value_string lte_rrc_MCCH_MessageType_vals[] = { }; static const per_choice_t MCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_01 }, + { 0, &hf_lte_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_05 }, { 1, &hf_lte_rrc_later , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_later }, { 0, NULL, 0, NULL } }; @@ -13366,16 +28111,6 @@ dissect_lte_rrc_MMEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } - -static int -dissect_lte_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 32, 32, FALSE, NULL, NULL); - - return offset; -} - - static const per_sequence_t S_TMSI_sequence[] = { { &hf_lte_rrc_mmec , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MMEC }, { &hf_lte_rrc_m_TMSI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_32 }, @@ -13568,14 +28303,14 @@ dissect_lte_rrc_T_eab_ParamModification_r11(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t T_nonCriticalExtension_16_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_20_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_16, T_nonCriticalExtension_16_sequence); + ett_lte_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence); return offset; } @@ -13583,7 +28318,7 @@ dissect_lte_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t Paging_v1130_IEs_sequence[] = { { &hf_lte_rrc_eab_ParamModification_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_eab_ParamModification_r11 }, - { &hf_lte_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_16 }, + { &hf_lte_rrc_nonCriticalExtension_46, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_20 }, { NULL, 0, 0, NULL } }; @@ -13598,7 +28333,7 @@ dissect_lte_rrc_Paging_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static const per_sequence_t Paging_v920_IEs_sequence[] = { { &hf_lte_rrc_cmas_Indication_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cmas_Indication_r9 }, - { &hf_lte_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_45, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -13613,7 +28348,7 @@ dissect_lte_rrc_Paging_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static const per_sequence_t Paging_v890_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_44, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -13630,7 +28365,7 @@ static const per_sequence_t Paging_sequence[] = { { &hf_lte_rrc_pagingRecordList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pagingRecordList }, { &hf_lte_rrc_systemInfoModification, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_systemInfoModification }, { &hf_lte_rrc_etws_Indication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_etws_Indication }, - { &hf_lte_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v890_IEs }, + { &hf_lte_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Paging_v890_IEs }, { NULL, 0, 0, NULL } }; @@ -13646,20 +28381,20 @@ dissect_lte_rrc_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string lte_rrc_T_c1_02_vals[] = { +static const value_string lte_rrc_T_c1_06_vals[] = { { 0, "paging" }, { 0, NULL } }; -static const per_choice_t T_c1_02_choice[] = { +static const per_choice_t T_c1_06_choice[] = { { 0, &hf_lte_rrc_paging , ASN1_NO_EXTENSIONS , dissect_lte_rrc_Paging }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_02, T_c1_02_choice, + ett_lte_rrc_T_c1_06, T_c1_06_choice, NULL); return offset; @@ -13686,7 +28421,7 @@ static const value_string lte_rrc_PCCH_MessageType_vals[] = { }; static const per_choice_t PCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_02 }, + { 0, &hf_lte_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_06 }, { 1, &hf_lte_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension_02 }, { 0, NULL, 0, NULL } }; @@ -13726,7698 +28461,6 @@ dissect_lte_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn -static int -dissect_lte_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 2U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_PollRetransmit_vals[] = { - { 0, "ms5" }, - { 1, "ms10" }, - { 2, "ms15" }, - { 3, "ms20" }, - { 4, "ms25" }, - { 5, "ms30" }, - { 6, "ms35" }, - { 7, "ms40" }, - { 8, "ms45" }, - { 9, "ms50" }, - { 10, "ms55" }, - { 11, "ms60" }, - { 12, "ms65" }, - { 13, "ms70" }, - { 14, "ms75" }, - { 15, "ms80" }, - { 16, "ms85" }, - { 17, "ms90" }, - { 18, "ms95" }, - { 19, "ms100" }, - { 20, "ms105" }, - { 21, "ms110" }, - { 22, "ms115" }, - { 23, "ms120" }, - { 24, "ms125" }, - { 25, "ms130" }, - { 26, "ms135" }, - { 27, "ms140" }, - { 28, "ms145" }, - { 29, "ms150" }, - { 30, "ms155" }, - { 31, "ms160" }, - { 32, "ms165" }, - { 33, "ms170" }, - { 34, "ms175" }, - { 35, "ms180" }, - { 36, "ms185" }, - { 37, "ms190" }, - { 38, "ms195" }, - { 39, "ms200" }, - { 40, "ms205" }, - { 41, "ms210" }, - { 42, "ms215" }, - { 43, "ms220" }, - { 44, "ms225" }, - { 45, "ms230" }, - { 46, "ms235" }, - { 47, "ms240" }, - { 48, "ms245" }, - { 49, "ms250" }, - { 50, "ms300" }, - { 51, "ms350" }, - { 52, "ms400" }, - { 53, "ms450" }, - { 54, "ms500" }, - { 55, "spare9" }, - { 56, "spare8" }, - { 57, "spare7" }, - { 58, "spare6" }, - { 59, "spare5" }, - { 60, "spare4" }, - { 61, "spare3" }, - { 62, "spare2" }, - { 63, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_PollRetransmit_vals); - - -static int -dissect_lte_rrc_T_PollRetransmit(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, - 64, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_PollPDU_vals[] = { - { 0, "p4" }, - { 1, "p8" }, - { 2, "p16" }, - { 3, "p32" }, - { 4, "p64" }, - { 5, "p128" }, - { 6, "p256" }, - { 7, "pInfinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_PollPDU(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_PollByte_vals[] = { - { 0, "kB25" }, - { 1, "kB50" }, - { 2, "kB75" }, - { 3, "kB100" }, - { 4, "kB125" }, - { 5, "kB250" }, - { 6, "kB375" }, - { 7, "kB500" }, - { 8, "kB750" }, - { 9, "kB1000" }, - { 10, "kB1250" }, - { 11, "kB1500" }, - { 12, "kB2000" }, - { 13, "kB3000" }, - { 14, "kBinfinity" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_PollByte(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_maxRetxThreshold_vals[] = { - { 0, "t1" }, - { 1, "t2" }, - { 2, "t3" }, - { 3, "t4" }, - { 4, "t6" }, - { 5, "t8" }, - { 6, "t16" }, - { 7, "t32" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_maxRetxThreshold(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t UL_AM_RLC_sequence[] = { - { &hf_lte_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_PollRetransmit }, - { &hf_lte_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PollPDU }, - { &hf_lte_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PollByte }, - { &hf_lte_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_maxRetxThreshold }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UL_AM_RLC, UL_AM_RLC_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_Reordering_vals[] = { - { 0, "ms0" }, - { 1, "ms5" }, - { 2, "ms10" }, - { 3, "ms15" }, - { 4, "ms20" }, - { 5, "ms25" }, - { 6, "ms30" }, - { 7, "ms35" }, - { 8, "ms40" }, - { 9, "ms45" }, - { 10, "ms50" }, - { 11, "ms55" }, - { 12, "ms60" }, - { 13, "ms65" }, - { 14, "ms70" }, - { 15, "ms75" }, - { 16, "ms80" }, - { 17, "ms85" }, - { 18, "ms90" }, - { 19, "ms95" }, - { 20, "ms100" }, - { 21, "ms110" }, - { 22, "ms120" }, - { 23, "ms130" }, - { 24, "ms140" }, - { 25, "ms150" }, - { 26, "ms160" }, - { 27, "ms170" }, - { 28, "ms180" }, - { 29, "ms190" }, - { 30, "ms200" }, - { 31, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_Reordering_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_Reordering_vals); - - -static int -dissect_lte_rrc_T_Reordering(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, - 32, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_StatusProhibit_vals[] = { - { 0, "ms0" }, - { 1, "ms5" }, - { 2, "ms10" }, - { 3, "ms15" }, - { 4, "ms20" }, - { 5, "ms25" }, - { 6, "ms30" }, - { 7, "ms35" }, - { 8, "ms40" }, - { 9, "ms45" }, - { 10, "ms50" }, - { 11, "ms55" }, - { 12, "ms60" }, - { 13, "ms65" }, - { 14, "ms70" }, - { 15, "ms75" }, - { 16, "ms80" }, - { 17, "ms85" }, - { 18, "ms90" }, - { 19, "ms95" }, - { 20, "ms100" }, - { 21, "ms105" }, - { 22, "ms110" }, - { 23, "ms115" }, - { 24, "ms120" }, - { 25, "ms125" }, - { 26, "ms130" }, - { 27, "ms135" }, - { 28, "ms140" }, - { 29, "ms145" }, - { 30, "ms150" }, - { 31, "ms155" }, - { 32, "ms160" }, - { 33, "ms165" }, - { 34, "ms170" }, - { 35, "ms175" }, - { 36, "ms180" }, - { 37, "ms185" }, - { 38, "ms190" }, - { 39, "ms195" }, - { 40, "ms200" }, - { 41, "ms205" }, - { 42, "ms210" }, - { 43, "ms215" }, - { 44, "ms220" }, - { 45, "ms225" }, - { 46, "ms230" }, - { 47, "ms235" }, - { 48, "ms240" }, - { 49, "ms245" }, - { 50, "ms250" }, - { 51, "ms300" }, - { 52, "ms350" }, - { 53, "ms400" }, - { 54, "ms450" }, - { 55, "ms500" }, - { 56, "spare8" }, - { 57, "spare7" }, - { 58, "spare6" }, - { 59, "spare5" }, - { 60, "spare4" }, - { 61, "spare3" }, - { 62, "spare2" }, - { 63, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_StatusProhibit_vals); - - -static int -dissect_lte_rrc_T_StatusProhibit(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, - 64, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t DL_AM_RLC_sequence[] = { - { &hf_lte_rrc_t_Reordering, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reordering }, - { &hf_lte_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_StatusProhibit }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DL_AM_RLC, DL_AM_RLC_sequence); - - return offset; -} - - -static const per_sequence_t T_am_sequence[] = { - { &hf_lte_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_AM_RLC }, - { &hf_lte_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_AM_RLC }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_am, T_am_sequence); - - return offset; -} - - -static const value_string lte_rrc_SN_FieldLength_vals[] = { - { 0, "size5" }, - { 1, "size10" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_SN_FieldLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, &value, FALSE, 0, NULL); - - if (mapping != NULL) { - mapping->um_sn_length = (value==0) ? 5 : 10; - mapping->um_sn_length_present = TRUE; - } - - - return offset; -} - - -static const per_sequence_t UL_UM_RLC_sequence[] = { - { &hf_lte_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SN_FieldLength }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UL_UM_RLC, UL_UM_RLC_sequence); - - return offset; -} - - -static const per_sequence_t DL_UM_RLC_sequence[] = { - { &hf_lte_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SN_FieldLength }, - { &hf_lte_rrc_t_Reordering, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reordering }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DL_UM_RLC, DL_UM_RLC_sequence); - - return offset; -} - - -static const per_sequence_t T_um_Bi_Directional_sequence[] = { - { &hf_lte_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_UM_RLC }, - { &hf_lte_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_UM_RLC }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence); - - return offset; -} - - -static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = { - { &hf_lte_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_UM_RLC }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence); - - return offset; -} - - -static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = { - { &hf_lte_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DL_UM_RLC }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence); - - return offset; -} - - -static const value_string lte_rrc_RLC_Config_vals[] = { - { 0, "am" }, - { 1, "um-Bi-Directional" }, - { 2, "um-Uni-Directional-UL" }, - { 3, "um-Uni-Directional-DL" }, - { 0, NULL } -}; - -static const per_choice_t RLC_Config_choice[] = { - { 0, &hf_lte_rrc_am , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_am }, - { 1, &hf_lte_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Bi_Directional }, - { 2, &hf_lte_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Uni_Directional_UL }, - { 3, &hf_lte_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_um_Uni_Directional_DL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RLC_Config, RLC_Config_choice, - &value); - - if (mapping != NULL) { - mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; - mapping->rlcMode_present = TRUE; - - if (mapping->rlcMode == RLC_AM_MODE) { - mapping->pdcp_sn_size = 12; - mapping->pdcp_sn_size_present = TRUE; - } - } - - - return offset; -} - - -static const value_string lte_rrc_T_rlc_Config_vals[] = { - { 0, "explicitValue" }, - { 1, "defaultValue" }, - { 0, NULL } -}; - -static const per_choice_t T_rlc_Config_choice[] = { - { 0, &hf_lte_rrc_explicitValue_04, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RLC_Config }, - { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_rlc_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_rlc_Config, T_rlc_Config_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_priority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 16U, &value, FALSE); - - if (mapping != NULL) { - mapping->ul_priority = value; - mapping->ul_priority_present = TRUE; - } - - - return offset; -} - - -static const value_string lte_rrc_T_prioritisedBitRate_vals[] = { - { 0, "kBps0" }, - { 1, "kBps8" }, - { 2, "kBps16" }, - { 3, "kBps32" }, - { 4, "kBps64" }, - { 5, "kBps128" }, - { 6, "kBps256" }, - { 7, "infinity" }, - { 8, "kBps512-v1020" }, - { 9, "kBps1024-v1020" }, - { 10, "kBps2048-v1020" }, - { 11, "spare5" }, - { 12, "spare4" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_prioritisedBitRate(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_bucketSizeDuration_vals[] = { - { 0, "ms50" }, - { 1, "ms100" }, - { 2, "ms150" }, - { 3, "ms300" }, - { 4, "ms500" }, - { 5, "ms1000" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_bucketSizeDuration(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_ul_SpecificParameters_sequence[] = { - { &hf_lte_rrc_priority , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_priority }, - { &hf_lte_rrc_prioritisedBitRate, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_prioritisedBitRate }, - { &hf_lte_rrc_bucketSizeDuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_bucketSizeDuration }, - { &hf_lte_rrc_logicalChannelGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_logicalChannelSR_Mask_r9_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_logicalChannelSR_Mask_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t LogicalChannelConfig_eag_1_sequence[] = { - { &hf_lte_rrc_logicalChannelSR_Mask_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelSR_Mask_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_LogicalChannelConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogicalChannelConfig_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t LogicalChannelConfig_eag_2_sequence[] = { - { &hf_lte_rrc_logicalChannelSR_Prohibit_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_LogicalChannelConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, LogicalChannelConfig_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t LogicalChannelConfig_sequence[] = { - { &hf_lte_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_SpecificParameters }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_LogicalChannelConfig_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_LogicalChannelConfig_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_logicalChannelConfig_vals[] = { - { 0, "explicitValue" }, - { 1, "defaultValue" }, - { 0, NULL } -}; - -static const per_choice_t T_logicalChannelConfig_choice[] = { - { 0, &hf_lte_rrc_explicitValue_05, ASN1_NO_EXTENSIONS , dissect_lte_rrc_LogicalChannelConfig }, - { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_logicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_logicalChannelConfig, T_logicalChannelConfig_choice, - NULL); - - return offset; -} - - -static const per_sequence_t SRB_ToAddMod_sequence[] = { - { &hf_lte_rrc_srb_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_2 }, - { &hf_lte_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_Config }, - { &hf_lte_rrc_logicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelConfig }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t SRB_ToAddModList_sequence_of[1] = { - { &hf_lte_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRB_ToAddMod }, -}; - -static int -dissect_lte_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of, - 1, 2, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 32U, &value, FALSE); - - if (mapping != NULL) { - mapping->drbid = (guint8)value; - } - - - return offset; -} - - -static const value_string lte_rrc_T_discardTimer_vals[] = { - { 0, "ms50" }, - { 1, "ms100" }, - { 2, "ms150" }, - { 3, "ms300" }, - { 4, "ms500" }, - { 5, "ms750" }, - { 6, "ms1500" }, - { 7, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_discardTimer(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_rlc_AM_sequence[] = { - { &hf_lte_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_rlc_AM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_rlc_AM, T_rlc_AM_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_pdcp_SN_Size_vals[] = { - { 0, "len7bits" }, - { 1, "len12bits" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pdcp_SN_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, &value, FALSE, 0, NULL); - - if (mapping != NULL) { - mapping->pdcp_sn_size = (value==0) ? 7 : 12; - mapping->pdcp_sn_size_present = TRUE; - } - - - return offset; -} - - -static const per_sequence_t T_rlc_UM_sequence[] = { - { &hf_lte_rrc_pdcp_SN_Size, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pdcp_SN_Size }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_rlc_UM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_rlc_UM, T_rlc_UM_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 16383U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_profiles_sequence[] = { - { &hf_lte_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_profiles, T_profiles_sequence); - - return offset; -} - - -static const per_sequence_t T_rohc_sequence[] = { - { &hf_lte_rrc_maxCID , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_16383 }, - { &hf_lte_rrc_profiles , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_profiles }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_rohc, T_rohc_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_headerCompression_vals[] = { - { 0, "notUsed" }, - { 1, "rohc" }, - { 0, NULL } -}; - -static const per_choice_t T_headerCompression_choice[] = { - { 0, &hf_lte_rrc_notUsed , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_rohc , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_rohc }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_headerCompression, T_headerCompression_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_rn_IntegrityProtection_r10_vals[] = { - { 0, "enabled" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_rn_IntegrityProtection_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PDCP_Config_eag_1_sequence[] = { - { &hf_lte_rrc_rn_IntegrityProtection_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rn_IntegrityProtection_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_pdcp_SN_Size_v1130_vals[] = { - { 0, "len15bits" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pdcp_SN_Size_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - if (mapping != NULL) { - mapping->pdcp_sn_size = 15; - mapping->pdcp_sn_size_present = TRUE; - } - - - return offset; -} - - -static const per_sequence_t PDCP_Config_eag_2_sequence[] = { - { &hf_lte_rrc_pdcp_SN_Size_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pdcp_SN_Size_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDCP_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_2_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ul_DataPath_r12_vals[] = { - { 0, "mcg" }, - { 1, "scg" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_ul_DataPath_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_t_Reordering_r12_vals[] = { - { 0, "ms0" }, - { 1, "ms20" }, - { 2, "ms40" }, - { 3, "ms60" }, - { 4, "ms80" }, - { 5, "ms100" }, - { 6, "ms120" }, - { 7, "ms140" }, - { 8, "ms160" }, - { 9, "ms180" }, - { 10, "ms200" }, - { 11, "ms220" }, - { 12, "ms240" }, - { 13, "ms260" }, - { 14, "ms280" }, - { 15, "ms300" }, - { 16, "ms500" }, - { 17, "ms750" }, - { 18, "spare14" }, - { 19, "spare13" }, - { 20, "spare12" }, - { 21, "spare11" }, - { 22, "spare10" }, - { 23, "spare9" }, - { 24, "spare8" }, - { 25, "spare7" }, - { 26, "spare6" }, - { 27, "spare5" }, - { 28, "spare4" }, - { 29, "spare3" }, - { 30, "spare2" }, - { 31, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_t_Reordering_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_t_Reordering_r12_vals); - - -static int -dissect_lte_rrc_T_t_Reordering_r12(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, - 32, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PDCP_Config_eag_3_sequence[] = { - { &hf_lte_rrc_ul_DataPath_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_DataPath_r12 }, - { &hf_lte_rrc_t_Reordering_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_t_Reordering_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDCP_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t PDCP_Config_sequence[] = { - { &hf_lte_rrc_discardTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_discardTimer }, - { &hf_lte_rrc_rlc_AM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_AM }, - { &hf_lte_rrc_rlc_UM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_rlc_UM }, - { &hf_lte_rrc_headerCompression, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_headerCompression }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDCP_Config_eag_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PDCP_Config, PDCP_Config_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_logicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 3U, 10U, &value, FALSE); - - if (mapping != NULL) { - mapping->lcid = (guint8)value; - mapping->lcid_present = TRUE; - } - - - return offset; -} - - -static const value_string lte_rrc_T_drb_TypeChange_r12_vals[] = { - { 0, "toMCG" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_drb_TypeChange_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_ul_extended_RLC_LI_Field_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - gboolean ext_li_field; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &ext_li_field); - - if (mapping != NULL) { - mapping->rlc_ul_ext_li_field = ext_li_field; - } - - - return offset; -} - - - -static int -dissect_lte_rrc_T_dl_extended_RLC_LI_Field_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - gboolean ext_li_field; - drb_mapping_t *mapping = private_data_get_drb_mapping(actx); - offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &ext_li_field); - - if (mapping != NULL) { - mapping->rlc_dl_ext_li_field = ext_li_field; - } - - - return offset; -} - - -static const per_sequence_t RLC_Config_v12xy_sequence[] = { - { &hf_lte_rrc_ul_extended_RLC_LI_Field_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ul_extended_RLC_LI_Field_r12 }, - { &hf_lte_rrc_dl_extended_RLC_LI_Field_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_extended_RLC_LI_Field_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RLC_Config_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RLC_Config_v12xy, RLC_Config_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t DRB_ToAddMod_eag_1_sequence[] = { - { &hf_lte_rrc_drb_TypeChange_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_TypeChange_r12 }, - { &hf_lte_rrc_rlc_Config_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config_v12xy }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DRB_ToAddMod_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, DRB_ToAddMod_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t DRB_ToAddMod_sequence[] = { - { &hf_lte_rrc_eps_BearerIdentity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_drb_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, - { &hf_lte_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDCP_Config }, - { &hf_lte_rrc_rlc_Config_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config }, - { &hf_lte_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelIdentity }, - { &hf_lte_rrc_logicalChannelConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_LogicalChannelConfig }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddMod_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - struct mac_lte_info *p_mac_lte_info; - struct rlc_lte_info *p_rlc_lte_info; - /* Get the struct and clear it out */ - drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx); - memset(drb_mapping, 0, sizeof(*drb_mapping)); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence); - - /* Need UE identifier */ - p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); - if (p_mac_lte_info) { - drb_mapping->ueid = p_mac_lte_info->ueid; - /* Tell MAC about this mapping */ - set_mac_lte_channel_mapping(drb_mapping); - } - - /* Also tell RLC how many PDCP sequence number bits and wether it should use extended LI */ - p_rlc_lte_info = (rlc_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rlc_lte, 0); - if (p_rlc_lte_info) { - if (drb_mapping->pdcp_sn_size_present) { - set_rlc_lte_drb_pdcp_seqnum_length(actx->pinfo, - p_rlc_lte_info->ueid, - drb_mapping->drbid, - drb_mapping->pdcp_sn_size); - } - if (drb_mapping->rlcMode_present) { - set_rlc_lte_drb_li_field(actx->pinfo, - p_rlc_lte_info->ueid, - drb_mapping->drbid, - drb_mapping->rlc_ul_ext_li_field, - drb_mapping->rlc_dl_ext_li_field); - } - } - - /* Clear out the struct again */ - memset(&drb_mapping, 0, sizeof(drb_mapping)); - - - - return offset; -} - - -static const per_sequence_t DRB_ToAddModList_sequence_of[1] = { - { &hf_lte_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddMod }, -}; - -static int -dissect_lte_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of, - 1, maxDRB, FALSE); - - return offset; -} - - -static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = { - { &hf_lte_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, -}; - -static int -dissect_lte_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of, - 1, maxDRB, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_maxHARQ_Tx_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n3" }, - { 3, "n4" }, - { 4, "n5" }, - { 5, "n6" }, - { 6, "n7" }, - { 7, "n8" }, - { 8, "n10" }, - { 9, "n12" }, - { 10, "n16" }, - { 11, "n20" }, - { 12, "n24" }, - { 13, "n28" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_maxHARQ_Tx(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_periodicBSR_Timer_vals[] = { - { 0, "sf5" }, - { 1, "sf10" }, - { 2, "sf16" }, - { 3, "sf20" }, - { 4, "sf32" }, - { 5, "sf40" }, - { 6, "sf64" }, - { 7, "sf80" }, - { 8, "sf128" }, - { 9, "sf160" }, - { 10, "sf320" }, - { 11, "sf640" }, - { 12, "sf1280" }, - { 13, "sf2560" }, - { 14, "infinity" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_periodicBSR_Timer(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_retxBSR_Timer_vals[] = { - { 0, "sf320" }, - { 1, "sf640" }, - { 2, "sf1280" }, - { 3, "sf2560" }, - { 4, "sf5120" }, - { 5, "sf10240" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_retxBSR_Timer(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_ul_SCH_Config_sequence[] = { - { &hf_lte_rrc_maxHARQ_Tx , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_maxHARQ_Tx }, - { &hf_lte_rrc_periodicBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_periodicBSR_Timer }, - { &hf_lte_rrc_retxBSR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_retxBSR_Timer }, - { &hf_lte_rrc_ttiBundling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ul_SCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ul_SCH_Config, T_ul_SCH_Config_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - mac_lte_info* p_mac_lte_info; - offset = dissect_per_null(tvb, offset, actx, tree, hf_index); - - /* Look for UE identifier */ - p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); - if (p_mac_lte_info != NULL) { - /* If found, tell MAC to release DRX config */ - set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo); - } - - - return offset; -} - - -static const value_string lte_rrc_T_onDurationTimer_vals[] = { - { 0, "psf1" }, - { 1, "psf2" }, - { 2, "psf3" }, - { 3, "psf4" }, - { 4, "psf5" }, - { 5, "psf6" }, - { 6, "psf8" }, - { 7, "psf10" }, - { 8, "psf20" }, - { 9, "psf30" }, - { 10, "psf40" }, - { 11, "psf50" }, - { 12, "psf60" }, - { 13, "psf80" }, - { 14, "psf100" }, - { 15, "psf200" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 16, &value, FALSE, 0, NULL); - - /* Set 'configured' state so that config can be examine once complete! */ - config->configured = TRUE; - config->onDurationTimer = drx_lookup_onDurationTimer(value); - - - return offset; -} - - -static const value_string lte_rrc_T_drx_InactivityTimer_vals[] = { - { 0, "psf1" }, - { 1, "psf2" }, - { 2, "psf3" }, - { 3, "psf4" }, - { 4, "psf5" }, - { 5, "psf6" }, - { 6, "psf8" }, - { 7, "psf10" }, - { 8, "psf20" }, - { 9, "psf30" }, - { 10, "psf40" }, - { 11, "psf50" }, - { 12, "psf60" }, - { 13, "psf80" }, - { 14, "psf100" }, - { 15, "psf200" }, - { 16, "psf300" }, - { 17, "psf500" }, - { 18, "psf750" }, - { 19, "psf1280" }, - { 20, "psf1920" }, - { 21, "psf2560" }, - { 22, "psf0-v1020" }, - { 23, "spare9" }, - { 24, "spare8" }, - { 25, "spare7" }, - { 26, "spare6" }, - { 27, "spare5" }, - { 28, "spare4" }, - { 29, "spare3" }, - { 30, "spare2" }, - { 31, "spare1" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_drx_InactivityTimer_vals); - - -static int -dissect_lte_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 32, &value, FALSE, 0, NULL); - - config->inactivityTimer = drx_lookup_inactivityTimer(value); - - - return offset; -} - - -static const value_string lte_rrc_T_drx_RetransmissionTimer_vals[] = { - { 0, "psf1" }, - { 1, "psf2" }, - { 2, "psf4" }, - { 3, "psf6" }, - { 4, "psf8" }, - { 5, "psf16" }, - { 6, "psf24" }, - { 7, "psf33" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_drx_RetransmissionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, &value, FALSE, 0, NULL); - - config->retransmissionTimer = drx_lookup_retransmissionTimer(value); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 9U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 19U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 31U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 39U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 63U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 79U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 127U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf160(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 159U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 319U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 511U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf640(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 639U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1023U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf1280(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1279U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2047U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf2560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 2559U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - -static const value_string lte_rrc_T_longDRX_CycleStartOffset_vals[] = { - { 0, "sf10" }, - { 1, "sf20" }, - { 2, "sf32" }, - { 3, "sf40" }, - { 4, "sf64" }, - { 5, "sf80" }, - { 6, "sf128" }, - { 7, "sf160" }, - { 8, "sf256" }, - { 9, "sf320" }, - { 10, "sf512" }, - { 11, "sf640" }, - { 12, "sf1024" }, - { 13, "sf1280" }, - { 14, "sf2048" }, - { 15, "sf2560" }, - { 0, NULL } -}; - -static const per_choice_t T_longDRX_CycleStartOffset_choice[] = { - { 0, &hf_lte_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf10 }, - { 1, &hf_lte_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf20 }, - { 2, &hf_lte_rrc_sf32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf32 }, - { 3, &hf_lte_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf40 }, - { 4, &hf_lte_rrc_sf64 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf64 }, - { 5, &hf_lte_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf80 }, - { 6, &hf_lte_rrc_sf128 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf128 }, - { 7, &hf_lte_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf160 }, - { 8, &hf_lte_rrc_sf256 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf256 }, - { 9, &hf_lte_rrc_sf320 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf320 }, - { 10, &hf_lte_rrc_sf512 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf512 }, - { 11, &hf_lte_rrc_sf640 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf640 }, - { 12, &hf_lte_rrc_sf1024 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf1024 }, - { 13, &hf_lte_rrc_sf1280 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf1280 }, - { 14, &hf_lte_rrc_sf2048 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf2048 }, - { 15, &hf_lte_rrc_sf2560 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf2560 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_longDRX_CycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_longDRX_CycleStartOffset, T_longDRX_CycleStartOffset_choice, - &value); - - config->longCycle = drx_lookup_longCycle(value); - - - return offset; -} - - -static const value_string lte_rrc_T_shortDRX_Cycle_vals[] = { - { 0, "sf2" }, - { 1, "sf5" }, - { 2, "sf8" }, - { 3, "sf10" }, - { 4, "sf16" }, - { 5, "sf20" }, - { 6, "sf32" }, - { 7, "sf40" }, - { 8, "sf64" }, - { 9, "sf80" }, - { 10, "sf128" }, - { 11, "sf160" }, - { 12, "sf256" }, - { 13, "sf320" }, - { 14, "sf512" }, - { 15, "sf640" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 16, &value, FALSE, 0, NULL); - - config->shortCycleConfigured = TRUE; - config->shortCycle = drx_lookup_shortCycle(value); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_drxShortCycleTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 timer; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 16U, &timer, FALSE); - - config->shortCycleTimer = timer; - - - proto_item_append_text(actx->created_item, " shortDRX-Cycle%s", plurality(timer, "", "s")); - - return offset; -} - - -static const per_sequence_t T_shortDRX_sequence[] = { - { &hf_lte_rrc_shortDRX_Cycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_shortDRX_Cycle }, - { &hf_lte_rrc_drxShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drxShortCycleTimer }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_shortDRX, T_shortDRX_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_26_sequence[] = { - { &hf_lte_rrc_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_onDurationTimer }, - { &hf_lte_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drx_InactivityTimer }, - { &hf_lte_rrc_drx_RetransmissionTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_drx_RetransmissionTimer }, - { &hf_lte_rrc_longDRX_CycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_longDRX_CycleStartOffset }, - { &hf_lte_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_shortDRX }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_26, T_setup_26_sequence); - - return offset; -} - - -static const value_string lte_rrc_DRX_Config_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t DRX_Config_choice[] = { - { 0, &hf_lte_rrc_release_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_release }, - { 1, &hf_lte_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_26 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRX_Config, DRX_Config_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_periodicPHR_Timer_vals[] = { - { 0, "sf10" }, - { 1, "sf20" }, - { 2, "sf50" }, - { 3, "sf100" }, - { 4, "sf200" }, - { 5, "sf500" }, - { 6, "sf1000" }, - { 7, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_periodicPHR_Timer(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_prohibitPHR_Timer_vals[] = { - { 0, "sf0" }, - { 1, "sf10" }, - { 2, "sf20" }, - { 3, "sf50" }, - { 4, "sf100" }, - { 5, "sf200" }, - { 6, "sf500" }, - { 7, "sf1000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_prohibitPHR_Timer(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_dl_PathlossChange_vals[] = { - { 0, "dB1" }, - { 1, "dB3" }, - { 2, "dB6" }, - { 3, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_dl_PathlossChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_23_sequence[] = { - { &hf_lte_rrc_periodicPHR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicPHR_Timer }, - { &hf_lte_rrc_prohibitPHR_Timer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_prohibitPHR_Timer }, - { &hf_lte_rrc_dl_PathlossChange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_PathlossChange }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_23, T_setup_23_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_phr_Config_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_phr_Config_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_23 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_phr_Config, T_phr_Config_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_sr_ProhibitTimer_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 timer; - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 7U, &timer, FALSE); - - - - proto_item_append_text(actx->created_item, " SR period%s", (timer > 1) ? "s" : ""); - - return offset; -} - - -static const per_sequence_t MAC_MainConfig_eag_1_sequence[] = { - { &hf_lte_rrc_sr_ProhibitTimer_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sr_ProhibitTimer_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_sCellDeactivationTimer_r10_vals[] = { - { 0, "rf2" }, - { 1, "rf4" }, - { 2, "rf8" }, - { 3, "rf16" }, - { 4, "rf32" }, - { 5, "rf64" }, - { 6, "rf128" }, - { 7, "spare" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_sCellDeactivationTimer_r10(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_extendedBSR_Sizes_r10_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_extendedBSR_Sizes_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - mac_lte_info* p_mac_lte_info; - - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - /* Look for UE identifier */ - p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); - if (p_mac_lte_info != NULL) { - /* Tell MAC to use extended BSR sizes configuration */ - set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, TRUE, actx->pinfo); - } - - - return offset; -} - - -static const value_string lte_rrc_T_extendedPHR_r10_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_extendedPHR_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_mac_MainConfig_v1020_sequence[] = { - { &hf_lte_rrc_sCellDeactivationTimer_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sCellDeactivationTimer_r10 }, - { &hf_lte_rrc_extendedBSR_Sizes_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedBSR_Sizes_r10 }, - { &hf_lte_rrc_extendedPHR_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedPHR_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_mac_MainConfig_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_mac_MainConfig_v1020, T_mac_MainConfig_v1020_sequence); - - return offset; -} - - -static const per_sequence_t MAC_MainConfig_eag_2_sequence[] = { - { &hf_lte_rrc_mac_MainConfig_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mac_MainConfig_v1020 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_2_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_STAG_Id_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxSTAG_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t STAG_ToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_STAG_ToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_Id_r11 }, -}; - -static int -dissect_lte_rrc_STAG_ToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_STAG_ToReleaseList_r11, STAG_ToReleaseList_r11_sequence_of, - 1, maxSTAG_r11, FALSE); - - return offset; -} - - -static const per_sequence_t STAG_ToAddMod_r11_sequence[] = { - { &hf_lte_rrc_stag_Id_r11 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_Id_r11 }, - { &hf_lte_rrc_timeAlignmentTimerSTAG_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeAlignmentTimer }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_STAG_ToAddMod_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_STAG_ToAddMod_r11, STAG_ToAddMod_r11_sequence); - - return offset; -} - - -static const per_sequence_t STAG_ToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_STAG_ToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_STAG_ToAddMod_r11 }, -}; - -static int -dissect_lte_rrc_STAG_ToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_STAG_ToAddModList_r11, STAG_ToAddModList_r11_sequence_of, - 1, maxSTAG_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_drx_RetransmissionTimer_v1130_vals[] = { - { 0, "psf0-v1130" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_drx_RetransmissionTimer_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, &value, FALSE, 0, NULL); - - config->retransmissionTimer = 0; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf60_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 59U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - - -static int -dissect_lte_rrc_T_sf70_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 69U, &value, FALSE); - - config->cycleOffset = value; - - - return offset; -} - - -static const value_string lte_rrc_T_longDRX_CycleStartOffset_v1130_vals[] = { - { 0, "sf60-v1130" }, - { 1, "sf70-v1130" }, - { 0, NULL } -}; - -static const per_choice_t T_longDRX_CycleStartOffset_v1130_choice[] = { - { 0, &hf_lte_rrc_sf60_v1130 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf60_v1130 }, - { 1, &hf_lte_rrc_sf70_v1130 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_sf70_v1130 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_longDRX_CycleStartOffset_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_longDRX_CycleStartOffset_v1130, T_longDRX_CycleStartOffset_v1130_choice, - &value); - - config->longCycle = drx_lookup_longCycle_v1130(value); - - - return offset; -} - - -static const value_string lte_rrc_T_shortDRX_Cycle_v1130_vals[] = { - { 0, "sf4-v1130" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_shortDRX_Cycle_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - drx_config_t* config = private_data_get_drx_config(actx); - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, &value, FALSE, 0, NULL); - - /* Presumably config->shortCycleConfigured will be set... */ - config->shortCycle = 4; - - - return offset; -} - - -static const per_sequence_t DRX_Config_v1130_sequence[] = { - { &hf_lte_rrc_drx_RetransmissionTimer_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drx_RetransmissionTimer_v1130 }, - { &hf_lte_rrc_longDRX_CycleStartOffset_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_longDRX_CycleStartOffset_v1130 }, - { &hf_lte_rrc_shortDRX_Cycle_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_shortDRX_Cycle_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DRX_Config_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRX_Config_v1130, DRX_Config_v1130_sequence); - - return offset; -} - - -static const per_sequence_t MAC_MainConfig_eag_3_sequence[] = { - { &hf_lte_rrc_stag_ToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_STAG_ToReleaseList_r11 }, - { &hf_lte_rrc_stag_ToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_STAG_ToAddModList_r11 }, - { &hf_lte_rrc_drx_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DRX_Config_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_3_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_phr_ModeOtherCG_r12_vals[] = { - { 0, "real" }, - { 1, "virtual" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_phr_ModeOtherCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_24_sequence[] = { - { &hf_lte_rrc_phr_ModeOtherCG_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_phr_ModeOtherCG_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_24, T_setup_24_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_dualConnectivityPHR_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_dualConnectivityPHR_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_24 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_dualConnectivityPHR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_dualConnectivityPHR, T_dualConnectivityPHR_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_logicalChannelSR_ProhibitTimer_r12_vals[] = { - { 0, "sf20" }, - { 1, "sf40" }, - { 2, "sf64" }, - { 3, "sf128" }, - { 4, "sf512" }, - { 5, "sf1024" }, - { 6, "sf2560" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_logicalChannelSR_ProhibitTimer_r12(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_25_sequence[] = { - { &hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_logicalChannelSR_ProhibitTimer_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_25, T_setup_25_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_logicalChannelSR_Config_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_logicalChannelSR_Config_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_25 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_logicalChannelSR_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_logicalChannelSR_Config_r12, T_logicalChannelSR_Config_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t MAC_MainConfig_eag_4_sequence[] = { - { &hf_lte_rrc_e_HARQ_Pattern_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_dualConnectivityPHR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dualConnectivityPHR }, - { &hf_lte_rrc_logicalChannelSR_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logicalChannelSR_Config_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfig_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_MainConfig_eag_4_sequence); - - return offset; -} - - -static const per_sequence_t MAC_MainConfig_sequence[] = { - { &hf_lte_rrc_ul_SCH_Config, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_SCH_Config }, - { &hf_lte_rrc_drx_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRX_Config }, - { &hf_lte_rrc_timeAlignmentTimerDedicated, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeAlignmentTimer }, - { &hf_lte_rrc_phr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_phr_Config }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_3 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MAC_MainConfig_eag_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - /* Accumulate values in drx_config while dissecting DRX config. - Do this here rather than down in DRX-Config so that we will see - fields overwritten in the R11 extension */ - drx_config_t *drx_config = private_data_get_drx_config(actx); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MAC_MainConfig, MAC_MainConfig_sequence); - - if (drx_config->configured) { - mac_lte_info* p_mac_lte_info; - - /* Verify that config is valid */ - drx_check_config_sane(drx_config, actx); - - /* Look for UE identifier */ - p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); - if (p_mac_lte_info != NULL) { - /* If found, configure MAC with DRX config */ - set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo); - } - - /* Clear out state */ - drx_config->configured = FALSE; - } - - - - return offset; -} - - -static const value_string lte_rrc_T_mac_MainConfig_vals[] = { - { 0, "explicitValue" }, - { 1, "defaultValue" }, - { 0, NULL } -}; - -static const per_choice_t T_mac_MainConfig_choice[] = { - { 0, &hf_lte_rrc_explicitValue_03, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MAC_MainConfig }, - { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_mac_MainConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_mac_MainConfig, T_mac_MainConfig_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 16, 16, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_semiPersistSchedIntervalDL_vals[] = { - { 0, "sf10" }, - { 1, "sf20" }, - { 2, "sf32" }, - { 3, "sf40" }, - { 4, "sf64" }, - { 5, "sf80" }, - { 6, "sf128" }, - { 7, "sf160" }, - { 8, "sf320" }, - { 9, "sf640" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_semiPersistSchedIntervalDL(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t N1PUCCH_AN_PersistentList_sequence_of[1] = { - { &hf_lte_rrc_N1PUCCH_AN_PersistentList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, -}; - -static int -dissect_lte_rrc_N1PUCCH_AN_PersistentList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_N1PUCCH_AN_PersistentList, N1PUCCH_AN_PersistentList_sequence_of, - 1, 4, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_46_sequence[] = { - { &hf_lte_rrc_n1PUCCH_AN_PersistentListP1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_PersistentList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_46, T_setup_46_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_twoAntennaPortActivated_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_twoAntennaPortActivated_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_46 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_twoAntennaPortActivated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_twoAntennaPortActivated_r10, T_twoAntennaPortActivated_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_eag_1_sequence[] = { - { &hf_lte_rrc_twoAntennaPortActivated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivated_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_45_sequence[] = { - { &hf_lte_rrc_semiPersistSchedIntervalDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_semiPersistSchedIntervalDL }, - { &hf_lte_rrc_numberOfConfSPS_Processes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_8 }, - { &hf_lte_rrc_n1PUCCH_AN_PersistentList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_PersistentList }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_45, T_setup_45_sequence); - - return offset; -} - - -static const value_string lte_rrc_SPS_ConfigDL_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t SPS_ConfigDL_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_47 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_45 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_SPS_ConfigDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SPS_ConfigDL, SPS_ConfigDL_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_semiPersistSchedIntervalUL_vals[] = { - { 0, "sf10" }, - { 1, "sf20" }, - { 2, "sf32" }, - { 3, "sf40" }, - { 4, "sf64" }, - { 5, "sf80" }, - { 6, "sf128" }, - { 7, "sf160" }, - { 8, "sf320" }, - { 9, "sf640" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_semiPersistSchedIntervalUL(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_implicitReleaseAfter_vals[] = { - { 0, "e2" }, - { 1, "e3" }, - { 2, "e4" }, - { 3, "e8" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_implicitReleaseAfter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_NominalPUSCH_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -126, 24U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUSCH_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const per_sequence_t T_p0_Persistent_sequence[] = { - { &hf_lte_rrc_p0_NominalPUSCH_Persistent, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_Persistent }, - { &hf_lte_rrc_p0_UE_PUSCH_Persistent, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_Persistent }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_p0_Persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_p0_Persistent, T_p0_Persistent_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_twoIntervalsConfig_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_twoIntervalsConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_NominalPUSCH_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -126, 24U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUSCH_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const per_sequence_t T_p0_PersistentSubframeSet2_r12_sequence[] = { - { &hf_lte_rrc_p0_NominalPUSCH_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_PersistentSubframeSet2_r12 }, - { &hf_lte_rrc_p0_UE_PUSCH_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_PersistentSubframeSet2_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_p0_PersistentSubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_p0_PersistentSubframeSet2_r12, T_p0_PersistentSubframeSet2_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_eag_1_01_sequence[] = { - { &hf_lte_rrc_p0_PersistentSubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_p0_PersistentSubframeSet2_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_47_sequence[] = { - { &hf_lte_rrc_semiPersistSchedIntervalUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_semiPersistSchedIntervalUL }, - { &hf_lte_rrc_implicitReleaseAfter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_implicitReleaseAfter }, - { &hf_lte_rrc_p0_Persistent, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_p0_Persistent }, - { &hf_lte_rrc_twoIntervalsConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_twoIntervalsConfig }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eag_1_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_47, T_setup_47_sequence); - - return offset; -} - - -static const value_string lte_rrc_SPS_ConfigUL_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t SPS_ConfigUL_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_47 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_SPS_ConfigUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SPS_ConfigUL, SPS_ConfigUL_choice, - NULL); - - return offset; -} - - -static const per_sequence_t SPS_Config_sequence[] = { - { &hf_lte_rrc_semiPersistSchedC_RNTI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_C_RNTI }, - { &hf_lte_rrc_sps_ConfigDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SPS_ConfigDL }, - { &hf_lte_rrc_sps_ConfigUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SPS_ConfigUL }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SPS_Config, SPS_Config_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_p_a_vals[] = { - { 0, "dB-6" }, - { 1, "dB-4dot77" }, - { 2, "dB-3" }, - { 3, "dB-1dot77" }, - { 4, "dB0" }, - { 5, "dB1" }, - { 6, "dB2" }, - { 7, "dB3" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_p_a(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PDSCH_ConfigDedicated_sequence[] = { - { &hf_lte_rrc_p_a , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_a }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDSCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PDSCH_ConfigDedicated, PDSCH_ConfigDedicated_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_repetitionFactor_vals[] = { - { 0, "n2" }, - { 1, "n4" }, - { 2, "n6" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_29_sequence[] = { - { &hf_lte_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_repetitionFactor }, - { &hf_lte_rrc_n1PUCCH_AN_Rep, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_29, T_setup_29_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ackNackRepetition_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_ackNackRepetition_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_29 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ackNackRepetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ackNackRepetition, T_ackNackRepetition_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_tdd_AckNackFeedbackMode_vals[] = { - { 0, "bundling" }, - { 1, "multiplexing" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_tdd_AckNackFeedbackMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PUCCH_ConfigDedicated_sequence[] = { - { &hf_lte_rrc_ackNackRepetition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ackNackRepetition }, - { &hf_lte_rrc_tdd_AckNackFeedbackMode, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_tdd_AckNackFeedbackMode }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUCCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUCCH_ConfigDedicated, PUCCH_ConfigDedicated_sequence); - - return offset; -} - - -static const per_sequence_t PUSCH_ConfigDedicated_sequence[] = { - { &hf_lte_rrc_betaOffset_ACK_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_RI_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_CQI_Index, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUSCH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUSCH_ConfigDedicated, PUSCH_ConfigDedicated_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const value_string lte_rrc_T_deltaMCS_Enabled_vals[] = { - { 0, "en0" }, - { 1, "en1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaMCS_Enabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const value_string lte_rrc_FilterCoefficient_vals[] = { - { 0, "fc0" }, - { 1, "fc1" }, - { 2, "fc2" }, - { 3, "fc3" }, - { 4, "fc4" }, - { 5, "fc5" }, - { 6, "fc6" }, - { 7, "fc7" }, - { 8, "fc8" }, - { 9, "fc9" }, - { 10, "fc11" }, - { 11, "fc13" }, - { 12, "fc15" }, - { 13, "fc17" }, - { 14, "fc19" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_FilterCoefficient(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, - 16, NULL, TRUE, 0, NULL); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlDedicated_sequence[] = { - { &hf_lte_rrc_p0_UE_PUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH }, - { &hf_lte_rrc_deltaMCS_Enabled, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaMCS_Enabled }, - { &hf_lte_rrc_accumulationEnabled, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_p0_UE_PUCCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUCCH }, - { &hf_lte_rrc_pSRS_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlDedicated, UplinkPowerControlDedicated_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 15U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 31U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_TPC_Index_vals[] = { - { 0, "indexOfFormat3" }, - { 1, "indexOfFormat3A" }, - { 0, NULL } -}; - -static const per_choice_t TPC_Index_choice[] = { - { 0, &hf_lte_rrc_indexOfFormat3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_15 }, - { 1, &hf_lte_rrc_indexOfFormat3A, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_31 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_TPC_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_TPC_Index, TPC_Index_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_48_sequence[] = { - { &hf_lte_rrc_tpc_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_tpc_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TPC_Index }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_48, T_setup_48_sequence); - - return offset; -} - - -static const value_string lte_rrc_TPC_PDCCH_Config_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t TPC_PDCCH_Config_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_50 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_48 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_TPC_PDCCH_Config, TPC_PDCCH_Config_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_CQI_ReportModeAperiodic_vals[] = { - { 0, "rm12" }, - { 1, "rm20" }, - { 2, "rm22" }, - { 3, "rm30" }, - { 4, "rm31" }, - { 5, "rm32-v12xx" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_CQI_ReportModeAperiodic(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, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_1185(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1185U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1023U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_subbandCQI_sequence[] = { - { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subbandCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subbandCQI, T_subbandCQI_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_vals[] = { - { 0, "widebandCQI" }, - { 1, "subbandCQI" }, - { 0, NULL } -}; - -static const per_choice_t T_cqi_FormatIndicatorPeriodic_choice[] = { - { 0, &hf_lte_rrc_widebandCQI , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_subbandCQI , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cqi_FormatIndicatorPeriodic, T_cqi_FormatIndicatorPeriodic_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_06_sequence[] = { - { &hf_lte_rrc_cqi_PUCCH_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1185 }, - { &hf_lte_rrc_cqi_pmi_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_cqi_FormatIndicatorPeriodic, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic }, - { &hf_lte_rrc_ri_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_simultaneousAckNackAndCQI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_06, T_setup_06_sequence); - - return offset; -} - - -static const value_string lte_rrc_CQI_ReportPeriodic_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t CQI_ReportPeriodic_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_06 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodic, CQI_ReportPeriodic_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfig_sequence[] = { - { &hf_lte_rrc_cqi_ReportModeAperiodic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportModeAperiodic }, - { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, - { &hf_lte_rrc_cqi_ReportPeriodic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfig, CQI_ReportConfig_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_srs_Bandwidth_vals[] = { - { 0, "bw0" }, - { 1, "bw1" }, - { 2, "bw2" }, - { 3, "bw3" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_srs_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_srs_HoppingBandwidth_vals[] = { - { 0, "hbw0" }, - { 1, "hbw1" }, - { 2, "hbw2" }, - { 3, "hbw3" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_srs_HoppingBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 23U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - actx->created_item = proto_tree_add_bits_item(tree, hf_index, tvb, offset, 1, ENC_BIG_ENDIAN); - offset++; - - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_cyclicShift_vals[] = { - { 0, "cs0" }, - { 1, "cs1" }, - { 2, "cs2" }, - { 3, "cs3" }, - { 4, "cs4" }, - { 5, "cs5" }, - { 6, "cs6" }, - { 7, "cs7" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cyclicShift(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_42_sequence[] = { - { &hf_lte_rrc_srs_Bandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_Bandwidth }, - { &hf_lte_rrc_srs_HoppingBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_HoppingBandwidth }, - { &hf_lte_rrc_freqDomainPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_23 }, - { &hf_lte_rrc_duration , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_duration }, - { &hf_lte_rrc_srs_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_transmissionComb, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1 }, - { &hf_lte_rrc_cyclicShift_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cyclicShift }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_42, T_setup_42_sequence); - - return offset; -} - - -static const value_string lte_rrc_SoundingRS_UL_ConfigDedicated_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t SoundingRS_UL_ConfigDedicated_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_42 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_SoundingRS_UL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SoundingRS_UL_ConfigDedicated, SoundingRS_UL_ConfigDedicated_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_transmissionMode_vals[] = { - { 0, "tm1" }, - { 1, "tm2" }, - { 2, "tm3" }, - { 3, "tm4" }, - { 4, "tm5" }, - { 5, "tm6" }, - { 6, "tm7" }, - { 7, "tm8-v920" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_transmissionMode(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, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 2, 2, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 4, 4, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 64, 64, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_codebookSubsetRestriction_vals[] = { - { 0, "n2TxAntenna-tm3" }, - { 1, "n4TxAntenna-tm3" }, - { 2, "n2TxAntenna-tm4" }, - { 3, "n4TxAntenna-tm4" }, - { 4, "n2TxAntenna-tm5" }, - { 5, "n4TxAntenna-tm5" }, - { 6, "n2TxAntenna-tm6" }, - { 7, "n4TxAntenna-tm6" }, - { 0, NULL } -}; - -static const per_choice_t T_codebookSubsetRestriction_choice[] = { - { 0, &hf_lte_rrc_n2TxAntenna_tm3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_2 }, - { 1, &hf_lte_rrc_n4TxAntenna_tm3, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, - { 2, &hf_lte_rrc_n2TxAntenna_tm4, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, - { 3, &hf_lte_rrc_n4TxAntenna_tm4, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_64 }, - { 4, &hf_lte_rrc_n2TxAntenna_tm5, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, - { 5, &hf_lte_rrc_n4TxAntenna_tm5, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { 6, &hf_lte_rrc_n2TxAntenna_tm6, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_4 }, - { 7, &hf_lte_rrc_n4TxAntenna_tm6, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_codebookSubsetRestriction, T_codebookSubsetRestriction_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_setup_02_vals[] = { - { 0, "closedLoop" }, - { 1, "openLoop" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_setup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_ue_TransmitAntennaSelection_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_ue_TransmitAntennaSelection_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_02 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ue_TransmitAntennaSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ue_TransmitAntennaSelection, T_ue_TransmitAntennaSelection_choice, - NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoDedicated_sequence[] = { - { &hf_lte_rrc_transmissionMode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionMode }, - { &hf_lte_rrc_codebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_codebookSubsetRestriction }, - { &hf_lte_rrc_ue_TransmitAntennaSelection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_TransmitAntennaSelection }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoDedicated, AntennaInfoDedicated_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_antennaInfo_vals[] = { - { 0, "explicitValue" }, - { 1, "defaultValue" }, - { 0, NULL } -}; - -static const per_choice_t T_antennaInfo_choice[] = { - { 0, &hf_lte_rrc_explicitValue_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_AntennaInfoDedicated }, - { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_antennaInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_antennaInfo, T_antennaInfo_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_sr_ConfigIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - guint16 periodicity, subframe_offset; - proto_item *ti; - proto_tree *subtree; - gint index_offset = offset; - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 157U, &value, FALSE); - - /* Break config index into its parts */ - sr_lookup_configindex(value, &periodicity, &subframe_offset); - /* Show parts as generated fields */ - subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex); - ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity); - PROTO_ITEM_SET_GENERATED(ti); - ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset); - PROTO_ITEM_SET_GENERATED(ti); - - - - return offset; -} - - -static const value_string lte_rrc_T_dsr_TransMax_vals[] = { - { 0, "n4" }, - { 1, "n8" }, - { 2, "n16" }, - { 3, "n32" }, - { 4, "n64" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_dsr_TransMax(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_40_sequence[] = { - { &hf_lte_rrc_sr_PUCCH_ResourceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, - { &hf_lte_rrc_sr_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sr_ConfigIndex }, - { &hf_lte_rrc_dsr_TransMax, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dsr_TransMax }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_40, T_setup_40_sequence); - - return offset; -} - - -static const value_string lte_rrc_SchedulingRequestConfig_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t SchedulingRequestConfig_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_40 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SchedulingRequestConfig, SchedulingRequestConfig_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_cqi_Mask_r9_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cqi_Mask_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_pmi_RI_Report_r9_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pmi_RI_Report_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfig_v920_sequence[] = { - { &hf_lte_rrc_cqi_Mask_r9 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cqi_Mask_r9 }, - { &hf_lte_rrc_pmi_RI_Report_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfig_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfig_v920, CQI_ReportConfig_v920_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_codebookSubsetRestriction_v920_vals[] = { - { 0, "n2TxAntenna-tm8-r9" }, - { 1, "n4TxAntenna-tm8-r9" }, - { 0, NULL } -}; - -static const per_choice_t T_codebookSubsetRestriction_v920_choice[] = { - { 0, &hf_lte_rrc_n2TxAntenna_tm8_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_6 }, - { 1, &hf_lte_rrc_n4TxAntenna_tm8_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_32 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_codebookSubsetRestriction_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_codebookSubsetRestriction_v920, T_codebookSubsetRestriction_v920_choice, - NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoDedicated_v920_sequence[] = { - { &hf_lte_rrc_codebookSubsetRestriction_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_codebookSubsetRestriction_v920 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoDedicated_v920(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoDedicated_v920, AntennaInfoDedicated_v920_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_eag_1_sequence[] = { - { &hf_lte_rrc_cqi_ReportConfig_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v920 }, - { &hf_lte_rrc_antennaInfo_v920, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v920 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_transmissionMode_r10_vals[] = { - { 0, "tm1" }, - { 1, "tm2" }, - { 2, "tm3" }, - { 3, "tm4" }, - { 4, "tm5" }, - { 5, "tm6" }, - { 6, "tm7" }, - { 7, "tm8-v920" }, - { 8, "tm9-v1020" }, - { 9, "tm10-v1130" }, - { 10, "spare6" }, - { 11, "spare5" }, - { 12, "spare4" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_transmissionMode_r10(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_setup_03_vals[] = { - { 0, "closedLoop" }, - { 1, "openLoop" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_setup_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_ue_TransmitAntennaSelection_01_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_ue_TransmitAntennaSelection_01_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_03 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ue_TransmitAntennaSelection_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ue_TransmitAntennaSelection_01, T_ue_TransmitAntennaSelection_01_choice, - NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoDedicated_r10_sequence[] = { - { &hf_lte_rrc_transmissionMode_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionMode_r10 }, - { &hf_lte_rrc_codebookSubsetRestriction_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING }, - { &hf_lte_rrc_ue_TransmitAntennaSelection_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_TransmitAntennaSelection_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoDedicated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoDedicated_r10, AntennaInfoDedicated_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_antennaInfo_r10_vals[] = { - { 0, "explicitValue-r10" }, - { 1, "defaultValue" }, - { 0, NULL } -}; - -static const per_choice_t T_antennaInfo_r10_choice[] = { - { 0, &hf_lte_rrc_explicitValue_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_AntennaInfoDedicated_r10 }, - { 1, &hf_lte_rrc_defaultValue, ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_antennaInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_antennaInfo_r10, T_antennaInfo_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_transmissionModeUL_r10_vals[] = { - { 0, "tm1" }, - { 1, "tm2" }, - { 2, "spare6" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_transmissionModeUL_r10(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_fourAntennaPortActivated_r10_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_fourAntennaPortActivated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoUL_r10_sequence[] = { - { &hf_lte_rrc_transmissionModeUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_transmissionModeUL_r10 }, - { &hf_lte_rrc_fourAntennaPortActivated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_fourAntennaPortActivated_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoUL_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoUL_r10, AntennaInfoUL_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_aperiodicCSI_Trigger_r10_sequence[] = { - { &hf_lte_rrc_trigger1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, - { &hf_lte_rrc_trigger2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_aperiodicCSI_Trigger_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_aperiodicCSI_Trigger_r10, T_aperiodicCSI_Trigger_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_10_sequence[] = { - { &hf_lte_rrc_cqi_ReportModeAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportModeAperiodic }, - { &hf_lte_rrc_aperiodicCSI_Trigger_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_aperiodicCSI_Trigger_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_10, T_setup_10_sequence); - - return offset; -} - - -static const value_string lte_rrc_CQI_ReportAperiodic_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t CQI_ReportAperiodic_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportAperiodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportAperiodic_r10, CQI_ReportAperiodic_r10_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_1184(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1184U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_csi_ReportMode_r10_vals[] = { - { 0, "submode1" }, - { 1, "submode2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_csi_ReportMode_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_widebandCQI_r10_sequence[] = { - { &hf_lte_rrc_csi_ReportMode_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ReportMode_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_widebandCQI_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_widebandCQI_r10, T_widebandCQI_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_periodicityFactor_r10_vals[] = { - { 0, "n2" }, - { 1, "n4" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_periodicityFactor_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_subbandCQI_r10_sequence[] = { - { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, - { &hf_lte_rrc_periodicityFactor_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicityFactor_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subbandCQI_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subbandCQI_r10, T_subbandCQI_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_r10_vals[] = { - { 0, "widebandCQI-r10" }, - { 1, "subbandCQI-r10" }, - { 0, NULL } -}; - -static const per_choice_t T_cqi_FormatIndicatorPeriodic_r10_choice[] = { - { 0, &hf_lte_rrc_widebandCQI_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_widebandCQI_r10 }, - { 1, &hf_lte_rrc_subbandCQI_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI_r10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10, T_cqi_FormatIndicatorPeriodic_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_cqi_Mask_r9_01_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cqi_Mask_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_08_sequence[] = { - { &hf_lte_rrc_cqi_pmi_ConfigIndex2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_ri_ConfigIndex2_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_08, T_setup_08_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_csi_ConfigIndex_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_csi_ConfigIndex_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_08 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_csi_ConfigIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_csi_ConfigIndex_r10, T_csi_ConfigIndex_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_07_sequence[] = { - { &hf_lte_rrc_cqi_PUCCH_ResourceIndex_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1184 }, - { &hf_lte_rrc_cqi_PUCCH_ResourceIndexP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1184 }, - { &hf_lte_rrc_cqi_pmi_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_cqi_FormatIndicatorPeriodic_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r10 }, - { &hf_lte_rrc_ri_ConfigIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_simultaneousAckNackAndCQI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_cqi_Mask_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cqi_Mask_r9_01 }, - { &hf_lte_rrc_csi_ConfigIndex_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ConfigIndex_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_07, T_setup_07_sequence); - - return offset; -} - - -static const value_string lte_rrc_CQI_ReportPeriodic_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t CQI_ReportPeriodic_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_07 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodic_r10, CQI_ReportPeriodic_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_pmi_RI_Report_r9_01_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pmi_RI_Report_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 40, 40, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 20, 20, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_70(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 70, 70, FALSE, NULL, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 60, 60, FALSE, NULL, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_subframePatternTDD_r10_vals[] = { - { 0, "subframeConfig1-5-r10" }, - { 1, "subframeConfig0-r10" }, - { 2, "subframeConfig6-r10" }, - { 0, NULL } -}; - -static const per_choice_t T_subframePatternTDD_r10_choice[] = { - { 0, &hf_lte_rrc_subframeConfig1_5_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_20 }, - { 1, &hf_lte_rrc_subframeConfig0_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_70 }, - { 2, &hf_lte_rrc_subframeConfig6_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_60 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subframePatternTDD_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subframePatternTDD_r10, T_subframePatternTDD_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_MeasSubframePattern_r10_vals[] = { - { 0, "subframePatternFDD-r10" }, - { 1, "subframePatternTDD-r10" }, - { 0, NULL } -}; - -static const per_choice_t MeasSubframePattern_r10_choice[] = { - { 0, &hf_lte_rrc_subframePatternFDD_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_BIT_STRING_SIZE_40 }, - { 1, &hf_lte_rrc_subframePatternTDD_r10, ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_subframePatternTDD_r10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasSubframePattern_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasSubframePattern_r10, MeasSubframePattern_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_04_sequence[] = { - { &hf_lte_rrc_csi_MeasSubframeSet1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, - { &hf_lte_rrc_csi_MeasSubframeSet2_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_04, T_setup_04_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_csi_SubframePatternConfig_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_csi_SubframePatternConfig_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_04 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_csi_SubframePatternConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_csi_SubframePatternConfig_r10, T_csi_SubframePatternConfig_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfig_r10_sequence[] = { - { &hf_lte_rrc_cqi_ReportAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodic_r10 }, - { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, - { &hf_lte_rrc_cqi_ReportPeriodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic_r10 }, - { &hf_lte_rrc_pmi_RI_Report_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r9_01 }, - { &hf_lte_rrc_csi_SubframePatternConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_SubframePatternConfig_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfig_r10, CQI_ReportConfig_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_antennaPortsCount_r10_vals[] = { - { 0, "an1" }, - { 1, "an2" }, - { 2, "an4" }, - { 3, "an8" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_antennaPortsCount_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_154(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 154U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 15U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_12_sequence[] = { - { &hf_lte_rrc_antennaPortsCount_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r10 }, - { &hf_lte_rrc_resourceConfig_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_subframeConfig_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { &hf_lte_rrc_p_C_r10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M8_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_12, T_setup_12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_csi_RS_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_csi_RS_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_12 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_csi_RS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_csi_RS_r10, T_csi_RS_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_13_sequence[] = { - { &hf_lte_rrc_zeroTxPowerResourceConfigList_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_zeroTxPowerSubframeConfig_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_13, T_setup_13_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_zeroTxPowerCSI_RS_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_zeroTxPowerCSI_RS_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_13 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_zeroTxPowerCSI_RS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_zeroTxPowerCSI_RS_r10, T_zeroTxPowerCSI_RS_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CSI_RS_Config_r10_sequence[] = { - { &hf_lte_rrc_csi_RS_r10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_RS_r10 }, - { &hf_lte_rrc_zeroTxPowerCSI_RS_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_zeroTxPowerCSI_RS_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_RS_Config_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_Config_r10, CSI_RS_Config_r10_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_549(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 549U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_n3PUCCH_AN_List_r10_sequence_of[1] = { - { &hf_lte_rrc_n3PUCCH_AN_List_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_549 }, -}; - -static int -dissect_lte_rrc_T_n3PUCCH_AN_List_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_n3PUCCH_AN_List_r10, T_n3PUCCH_AN_List_r10_sequence_of, - 1, 4, FALSE); - - return offset; -} - - -static const per_sequence_t T_n3PUCCH_AN_ListP1_r10_sequence_of[1] = { - { &hf_lte_rrc_n3PUCCH_AN_ListP1_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_549 }, -}; - -static int -dissect_lte_rrc_T_n3PUCCH_AN_ListP1_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_n3PUCCH_AN_ListP1_r10, T_n3PUCCH_AN_ListP1_r10_sequence_of, - 1, 4, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_30_sequence[] = { - { &hf_lte_rrc_n3PUCCH_AN_ListP1_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n3PUCCH_AN_ListP1_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_30, T_setup_30_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_twoAntennaPortActivatedPUCCH_Format3_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_30 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10, T_twoAntennaPortActivatedPUCCH_Format3_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_format3_r10_sequence[] = { - { &hf_lte_rrc_n3PUCCH_AN_List_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n3PUCCH_AN_List_r10 }, - { &hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format3_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_format3_r10, T_format3_r10_sequence); - - return offset; -} - - -static const per_sequence_t N1PUCCH_AN_CS_r10_sequence_of[1] = { - { &hf_lte_rrc_N1PUCCH_AN_CS_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, -}; - -static int -dissect_lte_rrc_N1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_N1PUCCH_AN_CS_r10, N1PUCCH_AN_CS_r10_sequence_of, - 1, 4, FALSE); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10_sequence_of[1] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_List_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_N1PUCCH_AN_CS_r10 }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10, SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10_sequence_of, - 1, 2, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_31_sequence[] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_List_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_31, T_setup_31_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_n1PUCCH_AN_CS_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_n1PUCCH_AN_CS_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_31 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_n1PUCCH_AN_CS_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_n1PUCCH_AN_CS_r10, T_n1PUCCH_AN_CS_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_channelSelection_r10_sequence[] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n1PUCCH_AN_CS_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_channelSelection_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_channelSelection_r10, T_channelSelection_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_pucch_Format_r10_vals[] = { - { 0, "format3-r10" }, - { 1, "channelSelection-r10" }, - { 0, NULL } -}; - -static const per_choice_t T_pucch_Format_r10_choice[] = { - { 0, &hf_lte_rrc_format3_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_format3_r10 }, - { 1, &hf_lte_rrc_channelSelection_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_channelSelection_r10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_pucch_Format_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_pucch_Format_r10, T_pucch_Format_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_simultaneousPUCCH_PUSCH_r10_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_simultaneousPUCCH_PUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - mac_lte_info* p_mac_lte_info; - - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - /* Look for UE identifier */ - p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); - if (p_mac_lte_info != NULL) { - /* Tell MAC to use simultaneous PUCCH/PUSCH configuration */ - set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, private_data_get_simult_pucch_pusch_cell_type(actx), TRUE, actx->pinfo); - } - - - return offset; -} - - -static const per_sequence_t PUCCH_ConfigDedicated_v1020_sequence[] = { - { &hf_lte_rrc_pucch_Format_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pucch_Format_r10 }, - { &hf_lte_rrc_twoAntennaPortActivatedPUCCH_Format1a1b_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format1a1b_r10 }, - { &hf_lte_rrc_simultaneousPUCCH_PUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_simultaneousPUCCH_PUSCH_r10 }, - { &hf_lte_rrc_n1PUCCH_AN_RepP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_2047 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUCCH_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUCCH_ConfigDedicated_v1020, PUCCH_ConfigDedicated_v1020_sequence); - - return offset; -} - - -static const per_sequence_t T_betaOffsetMC_r10_sequence[] = { - { &hf_lte_rrc_betaOffset_ACK_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_RI_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_CQI_Index_MC_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_betaOffsetMC_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_betaOffsetMC_r10, T_betaOffsetMC_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_groupHoppingDisabled_r10_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_groupHoppingDisabled_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_dmrs_WithOCC_Activated_r10_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PUSCH_ConfigDedicated_v1020_sequence[] = { - { &hf_lte_rrc_betaOffsetMC_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_betaOffsetMC_r10 }, - { &hf_lte_rrc_groupHoppingDisabled_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_groupHoppingDisabled_r10 }, - { &hf_lte_rrc_dmrs_WithOCC_Activated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUSCH_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUSCH_ConfigDedicated_v1020, PUSCH_ConfigDedicated_v1020_sequence); - - return offset; -} - - -static const per_sequence_t SchedulingRequestConfig_v1020_sequence[] = { - { &hf_lte_rrc_sr_PUCCH_ResourceIndexP1_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_2047 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SchedulingRequestConfig_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SchedulingRequestConfig_v1020, SchedulingRequestConfig_v1020_sequence); - - return offset; -} - - -static const value_string lte_rrc_SRS_AntennaPort_vals[] = { - { 0, "an1" }, - { 1, "an2" }, - { 2, "an4" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_SRS_AntennaPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SoundingRS_UL_ConfigDedicated_v1020_sequence[] = { - { &hf_lte_rrc_srs_AntennaPort_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_AntennaPort }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020, SoundingRS_UL_ConfigDedicated_v1020_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_srs_BandwidthAp_r10_vals[] = { - { 0, "bw0" }, - { 1, "bw1" }, - { 2, "bw2" }, - { 3, "bw3" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_srs_BandwidthAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_cyclicShiftAp_r10_vals[] = { - { 0, "cs0" }, - { 1, "cs1" }, - { 2, "cs2" }, - { 3, "cs3" }, - { 4, "cs4" }, - { 5, "cs5" }, - { 6, "cs6" }, - { 7, "cs7" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_cyclicShiftAp_r10(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SRS_ConfigAp_r10_sequence[] = { - { &hf_lte_rrc_srs_AntennaPortAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_AntennaPort }, - { &hf_lte_rrc_srs_BandwidthAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_srs_BandwidthAp_r10 }, - { &hf_lte_rrc_freqDomainPositionAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_23 }, - { &hf_lte_rrc_transmissionCombAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1 }, - { &hf_lte_rrc_cyclicShiftAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cyclicShiftAp_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SRS_ConfigAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SRS_ConfigAp_r10, SRS_ConfigAp_r10_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10_sequence_of[1] = { - { &hf_lte_rrc_srs_ConfigApDCI_Format4_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10, SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10_sequence_of, - 1, 3, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_44_sequence[] = { - { &hf_lte_rrc_srs_ConfigApDCI_Format0_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, - { &hf_lte_rrc_srs_ConfigApDCI_Format1a2b2c_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SRS_ConfigAp_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_44, T_setup_44_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_srs_ActivateAp_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_srs_ActivateAp_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_44 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_srs_ActivateAp_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_srs_ActivateAp_r10, T_srs_ActivateAp_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_43_sequence[] = { - { &hf_lte_rrc_srs_ConfigIndexAp_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_srs_ConfigApDCI_Format4_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10 }, - { &hf_lte_rrc_srs_ActivateAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_srs_ActivateAp_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_43, T_setup_43_sequence); - - return offset; -} - - -static const value_string lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t SoundingRS_UL_ConfigDedicatedAperiodic_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_45 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_43 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10, SoundingRS_UL_ConfigDedicatedAperiodic_r10_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10_vals[] = { - { 0, "dB0" }, - { 1, "dB-2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10_vals[] = { - { 0, "dB0" }, - { 1, "dB-2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10_vals[] = { - { 0, "dB0" }, - { 1, "dB-2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10_vals[] = { - { 0, "dB0" }, - { 1, "dB-2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t DeltaTxD_OffsetListPUCCH_r10_sequence[] = { - { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1_r10 }, - { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1a1b_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1a1b_r10 }, - { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format22a2b_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format22a2b_r10 }, - { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format3_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format3_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DeltaTxD_OffsetListPUCCH_r10, DeltaTxD_OffsetListPUCCH_r10_sequence); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlDedicated_v1020_sequence[] = { - { &hf_lte_rrc_deltaTxD_OffsetListPUCCH_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_r10 }, - { &hf_lte_rrc_pSRS_OffsetAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlDedicated_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlDedicated_v1020, UplinkPowerControlDedicated_v1020_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_eag_2_sequence[] = { - { &hf_lte_rrc_antennaInfo_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_antennaInfo_r10 }, - { &hf_lte_rrc_antennaInfoUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoUL_r10 }, - { &hf_lte_rrc_cif_Presence_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_cqi_ReportConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_r10 }, - { &hf_lte_rrc_csi_RS_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_r10 }, - { &hf_lte_rrc_pucch_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v1020 }, - { &hf_lte_rrc_pusch_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1020 }, - { &hf_lte_rrc_schedulingRequestConfig_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SchedulingRequestConfig_v1020 }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020 }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicatedAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10 }, - { &hf_lte_rrc_uplinkPowerControlDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1020 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_28_sequence[] = { - { &hf_lte_rrc_additionalSpectrumEmissionPCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalSpectrumEmission }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_28, T_setup_28_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_additionalSpectrumEmissionCA_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_additionalSpectrumEmissionCA_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_28 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_additionalSpectrumEmissionCA_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_additionalSpectrumEmissionCA_r10, T_additionalSpectrumEmissionCA_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_eag_3_sequence[] = { - { &hf_lte_rrc_additionalSpectrumEmissionCA_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_additionalSpectrumEmissionCA_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_3_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_RS_ConfigNZPId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_RS_NZP_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigNZPToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11, CSI_RS_ConfigNZPToReleaseList_r11_sequence_of, - 1, maxCSI_RS_NZP_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_antennaPortsCount_r11_vals[] = { - { 0, "an1" }, - { 1, "an2" }, - { 2, "an4" }, - { 3, "an8" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_antennaPortsCount_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_503(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 503U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_crs_PortsCount_r11_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_crs_PortsCount_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_16_sequence[] = { - { &hf_lte_rrc_subframeConfigList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_16, T_setup_16_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_mbsfn_SubframeConfigList_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_mbsfn_SubframeConfigList_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_16 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_mbsfn_SubframeConfigList_r11, T_mbsfn_SubframeConfigList_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_qcl_CRS_Info_r11_sequence[] = { - { &hf_lte_rrc_qcl_ScramblingIdentity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_crs_PortsCount_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r11 }, - { &hf_lte_rrc_mbsfn_SubframeConfigList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_qcl_CRS_Info_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_qcl_CRS_Info_r11, T_qcl_CRS_Info_r11_sequence); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigNZP_r11_sequence[] = { - { &hf_lte_rrc_csi_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, - { &hf_lte_rrc_antennaPortsCount_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r11 }, - { &hf_lte_rrc_resourceConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { &hf_lte_rrc_scramblingIdentity_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_qcl_CRS_Info_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_qcl_CRS_Info_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigNZP_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigNZP_r11, CSI_RS_ConfigNZP_r11_sequence); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigNZPToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZP_r11 }, -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11, CSI_RS_ConfigNZPToAddModList_r11_sequence_of, - 1, maxCSI_RS_NZP_r11, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_RS_ConfigZPId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_RS_ZP_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigZPToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11, CSI_RS_ConfigZPToReleaseList_r11_sequence_of, - 1, maxCSI_RS_ZP_r11, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigZP_r11_sequence[] = { - { &hf_lte_rrc_csi_RS_ConfigZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, - { &hf_lte_rrc_resourceConfigList_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigZP_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigZP_r11, CSI_RS_ConfigZP_r11_sequence); - - return offset; -} - - -static const per_sequence_t CSI_RS_ConfigZPToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_RS_ConfigZPToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZP_r11 }, -}; - -static int -dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_ConfigZPToAddModList_r11, CSI_RS_ConfigZPToAddModList_r11_sequence_of, - 1, maxCSI_RS_ZP_r11, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_19_sequence[] = { - { &hf_lte_rrc_subframePattern_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_19, T_setup_19_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_subframePatternConfig_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_subframePatternConfig_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_19 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subframePatternConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subframePatternConfig_r11, T_subframePatternConfig_r11_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_EPDCCH_SetConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 1U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t EPDCCH_SetConfigToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_EPDCCH_SetConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfigId_r11 }, -}; - -static int -dissect_lte_rrc_EPDCCH_SetConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EPDCCH_SetConfigToReleaseList_r11, EPDCCH_SetConfigToReleaseList_r11_sequence_of, - 1, maxEPDCCH_Set_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_transmissionType_r11_vals[] = { - { 0, "localised" }, - { 1, "distributed" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_transmissionType_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_numberPRB_Pairs_r11_vals[] = { - { 0, "n2" }, - { 1, "n4" }, - { 2, "n8" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_numberPRB_Pairs_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_BIT_STRING_SIZE_4_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 4, 38, FALSE, NULL, NULL); - - return offset; -} - - -static const per_sequence_t T_resourceBlockAssignment_r11_sequence[] = { - { &hf_lte_rrc_numberPRB_Pairs_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_numberPRB_Pairs_r11 }, - { &hf_lte_rrc_resourceBlockAssignment_r11_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_4_38 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_resourceBlockAssignment_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_resourceBlockAssignment_r11, T_resourceBlockAssignment_r11_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxRE_MapQCL_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t EPDCCH_SetConfig_r11_eag_1_sequence[] = { - { &hf_lte_rrc_csi_RS_ConfigZPId_Second_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_EPDCCH_SetConfig_r11_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EPDCCH_SetConfig_r11_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t EPDCCH_SetConfig_r11_sequence[] = { - { &hf_lte_rrc_setConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfigId_r11 }, - { &hf_lte_rrc_transmissionType_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionType_r11 }, - { &hf_lte_rrc_resourceBlockAssignment_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_resourceBlockAssignment_r11 }, - { &hf_lte_rrc_dmrs_ScramblingSequenceInt_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_pucch_ResourceStartOffset_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, - { &hf_lte_rrc_re_MappingQCL_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfig_r11_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_EPDCCH_SetConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EPDCCH_SetConfig_r11, EPDCCH_SetConfig_r11_sequence); - - return offset; -} - - -static const per_sequence_t EPDCCH_SetConfigToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_EPDCCH_SetConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_EPDCCH_SetConfig_r11 }, -}; - -static int -dissect_lte_rrc_EPDCCH_SetConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EPDCCH_SetConfigToAddModList_r11, EPDCCH_SetConfigToAddModList_r11_sequence_of, - 1, maxEPDCCH_Set_r11, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_18_sequence[] = { - { &hf_lte_rrc_subframePatternConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_subframePatternConfig_r11 }, - { &hf_lte_rrc_startSymbol_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_4 }, - { &hf_lte_rrc_setConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_SetConfigToReleaseList_r11 }, - { &hf_lte_rrc_setConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_SetConfigToAddModList_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_18, T_setup_18_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_config_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_config_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_18 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_config_r11, T_config_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t EPDCCH_Config_r11_sequence[] = { - { &hf_lte_rrc_config_r11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_config_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_EPDCCH_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EPDCCH_Config_r11, EPDCCH_Config_r11_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_17_sequence[] = { - { &hf_lte_rrc_scramblingIdentity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_scramblingIdentity2_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_17, T_setup_17_sequence); - - return offset; -} - - -static const value_string lte_rrc_DMRS_Config_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t DMRS_Config_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_17 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_DMRS_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DMRS_Config_r11, DMRS_Config_r11_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_qcl_Operation_vals[] = { - { 0, "typeA" }, - { 1, "typeB" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_qcl_Operation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t RE_MappingQCLConfigToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_RE_MappingQCLConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, -}; - -static int -dissect_lte_rrc_RE_MappingQCLConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RE_MappingQCLConfigToReleaseList_r11, RE_MappingQCLConfigToReleaseList_r11_sequence_of, - 1, maxRE_MapQCL_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_crs_PortsCount_r11_01_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_crs_PortsCount_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 5U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_27_sequence[] = { - { &hf_lte_rrc_subframeConfigList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_27, T_setup_27_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_mbsfn_SubframeConfigList_r11_01_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_mbsfn_SubframeConfigList_r11_01_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_27 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_mbsfn_SubframeConfigList_r11_01, T_mbsfn_SubframeConfigList_r11_01_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_pdsch_Start_r11_vals[] = { - { 0, "reserved" }, - { 1, "n1" }, - { 2, "n2" }, - { 3, "n3" }, - { 4, "n4" }, - { 5, "assigned" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pdsch_Start_r11(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, - 6, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_optionalSetOfFields_r11_sequence[] = { - { &hf_lte_rrc_crs_PortsCount_r11_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r11_01 }, - { &hf_lte_rrc_crs_FreqShift_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_5 }, - { &hf_lte_rrc_mbsfn_SubframeConfigList_r11_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbsfn_SubframeConfigList_r11_01 }, - { &hf_lte_rrc_pdsch_Start_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pdsch_Start_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_optionalSetOfFields_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_optionalSetOfFields_r11, T_optionalSetOfFields_r11_sequence); - - return offset; -} - - -static const per_sequence_t PDSCH_RE_MappingQCL_Config_r11_sequence[] = { - { &hf_lte_rrc_pdsch_RE_MappingQCL_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_ConfigId_r11 }, - { &hf_lte_rrc_optionalSetOfFields_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_optionalSetOfFields_r11 }, - { &hf_lte_rrc_csi_RS_ConfigZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigZPId_r11 }, - { &hf_lte_rrc_qcl_CSI_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDSCH_RE_MappingQCL_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PDSCH_RE_MappingQCL_Config_r11, PDSCH_RE_MappingQCL_Config_r11_sequence); - - return offset; -} - - -static const per_sequence_t RE_MappingQCLConfigToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_RE_MappingQCLConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_RE_MappingQCL_Config_r11 }, -}; - -static int -dissect_lte_rrc_RE_MappingQCLConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RE_MappingQCLConfigToAddModList_r11, RE_MappingQCLConfigToAddModList_r11_sequence_of, - 1, maxRE_MapQCL_r11, FALSE); - - return offset; -} - - -static const per_sequence_t PDSCH_ConfigDedicated_v1130_sequence[] = { - { &hf_lte_rrc_dmrs_ConfigPDSCH_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DMRS_Config_r11 }, - { &hf_lte_rrc_qcl_Operation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_qcl_Operation }, - { &hf_lte_rrc_re_MappingQCLConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RE_MappingQCLConfigToReleaseList_r11 }, - { &hf_lte_rrc_re_MappingQCLConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RE_MappingQCLConfigToAddModList_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PDSCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PDSCH_ConfigDedicated_v1130, PDSCH_ConfigDedicated_v1130_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCQI_ProcExt_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CQI_ReportPeriodicProcExtToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11 }, -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11, CQI_ReportPeriodicProcExtToReleaseList_r11_sequence_of, - 1, maxCQI_ProcExt_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_csi_ReportMode_r11_vals[] = { - { 0, "submode1" }, - { 1, "submode2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_csi_ReportMode_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_widebandCQI_r11_sequence[] = { - { &hf_lte_rrc_csi_ReportMode_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ReportMode_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_widebandCQI_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_widebandCQI_r11, T_widebandCQI_r11_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_periodicityFactor_r11_vals[] = { - { 0, "n2" }, - { 1, "n4" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_periodicityFactor_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_subbandCQI_r11_sequence[] = { - { &hf_lte_rrc_k , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, - { &hf_lte_rrc_periodicityFactor_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_periodicityFactor_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_subbandCQI_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_subbandCQI_r11, T_subbandCQI_r11_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_cqi_FormatIndicatorPeriodic_r11_vals[] = { - { 0, "widebandCQI-r11" }, - { 1, "subbandCQI-r11" }, - { 0, NULL } -}; - -static const per_choice_t T_cqi_FormatIndicatorPeriodic_r11_choice[] = { - { 0, &hf_lte_rrc_widebandCQI_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_widebandCQI_r11 }, - { 1, &hf_lte_rrc_subbandCQI_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_subbandCQI_r11 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11, T_cqi_FormatIndicatorPeriodic_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_09_sequence[] = { - { &hf_lte_rrc_cqi_pmi_ConfigIndex2_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_ri_ConfigIndex2_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_09, T_setup_09_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_csi_ConfigIndex_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_csi_ConfigIndex_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_09 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_csi_ConfigIndex_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_csi_ConfigIndex_r11, T_csi_ConfigIndex_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportPeriodicProcExt_r11_sequence[] = { - { &hf_lte_rrc_cqi_ReportPeriodicProcExtId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExtId_r11 }, - { &hf_lte_rrc_cqi_pmi_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_cqi_FormatIndicatorPeriodic_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_cqi_FormatIndicatorPeriodic_r11 }, - { &hf_lte_rrc_ri_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_1023 }, - { &hf_lte_rrc_csi_ConfigIndex_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_ConfigIndex_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodicProcExt_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodicProcExt_r11, CQI_ReportPeriodicProcExt_r11_sequence); - - return offset; -} - - -static const per_sequence_t CQI_ReportPeriodicProcExtToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodicProcExt_r11 }, -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11, CQI_ReportPeriodicProcExtToAddModList_r11_sequence_of, - 1, maxCQI_ProcExt_r11, FALSE); - - return offset; -} - - -static const per_sequence_t CQI_ReportPeriodic_v1130_sequence[] = { - { &hf_lte_rrc_simultaneousAckNackAndCQI_Format3_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_simultaneousAckNackAndCQI_Format3_r11 }, - { &hf_lte_rrc_cqi_ReportPeriodicProcExtToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodicProcExtToReleaseList_r11 }, - { &hf_lte_rrc_cqi_ReportPeriodicProcExtToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodicProcExtToAddModList_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportPeriodic_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportPeriodic_v1130, CQI_ReportPeriodic_v1130_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_IM_ConfigId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_IM_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_IM_ConfigToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_IM_ConfigToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, -}; - -static int -dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_ConfigToReleaseList_r11, CSI_IM_ConfigToReleaseList_r11_sequence_of, - 1, maxCSI_IM_r11, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_IM_Config_r11_sequence[] = { - { &hf_lte_rrc_csi_IM_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, - { &hf_lte_rrc_resourceConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_subframeConfig_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_IM_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_Config_r11, CSI_IM_Config_r11_sequence); - - return offset; -} - - -static const per_sequence_t CSI_IM_ConfigToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_IM_ConfigToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_Config_r11 }, -}; - -static int -dissect_lte_rrc_CSI_IM_ConfigToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_ConfigToAddModList_r11, CSI_IM_ConfigToAddModList_r11_sequence_of, - 1, maxCSI_IM_r11, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_ProcessId_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_Proc_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_ProcessToReleaseList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_ProcessToReleaseList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_ProcessId_r11 }, -}; - -static int -dissect_lte_rrc_CSI_ProcessToReleaseList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_ProcessToReleaseList_r11, CSI_ProcessToReleaseList_r11_sequence_of, - 1, maxCSI_Proc_r11, FALSE); - - return offset; -} - - -static const per_sequence_t P_C_AndCBSR_r11_sequence[] = { - { &hf_lte_rrc_p_C_r11 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M8_15 }, - { &hf_lte_rrc_codebookSubsetRestriction_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_P_C_AndCBSR_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_P_C_AndCBSR_r11, P_C_AndCBSR_r11_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11_sequence_of[1] = { - { &hf_lte_rrc_p_C_AndCBSRList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P_C_AndCBSR_r11 }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11, SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11_sequence_of, - 1, 2, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_pmi_RI_Report_r11_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pmi_RI_Report_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportBothProc_r11_sequence[] = { - { &hf_lte_rrc_ri_Ref_CSI_ProcessId_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessId_r11 }, - { &hf_lte_rrc_pmi_RI_Report_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportBothProc_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportBothProc_r11, CQI_ReportBothProc_r11_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_maxCQI_ProcExt_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxCQI_ProcExt_r11, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CQI_ReportAperiodicProc_r11_sequence[] = { - { &hf_lte_rrc_cqi_ReportModeAperiodic_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportModeAperiodic }, - { &hf_lte_rrc_trigger01_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_trigger10_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_trigger11_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportAperiodicProc_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportAperiodicProc_r11, CQI_ReportAperiodicProc_r11_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_IM_ConfigId_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_IM_r12, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12_sequence_of[1] = { - { &hf_lte_rrc_csi_IM_ConfigIdList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r12 }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12, SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12_sequence_of, - 1, 2, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_Process_r11_eag_1_sequence[] = { - { &hf_lte_rrc_alternativeCodebookEnabledFor4TXProc_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeCodebookEnabledFor4TXProc_r12 }, - { &hf_lte_rrc_csi_IM_ConfigIdList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12 }, - { &hf_lte_rrc_cqi_ReportAperiodicProcSecond_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodicProc_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_Process_r11_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_Process_r11_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t CSI_Process_r11_sequence[] = { - { &hf_lte_rrc_csi_ProcessId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_ProcessId_r11 }, - { &hf_lte_rrc_csi_RS_ConfigNZPId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_RS_ConfigNZPId_r11 }, - { &hf_lte_rrc_csi_IM_ConfigId_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r11 }, - { &hf_lte_rrc_p_C_AndCBSRList_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11 }, - { &hf_lte_rrc_cqi_ReportBothProc_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportBothProc_r11 }, - { &hf_lte_rrc_cqi_ReportPeriodicProcId_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_maxCQI_ProcExt_r11 }, - { &hf_lte_rrc_cqi_ReportAperiodicProc_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodicProc_r11 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_Process_r11_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_Process_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_Process_r11, CSI_Process_r11_sequence); - - return offset; -} - - -static const per_sequence_t CSI_ProcessToAddModList_r11_sequence_of[1] = { - { &hf_lte_rrc_CSI_ProcessToAddModList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_Process_r11 }, -}; - -static int -dissect_lte_rrc_CSI_ProcessToAddModList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_ProcessToAddModList_r11, CSI_ProcessToAddModList_r11_sequence_of, - 1, maxCSI_Proc_r11, FALSE); - - return offset; -} - - -static const per_sequence_t CQI_ReportBoth_r11_sequence[] = { - { &hf_lte_rrc_csi_IM_ConfigToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r11 }, - { &hf_lte_rrc_csi_IM_ConfigToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToAddModList_r11 }, - { &hf_lte_rrc_csi_ProcessToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessToReleaseList_r11 }, - { &hf_lte_rrc_csi_ProcessToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_ProcessToAddModList_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportBoth_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportBoth_r11, CQI_ReportBoth_r11_sequence); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfig_v1130_sequence[] = { - { &hf_lte_rrc_cqi_ReportPeriodic_v1130, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportPeriodic_v1130 }, - { &hf_lte_rrc_cqi_ReportBoth_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportBoth_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfig_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfig_v1130, CQI_ReportConfig_v1130_sequence); - - return offset; -} - - -static const per_sequence_t T_n1PUCCH_AN_CS_ListP1_r11_sequence_of[1] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, -}; - -static int -dissect_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11, T_n1PUCCH_AN_CS_ListP1_r11_sequence_of, - 2, 4, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_32_sequence[] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_32, T_setup_32_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_n1PUCCH_AN_CS_v1130_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_n1PUCCH_AN_CS_v1130_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_32 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_n1PUCCH_AN_CS_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_n1PUCCH_AN_CS_v1130, T_n1PUCCH_AN_CS_v1130_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_33_sequence[] = { - { &hf_lte_rrc_nPUCCH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_n1PUCCH_AN_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_33, T_setup_33_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_nPUCCH_Param_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_nPUCCH_Param_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_33 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nPUCCH_Param_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nPUCCH_Param_r11, T_nPUCCH_Param_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t PUCCH_ConfigDedicated_v1130_sequence[] = { - { &hf_lte_rrc_n1PUCCH_AN_CS_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_n1PUCCH_AN_CS_v1130 }, - { &hf_lte_rrc_nPUCCH_Param_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nPUCCH_Param_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUCCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUCCH_ConfigDedicated_v1130, PUCCH_ConfigDedicated_v1130_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_509(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 509U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_35_sequence[] = { - { &hf_lte_rrc_nPUSCH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_509 }, - { &hf_lte_rrc_nDMRS_CSH_Identity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_509 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_35, T_setup_35_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_pusch_DMRS_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_pusch_DMRS_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_35 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_pusch_DMRS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_pusch_DMRS_r11, T_pusch_DMRS_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t PUSCH_ConfigDedicated_v1130_sequence[] = { - { &hf_lte_rrc_pusch_DMRS_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pusch_DMRS_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUSCH_ConfigDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUSCH_ConfigDedicated_v1130, PUSCH_ConfigDedicated_v1130_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_16_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 16U, 31U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11_vals[] = { - { 0, "dB0" }, - { 1, "dB-1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t DeltaTxD_OffsetListPUCCH_v1130_sequence[] = { - { &hf_lte_rrc_deltaTxD_OffsetPUCCH_Format1bCS_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaTxD_OffsetPUCCH_Format1bCS_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130, DeltaTxD_OffsetListPUCCH_v1130_sequence); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlDedicated_v1130_sequence[] = { - { &hf_lte_rrc_pSRS_Offset_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_16_31 }, - { &hf_lte_rrc_pSRS_OffsetAp_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_16_31 }, - { &hf_lte_rrc_deltaTxD_OffsetListPUCCH_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DeltaTxD_OffsetListPUCCH_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlDedicated_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlDedicated_v1130, UplinkPowerControlDedicated_v1130_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_eag_4_sequence[] = { - { &hf_lte_rrc_csi_RS_ConfigNZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigNZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11 }, - { &hf_lte_rrc_epdcch_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_Config_r11 }, - { &hf_lte_rrc_pdsch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated_v1130 }, - { &hf_lte_rrc_cqi_ReportConfig_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1130 }, - { &hf_lte_rrc_pucch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v1130 }, - { &hf_lte_rrc_pusch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1130 }, - { &hf_lte_rrc_uplinkPowerControlDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_4_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_alternativeCodebookEnabledFor4TX_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_alternativeCodebookEnabledFor4TX_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoDedicated_v12xx_sequence[] = { - { &hf_lte_rrc_alternativeCodebookEnabledFor4TX_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeCodebookEnabledFor4TX_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoDedicated_v12xx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoDedicated_v12xx, AntennaInfoDedicated_v12xx_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_eimta_CommandPeriodicity_r12_vals[] = { - { 0, "sf10" }, - { 1, "sf20" }, - { 2, "sf40" }, - { 3, "sf80" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_eimta_CommandPeriodicity_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_20_sequence[] = { - { &hf_lte_rrc_eimta_RNTI_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, - { &hf_lte_rrc_eimta_CommandPeriodicity_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eimta_CommandPeriodicity_r12 }, - { &hf_lte_rrc_eimta_CommandSubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_20, T_setup_20_sequence); - - return offset; -} - - -static const value_string lte_rrc_EIMTA_MainConfig_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t EIMTA_MainConfig_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_20 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_EIMTA_MainConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EIMTA_MainConfig_r12, EIMTA_MainConfig_r12_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 5U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_eimta_HarqReferenceConfig_r12_vals[] = { - { 0, "sa2" }, - { 1, "sa4" }, - { 2, "sa5" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_eimta_HarqReferenceConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_22_sequence[] = { - { &hf_lte_rrc_subframeConfigList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_22, T_setup_22_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_mbsfn_SubframeConfigList_v12x0_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_mbsfn_SubframeConfigList_v12x0_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_22 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_mbsfn_SubframeConfigList_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_mbsfn_SubframeConfigList_v12x0, T_mbsfn_SubframeConfigList_v12x0_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_21_sequence[] = { - { &hf_lte_rrc_eimta_ReConfigIndex_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_5 }, - { &hf_lte_rrc_eimta_HarqReferenceConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eimta_HarqReferenceConfig_r12 }, - { &hf_lte_rrc_mbsfn_SubframeConfigList_v12x0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_mbsfn_SubframeConfigList_v12x0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_21, T_setup_21_sequence); - - return offset; -} - - -static const value_string lte_rrc_EIMTA_MainConfigServCell_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t EIMTA_MainConfigServCell_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_21 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_EIMTA_MainConfigServCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_EIMTA_MainConfigServCell_r12, EIMTA_MainConfigServCell_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_34_sequence[] = { - { &hf_lte_rrc_nkaPUCCH_AN_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_2047 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_34, T_setup_34_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_nkaPUCCH_Param_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_nkaPUCCH_Param_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_34 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nkaPUCCH_Param_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nkaPUCCH_Param_r12, T_nkaPUCCH_Param_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t PUCCH_ConfigDedicated_v12x0_sequence[] = { - { &hf_lte_rrc_nkaPUCCH_Param_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_nkaPUCCH_Param_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUCCH_ConfigDedicated_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUCCH_ConfigDedicated_v12x0, PUCCH_ConfigDedicated_v12x0_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_05_sequence[] = { - { &hf_lte_rrc_csi_MeasSubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_05, T_setup_05_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_csi_SubframePatternConfig_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_csi_SubframePatternConfig_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_05 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_csi_SubframePatternConfig_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_csi_SubframePatternConfig_r12, T_csi_SubframePatternConfig_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CSI_IM_ConfigToReleaseList_r12_sequence_of[1] = { - { &hf_lte_rrc_CSI_IM_ConfigToReleaseList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r12 }, -}; - -static int -dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_ConfigToReleaseList_r12, CSI_IM_ConfigToReleaseList_r12_sequence_of, - 1, maxCSI_IM_r12, FALSE); - - return offset; -} - - -static const per_sequence_t CSI_IM_Config_r12_sequence[] = { - { &hf_lte_rrc_csi_IM_ConfigId_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_ConfigId_r12 }, - { &hf_lte_rrc_resourceConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_subframeConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_IM_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_Config_r12, CSI_IM_Config_r12_sequence); - - return offset; -} - - -static const per_sequence_t CSI_IM_ConfigToAddModList_r12_sequence_of[1] = { - { &hf_lte_rrc_CSI_IM_ConfigToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSI_IM_Config_r12 }, -}; - -static int -dissect_lte_rrc_CSI_IM_ConfigToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_IM_ConfigToAddModList_r12, CSI_IM_ConfigToAddModList_r12_sequence_of, - 1, maxCSI_IM_r12, FALSE); - - return offset; -} - - -static const per_sequence_t CQI_ReportBoth_r12_sequence[] = { - { &hf_lte_rrc_csi_IM_ConfigToReleaseList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToReleaseList_r12 }, - { &hf_lte_rrc_csi_IM_ConfigToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_IM_ConfigToAddModList_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportBoth_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportBoth_r12, CQI_ReportBoth_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_trigger_SubframeSetIndicator_r12_vals[] = { - { 0, "s1" }, - { 1, "s2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_trigger_SubframeSetIndicator_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_aperiodicCSI_Trigger_r12_sequence[] = { - { &hf_lte_rrc_trigger_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_trigger_SubframeSetIndicator_r12 }, - { &hf_lte_rrc_trigger1_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, - { &hf_lte_rrc_trigger2_SubframeSetIndicator_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_8 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_aperiodicCSI_Trigger_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_aperiodicCSI_Trigger_r12, T_aperiodicCSI_Trigger_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_11_sequence[] = { - { &hf_lte_rrc_aperiodicCSI_Trigger_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_aperiodicCSI_Trigger_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_11, T_setup_11_sequence); - - return offset; -} - - -static const value_string lte_rrc_CQI_ReportAperiodic_v12x0_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t CQI_ReportAperiodic_v12x0_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_11 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportAperiodic_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportAperiodic_v12x0, CQI_ReportAperiodic_v12x0_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_altCQI_Table_r12_vals[] = { - { 0, "allSubframes-r12" }, - { 1, "csi-SubframeSet1-r12" }, - { 2, "csi-SubframeSet2-r12" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_altCQI_Table_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfig_v12x0_sequence[] = { - { &hf_lte_rrc_csi_SubframePatternConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_SubframePatternConfig_r12 }, - { &hf_lte_rrc_cqi_ReportBoth_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CQI_ReportBoth_r12 }, - { &hf_lte_rrc_cqi_ReportAperiodic_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportAperiodic_v12x0 }, - { &hf_lte_rrc_altCQI_Table_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_altCQI_Table_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfig_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfig_v12x0, CQI_ReportConfig_v12x0_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_NominalPUSCH_SubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -126, 24U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - -static const value_string lte_rrc_T_alpha_SubframeSet2_r12_vals[] = { - { 0, "al0" }, - { 1, "al04" }, - { 2, "al05" }, - { 3, "al06" }, - { 4, "al07" }, - { 5, "al08" }, - { 6, "al09" }, - { 7, "al1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_alpha_SubframeSet2_r12(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, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUSCH_SubframeSet2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const per_sequence_t T_setup_49_sequence[] = { - { &hf_lte_rrc_tpc_SubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, - { &hf_lte_rrc_p0_NominalPUSCH_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_SubframeSet2_r12 }, - { &hf_lte_rrc_alpha_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_alpha_SubframeSet2_r12 }, - { &hf_lte_rrc_p0_UE_PUSCH_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_SubframeSet2_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_49, T_setup_49_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_set2PowerControlParameter_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_set2PowerControlParameter_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_51 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_49 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_set2PowerControlParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_set2PowerControlParameter, T_set2PowerControlParameter_choice, - NULL); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlDedicated_v12x0_sequence[] = { - { &hf_lte_rrc_set2PowerControlParameter, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_set2PowerControlParameter }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlDedicated_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlDedicated_v12x0, UplinkPowerControlDedicated_v12x0_sequence); - - return offset; -} - - -static const per_sequence_t T_betaOffsetMC_r12_sequence[] = { - { &hf_lte_rrc_betaOffset_ACK_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_RI_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_CQI_Index_MC_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_betaOffsetMC_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_betaOffsetMC_r12, T_betaOffsetMC_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_36_sequence[] = { - { &hf_lte_rrc_betaOffset_ACK_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_RI_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffset_CQI_Index_SubframeSet2_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_betaOffsetMC_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_betaOffsetMC_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_36, T_setup_36_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_uciOnPUSCH_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_uciOnPUSCH_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_36 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_uciOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_uciOnPUSCH, T_uciOnPUSCH_choice, - NULL); - - return offset; -} - - -static const per_sequence_t PUSCH_ConfigDedicated_v12x0_sequence[] = { - { &hf_lte_rrc_uciOnPUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_uciOnPUSCH }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUSCH_ConfigDedicated_v12x0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUSCH_ConfigDedicated_v12x0, PUSCH_ConfigDedicated_v12x0_sequence); - - return offset; -} - - -static const per_sequence_t T_setup_14_sequence[] = { - { &hf_lte_rrc_zeroTxPowerResourceConfigList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_zeroTxPowerSubframeConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_14, T_setup_14_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_eimta_ZeroTxPowerCSI_RS_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_14 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12, T_eimta_ZeroTxPowerCSI_RS_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t ZeroTxPowerCSI_RS_r12_sequence[] = { - { &hf_lte_rrc_zeroTxPowerResourceConfigList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_16 }, - { &hf_lte_rrc_zeroTxPowerSubframeConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_154 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ZeroTxPowerCSI_RS_r12, ZeroTxPowerCSI_RS_r12_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12_sequence_of[1] = { - { &hf_lte_rrc_zeroTxPowerCSI_RS_List_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ZeroTxPowerCSI_RS_r12 }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12, SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12_sequence_of, - 1, maxDS_ZTP_CSI_RS_r12, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_15_sequence[] = { - { &hf_lte_rrc_zeroTxPowerCSI_RS_List_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_15, T_setup_15_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_ds_ZeroTxPowerCSI_RS_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_15 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12, T_ds_ZeroTxPowerCSI_RS_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CSI_RS_Config2_r12_sequence[] = { - { &hf_lte_rrc_eimta_ZeroTxPowerCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12 }, - { &hf_lte_rrc_ds_ZeroTxPowerCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSI_RS_Config2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSI_RS_Config2_r12, CSI_RS_Config2_r12_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_eag_5_sequence[] = { - { &hf_lte_rrc_antennaInfo_v12xx, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v12xx }, - { &hf_lte_rrc_eimta_MainConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfig_r12 }, - { &hf_lte_rrc_eimta_MainConfigPCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfigServCell_r12 }, - { &hf_lte_rrc_pucch_ConfigDedicated_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated_v12x0 }, - { &hf_lte_rrc_cqi_ReportConfigPCell_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v12x0 }, - { &hf_lte_rrc_uplinkPowerControlDedicated_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v12x0 }, - { &hf_lte_rrc_pusch_ConfigDedicated_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v12x0 }, - { &hf_lte_rrc_csi_RS_Config2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config2_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicated_eag_5_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicated_sequence[] = { - { &hf_lte_rrc_pdsch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated }, - { &hf_lte_rrc_pucch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PUCCH_ConfigDedicated }, - { &hf_lte_rrc_pusch_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated }, - { &hf_lte_rrc_uplinkPowerControlDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated }, - { &hf_lte_rrc_tpc_PDCCH_ConfigPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_TPC_PDCCH_Config }, - { &hf_lte_rrc_tpc_PDCCH_ConfigPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_TPC_PDCCH_Config }, - { &hf_lte_rrc_cqi_ReportConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated }, - { &hf_lte_rrc_antennaInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_antennaInfo }, - { &hf_lte_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SchedulingRequestConfig }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_3 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_4 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicated_eag_5 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysicalConfigDedicated, PhysicalConfigDedicated_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_t301_r9_vals[] = { - { 0, "ms100" }, - { 1, "ms200" }, - { 2, "ms300" }, - { 3, "ms400" }, - { 4, "ms600" }, - { 5, "ms1000" }, - { 6, "ms1500" }, - { 7, "ms2000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t301_r9(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_t310_r9_vals[] = { - { 0, "ms0" }, - { 1, "ms50" }, - { 2, "ms100" }, - { 3, "ms200" }, - { 4, "ms500" }, - { 5, "ms1000" }, - { 6, "ms2000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t310_r9(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_n310_r9_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n3" }, - { 3, "n4" }, - { 4, "n6" }, - { 5, "n8" }, - { 6, "n10" }, - { 7, "n20" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_n310_r9(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_t311_r9_vals[] = { - { 0, "ms1000" }, - { 1, "ms3000" }, - { 2, "ms5000" }, - { 3, "ms10000" }, - { 4, "ms15000" }, - { 5, "ms20000" }, - { 6, "ms30000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t311_r9(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_n311_r9_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n3" }, - { 3, "n4" }, - { 4, "n5" }, - { 5, "n6" }, - { 6, "n8" }, - { 7, "n10" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_n311_r9(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_38_sequence[] = { - { &hf_lte_rrc_t301_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t301_r9 }, - { &hf_lte_rrc_t310_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t310_r9 }, - { &hf_lte_rrc_n310_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n310_r9 }, - { &hf_lte_rrc_t311_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t311_r9 }, - { &hf_lte_rrc_n311_r9 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n311_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_38, T_setup_38_sequence); - - return offset; -} - - -static const value_string lte_rrc_RLF_TimersAndConstants_r9_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t RLF_TimersAndConstants_r9_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_38 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_RLF_TimersAndConstants_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RLF_TimersAndConstants_r9, RLF_TimersAndConstants_r9_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicated_eag_1_sequence[] = { - { &hf_lte_rrc_rlf_TimersAndConstants_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLF_TimersAndConstants_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicated_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_MeasSubframePatternPCell_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t MeasSubframePatternPCell_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasSubframePattern_r10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasSubframePatternPCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasSubframePatternPCell_r10, MeasSubframePatternPCell_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicated_eag_2_sequence[] = { - { &hf_lte_rrc_measSubframePatternPCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframePatternPCell_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicated_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_2_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_antennaPortsCount_r11_01_vals[] = { - { 0, "an1" }, - { 1, "an2" }, - { 2, "an4" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_antennaPortsCount_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CRS_AssistanceInfo_r11_sequence[] = { - { &hf_lte_rrc_physCellId_r11_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_antennaPortsCount_r11_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount_r11_01 }, - { &hf_lte_rrc_mbsfn_SubframeConfigList_r11_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_SubframeConfigList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CRS_AssistanceInfo_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CRS_AssistanceInfo_r11, CRS_AssistanceInfo_r11_sequence); - - return offset; -} - - -static const per_sequence_t CRS_AssistanceInfoList_r11_sequence_of[1] = { - { &hf_lte_rrc_CRS_AssistanceInfoList_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CRS_AssistanceInfo_r11 }, -}; - -static int -dissect_lte_rrc_CRS_AssistanceInfoList_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CRS_AssistanceInfoList_r11, CRS_AssistanceInfoList_r11_sequence_of, - 1, maxCellReport, FALSE); - - return offset; -} - - -static const value_string lte_rrc_NeighCellsCRS_Info_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t NeighCellsCRS_Info_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_CRS_AssistanceInfoList_r11 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_NeighCellsCRS_Info_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_NeighCellsCRS_Info_r11, NeighCellsCRS_Info_r11_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicated_eag_3_sequence[] = { - { &hf_lte_rrc_neighCellsCRS_Info_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsCRS_Info_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicated_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t NeighCellsToReleaseList_r12_sequence_of[1] = { - { &hf_lte_rrc_NeighCellsToReleaseList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, -}; - -static int -dissect_lte_rrc_NeighCellsToReleaseList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_NeighCellsToReleaseList_r12, NeighCellsToReleaseList_r12_sequence_of, - 1, maxNeighCell_r12, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_crs_PortsCount_r12_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n4" }, - { 3, "spare" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_crs_PortsCount_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_P_a_vals[] = { - { 0, "dB-6" }, - { 1, "dB-4dot77" }, - { 2, "dB-3" }, - { 3, "dB-1dot77" }, - { 4, "dB0" }, - { 5, "dB1" }, - { 6, "dB2" }, - { 7, "dB3" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_P_a(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a_sequence_of[1] = { - { &hf_lte_rrc_p_aList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_P_a }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a, SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a_sequence_of, - 1, maxP_a_PerNeighCell_r12, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_T_transmissionModeList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - tvbuff_t *tm_list_tvb=NULL; - proto_tree *subtree; - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 8, 8, FALSE, &tm_list_tvb, NULL); - - 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); - } - - - return offset; -} - - -static const per_sequence_t NeighCellsInfo_r12_sequence[] = { - { &hf_lte_rrc_physCellId_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_p_b_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_3 }, - { &hf_lte_rrc_crs_PortsCount_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_crs_PortsCount_r12 }, - { &hf_lte_rrc_mbsfn_SubframeConfig_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MBSFN_SubframeConfigList }, - { &hf_lte_rrc_p_aList_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SEQUENCE_SIZE_1_maxP_a_PerNeighCell_r12_OF_P_a }, - { &hf_lte_rrc_transmissionModeList_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_transmissionModeList_r12 }, - { &hf_lte_rrc_resAllocGranularity_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_NeighCellsInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_NeighCellsInfo_r12, NeighCellsInfo_r12_sequence); - - return offset; -} - - -static const per_sequence_t NeighCellsToAddModList_r12_sequence_of[1] = { - { &hf_lte_rrc_NeighCellsToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellsInfo_r12 }, -}; - -static int -dissect_lte_rrc_NeighCellsToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_NeighCellsToAddModList_r12, NeighCellsToAddModList_r12_sequence_of, - 1, maxNeighCell_r12, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_37_sequence[] = { - { &hf_lte_rrc_neighCellsToReleaseList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsToReleaseList_r12 }, - { &hf_lte_rrc_neighCellsToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NeighCellsToAddModList_r12 }, - { &hf_lte_rrc_servCellp_a_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_a }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_37, T_setup_37_sequence); - - return offset; -} - - -static const value_string lte_rrc_NAICS_AssistanceInfo_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t NAICS_AssistanceInfo_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_37 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_NAICS_AssistanceInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_NAICS_AssistanceInfo_r12, NAICS_AssistanceInfo_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicated_eag_4_sequence[] = { - { &hf_lte_rrc_naics_InfoPCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NAICS_AssistanceInfo_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicated_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicated_eag_4_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicated_sequence[] = { - { &hf_lte_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SRB_ToAddModList }, - { &hf_lte_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToAddModList }, - { &hf_lte_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToReleaseList }, - { &hf_lte_rrc_mac_MainConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_mac_MainConfig }, - { &hf_lte_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SPS_Config }, - { &hf_lte_rrc_physicalConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicated }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_3 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated_eag_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PCELL); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigDedicated, RadioResourceConfigDedicated_sequence); - - - - return offset; -} - - - static int dissect_lte_rrc_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -21427,14 +28470,14 @@ dissect_lte_rrc_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_nonCriticalExtension_22_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_26_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence); + ett_lte_rrc_T_nonCriticalExtension_26, T_nonCriticalExtension_26_sequence); return offset; } @@ -21442,7 +28485,7 @@ dissect_lte_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionReestablishment_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_22 }, + { &hf_lte_rrc_nonCriticalExtension_63, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_26 }, { NULL, 0, 0, NULL } }; @@ -21458,7 +28501,7 @@ dissect_lte_rrc_RRCConnectionReestablishment_v8a0_IEs(tvbuff_t *tvb _U_, int off static const per_sequence_t RRCConnectionReestablishment_r8_IEs_sequence[] = { { &hf_lte_rrc_radioResourceConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated }, { &hf_lte_rrc_nextHopChainingCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NextHopChainingCount }, - { &hf_lte_rrc_nonCriticalExtension_53, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishment_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_62, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishment_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -21471,7 +28514,7 @@ dissect_lte_rrc_RRCConnectionReestablishment_r8_IEs(tvbuff_t *tvb _U_, int offse } -static const value_string lte_rrc_T_c1_21_vals[] = { +static const value_string lte_rrc_T_c1_25_vals[] = { { 0, "rrcConnectionReestablishment-r8" }, { 1, "spare7" }, { 2, "spare6" }, @@ -21483,7 +28526,7 @@ static const value_string lte_rrc_T_c1_21_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_21_choice[] = { +static const per_choice_t T_c1_25_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishment_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishment_r8_IEs }, { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -21496,44 +28539,44 @@ static const per_choice_t T_c1_21_choice[] = { }; static int -dissect_lte_rrc_T_c1_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_21, T_c1_21_choice, + ett_lte_rrc_T_c1_25, T_c1_25_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_18_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_22_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_18_choice[] = { - { 0, &hf_lte_rrc_c1_21 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_21 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_18 }, +static const per_choice_t T_criticalExtensions_22_choice[] = { + { 0, &hf_lte_rrc_c1_25 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_25 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_22 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice, + ett_lte_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice, NULL); return offset; @@ -21542,7 +28585,7 @@ dissect_lte_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReestablishment_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_18 }, + { &hf_lte_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_22 }, { NULL, 0, 0, NULL } }; @@ -21558,14 +28601,14 @@ dissect_lte_rrc_RRCConnectionReestablishment(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_nonCriticalExtension_24_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_28_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence); + ett_lte_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence); return offset; } @@ -21573,7 +28616,7 @@ dissect_lte_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionReestablishmentReject_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_62, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_24 }, + { &hf_lte_rrc_nonCriticalExtension_71, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_28 }, { NULL, 0, 0, NULL } }; @@ -21587,7 +28630,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentReject_v8a0_IEs(tvbuff_t *tvb _U_, i static const per_sequence_t RRCConnectionReestablishmentReject_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_61, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentReject_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_70, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentReject_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -21600,35 +28643,35 @@ dissect_lte_rrc_RRCConnectionReestablishmentReject_r8_IEs(tvbuff_t *tvb _U_, int } -static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_20_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_24_vals[] = { { 0, "rrcConnectionReestablishmentReject-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_20_choice[] = { +static const per_choice_t T_criticalExtensions_24_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishmentReject_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishmentReject_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_20 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_24 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice, + ett_lte_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice, NULL); return offset; @@ -21636,7 +28679,7 @@ dissect_lte_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReestablishmentReject_sequence[] = { - { &hf_lte_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_20 }, + { &hf_lte_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_24 }, { NULL, 0, 0, NULL } }; @@ -21727,14 +28770,14 @@ dissect_lte_rrc_T_deprioritisationReq_r11(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_25_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_29_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence); + ett_lte_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence); return offset; } @@ -21742,7 +28785,7 @@ dissect_lte_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionReject_v1130_IEs_sequence[] = { { &hf_lte_rrc_deprioritisationReq_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_deprioritisationReq_r11 }, - { &hf_lte_rrc_nonCriticalExtension_66, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_25 }, + { &hf_lte_rrc_nonCriticalExtension_75, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_29 }, { NULL, 0, 0, NULL } }; @@ -21757,7 +28800,7 @@ dissect_lte_rrc_RRCConnectionReject_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t RRCConnectionReject_v1020_IEs_sequence[] = { { &hf_lte_rrc_extendedWaitTime_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedWaitTime_r10 }, - { &hf_lte_rrc_nonCriticalExtension_65, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_74, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -21772,7 +28815,7 @@ dissect_lte_rrc_RRCConnectionReject_v1020_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t RRCConnectionReject_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_64, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_73, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -21787,7 +28830,7 @@ dissect_lte_rrc_RRCConnectionReject_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t RRCConnectionReject_r8_IEs_sequence[] = { { &hf_lte_rrc_waitTime , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_waitTime }, - { &hf_lte_rrc_nonCriticalExtension_63, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_72, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReject_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -21800,7 +28843,7 @@ dissect_lte_rrc_RRCConnectionReject_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string lte_rrc_T_c1_22_vals[] = { +static const value_string lte_rrc_T_c1_26_vals[] = { { 0, "rrcConnectionReject-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -21808,7 +28851,7 @@ static const value_string lte_rrc_T_c1_22_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_22_choice[] = { +static const per_choice_t T_c1_26_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReject_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReject_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -21817,44 +28860,44 @@ static const per_choice_t T_c1_22_choice[] = { }; static int -dissect_lte_rrc_T_c1_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_22, T_c1_22_choice, + ett_lte_rrc_T_c1_26, T_c1_26_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_22_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_26_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_22_choice[] = { - { 0, &hf_lte_rrc_c1_22 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_22 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_22 }, +static const per_choice_t T_criticalExtensions_26_choice[] = { + { 0, &hf_lte_rrc_c1_26 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_26 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_26 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice, + ett_lte_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice, NULL); return offset; @@ -21862,7 +28905,7 @@ dissect_lte_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReject_sequence[] = { - { &hf_lte_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_22 }, + { &hf_lte_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_26 }, { NULL, 0, 0, NULL } }; @@ -21878,14 +28921,14 @@ dissect_lte_rrc_RRCConnectionReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_28_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_32_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence); + ett_lte_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence); return offset; } @@ -21893,7 +28936,7 @@ dissect_lte_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionSetup_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_73, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_28 }, + { &hf_lte_rrc_nonCriticalExtension_82, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_32 }, { NULL, 0, 0, NULL } }; @@ -21908,7 +28951,7 @@ dissect_lte_rrc_RRCConnectionSetup_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t RRCConnectionSetup_r8_IEs_sequence[] = { { &hf_lte_rrc_radioResourceConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated }, - { &hf_lte_rrc_nonCriticalExtension_72, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetup_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_81, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetup_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -21921,7 +28964,7 @@ dissect_lte_rrc_RRCConnectionSetup_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn } -static const value_string lte_rrc_T_c1_24_vals[] = { +static const value_string lte_rrc_T_c1_28_vals[] = { { 0, "rrcConnectionSetup-r8" }, { 1, "spare7" }, { 2, "spare6" }, @@ -21933,7 +28976,7 @@ static const value_string lte_rrc_T_c1_24_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_24_choice[] = { +static const per_choice_t T_c1_28_choice[] = { { 0, &hf_lte_rrc_rrcConnectionSetup_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionSetup_r8_IEs }, { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -21946,44 +28989,44 @@ static const per_choice_t T_c1_24_choice[] = { }; static int -dissect_lte_rrc_T_c1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_24, T_c1_24_choice, + ett_lte_rrc_T_c1_28, T_c1_28_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_25_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_29_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_25_choice[] = { - { 0, &hf_lte_rrc_c1_24 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_24 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_25 }, +static const per_choice_t T_criticalExtensions_29_choice[] = { + { 0, &hf_lte_rrc_c1_28 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_28 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_29 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice, + ett_lte_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice, NULL); return offset; @@ -21992,7 +29035,7 @@ dissect_lte_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionSetup_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_25 }, + { &hf_lte_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_29 }, { NULL, 0, 0, NULL } }; @@ -22026,7 +29069,7 @@ dissect_lte_rrc_RRCConnectionSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string lte_rrc_T_c1_03_vals[] = { +static const value_string lte_rrc_T_c1_07_vals[] = { { 0, "rrcConnectionReestablishment" }, { 1, "rrcConnectionReestablishmentReject" }, { 2, "rrcConnectionReject" }, @@ -22034,7 +29077,7 @@ static const value_string lte_rrc_T_c1_03_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_03_choice[] = { +static const per_choice_t T_c1_07_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishment, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishment }, { 1, &hf_lte_rrc_rrcConnectionReestablishmentReject, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishmentReject }, { 2, &hf_lte_rrc_rrcConnectionReject, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReject }, @@ -22043,9 +29086,9 @@ static const per_choice_t T_c1_03_choice[] = { }; static int -dissect_lte_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_03, T_c1_03_choice, + ett_lte_rrc_T_c1_07, T_c1_07_choice, NULL); return offset; @@ -22072,7 +29115,7 @@ static const value_string lte_rrc_DL_CCCH_MessageType_vals[] = { }; static const per_choice_t DL_CCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_03 }, + { 0, &hf_lte_rrc_c1_07 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_07 }, { 1, &hf_lte_rrc_messageClassExtension_03, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension_03 }, { 0, NULL, 0, NULL } }; @@ -22121,14 +29164,14 @@ dissect_lte_rrc_MobilityParametersCDMA2000(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t T_nonCriticalExtension_03_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_07_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence); + ett_lte_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence); return offset; } @@ -22136,7 +29179,7 @@ dissect_lte_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t CSFBParametersResponseCDMA2000_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_03 }, + { &hf_lte_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_07 }, { NULL, 0, 0, NULL } }; @@ -22152,7 +29195,7 @@ dissect_lte_rrc_CSFBParametersResponseCDMA2000_v8a0_IEs(tvbuff_t *tvb _U_, int o static const per_sequence_t CSFBParametersResponseCDMA2000_r8_IEs_sequence[] = { { &hf_lte_rrc_rand , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RAND_CDMA2000 }, { &hf_lte_rrc_mobilityParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MobilityParametersCDMA2000 }, - { &hf_lte_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSFBParametersResponseCDMA2000_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSFBParametersResponseCDMA2000_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -22165,35 +29208,35 @@ dissect_lte_rrc_CSFBParametersResponseCDMA2000_r8_IEs(tvbuff_t *tvb _U_, int off } -static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_03_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_07_vals[] = { { 0, "csfbParametersResponseCDMA2000-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_03_choice[] = { +static const per_choice_t T_criticalExtensions_07_choice[] = { { 0, &hf_lte_rrc_csfbParametersResponseCDMA2000_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CSFBParametersResponseCDMA2000_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_03 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_07 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice, + ett_lte_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice, NULL); return offset; @@ -22202,7 +29245,7 @@ dissect_lte_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t CSFBParametersResponseCDMA2000_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_03 }, + { &hf_lte_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_07 }, { NULL, 0, 0, NULL } }; @@ -22270,14 +29313,14 @@ dissect_lte_rrc_T_dedicatedInfoType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_04_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_08_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence); + ett_lte_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence); return offset; } @@ -22285,7 +29328,7 @@ dissect_lte_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t DLInformationTransfer_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_04 }, + { &hf_lte_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_08 }, { NULL, 0, 0, NULL } }; @@ -22300,7 +29343,7 @@ dissect_lte_rrc_DLInformationTransfer_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t DLInformationTransfer_r8_IEs_sequence[] = { { &hf_lte_rrc_dedicatedInfoType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dedicatedInfoType }, - { &hf_lte_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DLInformationTransfer_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DLInformationTransfer_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -22313,7 +29356,7 @@ dissect_lte_rrc_DLInformationTransfer_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_c1_08_vals[] = { +static const value_string lte_rrc_T_c1_12_vals[] = { { 0, "dlInformationTransfer-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -22321,7 +29364,7 @@ static const value_string lte_rrc_T_c1_08_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_08_choice[] = { +static const per_choice_t T_c1_12_choice[] = { { 0, &hf_lte_rrc_dlInformationTransfer_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_DLInformationTransfer_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -22330,44 +29373,44 @@ static const per_choice_t T_c1_08_choice[] = { }; static int -dissect_lte_rrc_T_c1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_08, T_c1_08_choice, + ett_lte_rrc_T_c1_12, T_c1_12_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_08_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_08, T_criticalExtensionsFuture_08_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_04_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_08_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_04_choice[] = { - { 0, &hf_lte_rrc_c1_08 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_08 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_04 }, +static const per_choice_t T_criticalExtensions_08_choice[] = { + { 0, &hf_lte_rrc_c1_12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_12 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_08, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_08 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice, + ett_lte_rrc_T_criticalExtensions_08, T_criticalExtensions_08_choice, NULL); return offset; @@ -22376,7 +29419,7 @@ dissect_lte_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t DLInformationTransfer_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_04 }, + { &hf_lte_rrc_criticalExtensions_08, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_08 }, { NULL, 0, 0, NULL } }; @@ -22392,22 +29435,6 @@ dissect_lte_rrc_DLInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string lte_rrc_CDMA2000_Type_vals[] = { - { 0, "type1XRTT" }, - { 1, "typeHRPD" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_CDMA2000_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, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - static const value_string lte_rrc_T_dualRxTxRedirectIndicator_r10_vals[] = { { 0, "true" }, { 0, NULL } @@ -22423,29 +29450,14 @@ dissect_lte_rrc_T_dualRxTxRedirectIndicator_r10(tvbuff_t *tvb _U_, int offset _U } -static const per_sequence_t CarrierFreqCDMA2000_sequence[] = { - { &hf_lte_rrc_bandClass , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandclassCDMA2000 }, - { &hf_lte_rrc_arfcn , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueCDMA2000 }, +static const per_sequence_t T_nonCriticalExtension_09_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_CarrierFreqCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqCDMA2000, CarrierFreqCDMA2000_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_05_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence); + ett_lte_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence); return offset; } @@ -22454,7 +29466,7 @@ dissect_lte_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t HandoverFromEUTRAPreparationRequest_v1020_IEs_sequence[] = { { &hf_lte_rrc_dualRxTxRedirectIndicator_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dualRxTxRedirectIndicator_r10 }, { &hf_lte_rrc_redirectCarrierCDMA2000_1XRTT_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqCDMA2000 }, - { &hf_lte_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_05 }, + { &hf_lte_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_09 }, { NULL, 0, 0, NULL } }; @@ -22469,7 +29481,7 @@ dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v1020_IEs(tvbuff_t *tvb _U_, static const per_sequence_t HandoverFromEUTRAPreparationRequest_v920_IEs_sequence[] = { { &hf_lte_rrc_concurrPrepCDMA2000_HRPD_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_21, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -22484,7 +29496,7 @@ dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v920_IEs(tvbuff_t *tvb _U_, static const per_sequence_t HandoverFromEUTRAPreparationRequest_v890_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -22501,7 +29513,7 @@ static const per_sequence_t HandoverFromEUTRAPreparationRequest_r8_IEs_sequence[ { &hf_lte_rrc_cdma2000_Type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CDMA2000_Type }, { &hf_lte_rrc_rand , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RAND_CDMA2000 }, { &hf_lte_rrc_mobilityParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityParametersCDMA2000 }, - { &hf_lte_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v890_IEs }, + { &hf_lte_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_v890_IEs }, { NULL, 0, 0, NULL } }; @@ -22514,7 +29526,7 @@ dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_r8_IEs(tvbuff_t *tvb _U_, in } -static const value_string lte_rrc_T_c1_09_vals[] = { +static const value_string lte_rrc_T_c1_13_vals[] = { { 0, "handoverFromEUTRAPreparationRequest-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -22522,7 +29534,7 @@ static const value_string lte_rrc_T_c1_09_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_09_choice[] = { +static const per_choice_t T_c1_13_choice[] = { { 0, &hf_lte_rrc_handoverFromEUTRAPreparationRequest_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -22531,44 +29543,44 @@ static const per_choice_t T_c1_09_choice[] = { }; static int -dissect_lte_rrc_T_c1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_09, T_c1_09_choice, + ett_lte_rrc_T_c1_13, T_c1_13_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_09, T_criticalExtensionsFuture_09_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_05_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_09_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_05_choice[] = { - { 0, &hf_lte_rrc_c1_09 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_09 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_05 }, +static const per_choice_t T_criticalExtensions_09_choice[] = { + { 0, &hf_lte_rrc_c1_13 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_13 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_09 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice, + ett_lte_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice, NULL); return offset; @@ -22577,7 +29589,7 @@ dissect_lte_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t HandoverFromEUTRAPreparationRequest_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_05 }, + { &hf_lte_rrc_criticalExtensions_09, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_09 }, { NULL, 0, 0, NULL } }; @@ -22829,21 +29841,6 @@ dissect_lte_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const per_sequence_t PhysCellIdGERAN_sequence[] = { - { &hf_lte_rrc_networkColourCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_3 }, - { &hf_lte_rrc_baseStationColourCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysCellIdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysCellIdGERAN, PhysCellIdGERAN_sequence); - - return offset; -} - - static const per_sequence_t CarrierFreqGERAN_sequence[] = { { &hf_lte_rrc_arfcn_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueGERAN }, { &hf_lte_rrc_bandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandIndicatorGERAN }, @@ -22933,14 +29930,14 @@ dissect_lte_rrc_T_purpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t T_nonCriticalExtension_14_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_18_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence); + ett_lte_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence); return offset; } @@ -22948,7 +29945,7 @@ dissect_lte_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t MobilityFromEUTRACommand_v8d0_IEs_sequence[] = { { &hf_lte_rrc_bandIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BandIndicatorGERAN }, - { &hf_lte_rrc_nonCriticalExtension_30, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_14 }, + { &hf_lte_rrc_nonCriticalExtension_39, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_18 }, { NULL, 0, 0, NULL } }; @@ -22963,7 +29960,7 @@ dissect_lte_rrc_MobilityFromEUTRACommand_v8d0_IEs(tvbuff_t *tvb _U_, int offset static const per_sequence_t MobilityFromEUTRACommand_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_29, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v8d0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v8d0_IEs }, { NULL, 0, 0, NULL } }; @@ -22979,7 +29976,7 @@ dissect_lte_rrc_MobilityFromEUTRACommand_v8a0_IEs(tvbuff_t *tvb _U_, int offset static const per_sequence_t MobilityFromEUTRACommand_r8_IEs_sequence[] = { { &hf_lte_rrc_cs_FallbackIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, { &hf_lte_rrc_purpose , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose }, - { &hf_lte_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -23049,14 +30046,14 @@ dissect_lte_rrc_T_purpose_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_nonCriticalExtension_15_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_19_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence); + ett_lte_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence); return offset; } @@ -23064,7 +30061,7 @@ dissect_lte_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t MobilityFromEUTRACommand_v960_IEs_sequence[] = { { &hf_lte_rrc_bandIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BandIndicatorGERAN }, - { &hf_lte_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_15 }, + { &hf_lte_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_19 }, { NULL, 0, 0, NULL } }; @@ -23079,7 +30076,7 @@ dissect_lte_rrc_MobilityFromEUTRACommand_v960_IEs(tvbuff_t *tvb _U_, int offset static const per_sequence_t MobilityFromEUTRACommand_v930_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v960_IEs }, + { &hf_lte_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v960_IEs }, { NULL, 0, 0, NULL } }; @@ -23095,7 +30092,7 @@ dissect_lte_rrc_MobilityFromEUTRACommand_v930_IEs(tvbuff_t *tvb _U_, int offset static const per_sequence_t MobilityFromEUTRACommand_r9_IEs_sequence[] = { { &hf_lte_rrc_cs_FallbackIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, { &hf_lte_rrc_purpose_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose_01 }, - { &hf_lte_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v930_IEs }, + { &hf_lte_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityFromEUTRACommand_v930_IEs }, { NULL, 0, 0, NULL } }; @@ -23108,7 +30105,7 @@ dissect_lte_rrc_MobilityFromEUTRACommand_r9_IEs(tvbuff_t *tvb _U_, int offset _U } -static const value_string lte_rrc_T_c1_16_vals[] = { +static const value_string lte_rrc_T_c1_20_vals[] = { { 0, "mobilityFromEUTRACommand-r8" }, { 1, "mobilityFromEUTRACommand-r9" }, { 2, "spare2" }, @@ -23116,7 +30113,7 @@ static const value_string lte_rrc_T_c1_16_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_16_choice[] = { +static const per_choice_t T_c1_20_choice[] = { { 0, &hf_lte_rrc_mobilityFromEUTRACommand_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MobilityFromEUTRACommand_r8_IEs }, { 1, &hf_lte_rrc_mobilityFromEUTRACommand_r9, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MobilityFromEUTRACommand_r9_IEs }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -23125,44 +30122,44 @@ static const per_choice_t T_c1_16_choice[] = { }; static int -dissect_lte_rrc_T_c1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_16, T_c1_16_choice, + ett_lte_rrc_T_c1_20, T_c1_20_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_16, T_criticalExtensionsFuture_16_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_12_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_16_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_12_choice[] = { - { 0, &hf_lte_rrc_c1_16 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_16 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_12 }, +static const per_choice_t T_criticalExtensions_16_choice[] = { + { 0, &hf_lte_rrc_c1_20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_20 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_16 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice, + ett_lte_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice, NULL); return offset; @@ -23171,7 +30168,7 @@ dissect_lte_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t MobilityFromEUTRACommand_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_12 }, + { &hf_lte_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_16 }, { NULL, 0, 0, NULL } }; @@ -23187,2521 +30184,6 @@ dissect_lte_rrc_MobilityFromEUTRACommand(tvbuff_t *tvb _U_, int offset _U_, asn1 } - -static int -dissect_lte_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxObjectId, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = { - { &hf_lte_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, -}; - -static int -dissect_lte_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of, - 1, maxObjectId, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCellMeas, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CellIndexList_sequence_of[1] = { - { &hf_lte_rrc_CellIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIndex }, -}; - -static int -dissect_lte_rrc_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellIndexList, CellIndexList_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_maxCellMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCellMeas, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CellsToAddMod_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_OffsetRange }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddMod, CellsToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t CellsToAddModList_sequence_of[1] = { - { &hf_lte_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddMod }, -}; - -static int -dissect_lte_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModList, CellsToAddModList_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const per_sequence_t BlackCellsToAddMod_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_BlackCellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_BlackCellsToAddMod, BlackCellsToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t BlackCellsToAddModList_sequence_of[1] = { - { &hf_lte_rrc_BlackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BlackCellsToAddMod }, -}; - -static int -dissect_lte_rrc_BlackCellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_BlackCellsToAddModList, BlackCellsToAddModList_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const value_string lte_rrc_MeasCycleSCell_r10_vals[] = { - { 0, "sf160" }, - { 1, "sf256" }, - { 2, "sf320" }, - { 3, "sf512" }, - { 4, "sf640" }, - { 5, "sf1024" }, - { 6, "sf1280" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_MeasCycleSCell_r10(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t MeasSubframeCellList_r10_sequence_of[1] = { - { &hf_lte_rrc_MeasSubframeCellList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, -}; - -static int -dissect_lte_rrc_MeasSubframeCellList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasSubframeCellList_r10, MeasSubframeCellList_r10_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_53_sequence[] = { - { &hf_lte_rrc_measSubframePatternNeigh_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasSubframePattern_r10 }, - { &hf_lte_rrc_measSubframeCellList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframeCellList_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_53, T_setup_53_sequence); - - return offset; -} - - -static const value_string lte_rrc_MeasSubframePatternConfigNeigh_r10_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t MeasSubframePatternConfigNeigh_r10_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_56 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_53 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasSubframePatternConfigNeigh_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasSubframePatternConfigNeigh_r10, MeasSubframePatternConfigNeigh_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_eag_1_sequence[] = { - { &hf_lte_rrc_measCycleSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasCycleSCell_r10 }, - { &hf_lte_rrc_measSubframePatternConfigNeigh_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasSubframePatternConfigNeigh_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_eag_2_sequence[] = { - { &hf_lte_rrc_widebandRSRQ_Meas_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t AltTTT_CellsToAddMod_r12_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRange }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AltTTT_CellsToAddMod_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AltTTT_CellsToAddMod_r12, AltTTT_CellsToAddMod_r12_sequence); - - return offset; -} - - -static const per_sequence_t AltTTT_CellsToAddModList_r12_sequence_of[1] = { - { &hf_lte_rrc_AltTTT_CellsToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AltTTT_CellsToAddMod_r12 }, -}; - -static int -dissect_lte_rrc_AltTTT_CellsToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AltTTT_CellsToAddModList_r12, AltTTT_CellsToAddModList_r12_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_eag_3_sequence[] = { - { &hf_lte_rrc_altTTT_CellsToRemoveList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, - { &hf_lte_rrc_altTTT_CellsToAddModList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AltTTT_CellsToAddModList_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_3_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_t312_r12_vals[] = { - { 0, "ms0" }, - { 1, "ms50" }, - { 2, "ms100" }, - { 3, "ms200" }, - { 4, "ms300" }, - { 5, "ms400" }, - { 6, "ms500" }, - { 7, "ms1000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t312_r12(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, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 39U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 79U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 159U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_dmtc_PeriodOffset_r12_vals[] = { - { 0, "ms40-r12" }, - { 1, "ms80-r12" }, - { 2, "ms160-r12" }, - { 0, NULL } -}; - -static const per_choice_t T_dmtc_PeriodOffset_r12_choice[] = { - { 0, &hf_lte_rrc_ms40_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_39 }, - { 1, &hf_lte_rrc_ms80_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_79 }, - { 2, &hf_lte_rrc_ms160_r12 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_159 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_dmtc_PeriodOffset_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_dmtc_PeriodOffset_r12, T_dmtc_PeriodOffset_r12_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_maxDS_Duration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxDS_Duration_r12, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_2_maxDS_Duration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 2U, maxDS_Duration_r12, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_ds_OccasionDuration_r12_vals[] = { - { 0, "durationFDD-r12" }, - { 1, "durationTDD-r12" }, - { 0, NULL } -}; - -static const per_choice_t T_ds_OccasionDuration_r12_choice[] = { - { 0, &hf_lte_rrc_durationFDD_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_1_maxDS_Duration_r12 }, - { 1, &hf_lte_rrc_durationTDD_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_INTEGER_2_maxDS_Duration_r12 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ds_OccasionDuration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ds_OccasionDuration_r12, T_ds_OccasionDuration_r12_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_MeasCSI_RS_Id_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCSI_RS_Meas_r12, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasCSI_RS_ToRemoveList_r12_sequence_of[1] = { - { &hf_lte_rrc_MeasCSI_RS_ToRemoveList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, -}; - -static int -dissect_lte_rrc_MeasCSI_RS_ToRemoveList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasCSI_RS_ToRemoveList_r12, MeasCSI_RS_ToRemoveList_r12_sequence_of, - 1, maxCSI_RS_Meas_r12, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 4U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasCSI_RS_Config_r12_sequence[] = { - { &hf_lte_rrc_measCSI_RS_Id_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, - { &hf_lte_rrc_physCellId_r12_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_scramblingIdentity_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_503 }, - { &hf_lte_rrc_resourceConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_31 }, - { &hf_lte_rrc_subframeOffset_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_4 }, - { &hf_lte_rrc_csi_RS_IndividualOffset_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_OffsetRange }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasCSI_RS_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasCSI_RS_Config_r12, MeasCSI_RS_Config_r12_sequence); - - return offset; -} - - -static const per_sequence_t MeasCSI_RS_ToAddModList_r12_sequence_of[1] = { - { &hf_lte_rrc_MeasCSI_RS_ToAddModList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Config_r12 }, -}; - -static int -dissect_lte_rrc_MeasCSI_RS_ToAddModList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasCSI_RS_ToAddModList_r12, MeasCSI_RS_ToAddModList_r12_sequence_of, - 1, maxCSI_RS_Meas_r12, FALSE); - - return offset; -} - - -static const per_sequence_t T_setup_51_sequence[] = { - { &hf_lte_rrc_dmtc_PeriodOffset_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dmtc_PeriodOffset_r12 }, - { &hf_lte_rrc_ds_OccasionDuration_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ds_OccasionDuration_r12 }, - { &hf_lte_rrc_measCSI_RS_ToRemoveList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasCSI_RS_ToRemoveList_r12 }, - { &hf_lte_rrc_measCSI_RS_ToAddModList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasCSI_RS_ToAddModList_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_51, T_setup_51_sequence); - - return offset; -} - - -static const value_string lte_rrc_MeasDS_Config_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t MeasDS_Config_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_54 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_51 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasDS_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasDS_Config_r12, MeasDS_Config_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_eag_4_sequence[] = { - { &hf_lte_rrc_t312_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_t312_r12 }, - { &hf_lte_rrc_reducedMeasPerformance_r12_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_measDS_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasDS_Config_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectEUTRA_eag_4_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_sequence[] = { - { &hf_lte_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, - { &hf_lte_rrc_allowedMeasBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AllowedMeasBandwidth }, - { &hf_lte_rrc_presenceAntennaPort1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PresenceAntennaPort1 }, - { &hf_lte_rrc_neighCellConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellConfig }, - { &hf_lte_rrc_offsetFreq_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRange }, - { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, - { &hf_lte_rrc_cellsToAddModList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellsToAddModList }, - { &hf_lte_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, - { &hf_lte_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BlackCellsToAddModList }, - { &hf_lte_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellId }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_3 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectEUTRA_eag_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_Q_OffsetRangeInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -15, 15U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - - -static int -dissect_lte_rrc_PhysCellIdUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 511U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CellsToAddModUTRA_FDD_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellId_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_FDD }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellsToAddModUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModUTRA_FDD, CellsToAddModUTRA_FDD_sequence); - - return offset; -} - - -static const per_sequence_t CellsToAddModListUTRA_FDD_sequence_of[1] = { - { &hf_lte_rrc_CellsToAddModListUTRA_FDD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModUTRA_FDD }, -}; - -static int -dissect_lte_rrc_CellsToAddModListUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModListUTRA_FDD, CellsToAddModListUTRA_FDD_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_PhysCellIdUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 127U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t CellsToAddModUTRA_TDD_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellId_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_TDD }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellsToAddModUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModUTRA_TDD, CellsToAddModUTRA_TDD_sequence); - - return offset; -} - - -static const per_sequence_t CellsToAddModListUTRA_TDD_sequence_of[1] = { - { &hf_lte_rrc_CellsToAddModListUTRA_TDD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModUTRA_TDD }, -}; - -static int -dissect_lte_rrc_CellsToAddModListUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModListUTRA_TDD, CellsToAddModListUTRA_TDD_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_cellsToAddModList_vals[] = { - { 0, "cellsToAddModListUTRA-FDD" }, - { 1, "cellsToAddModListUTRA-TDD" }, - { 0, NULL } -}; - -static const per_choice_t T_cellsToAddModList_choice[] = { - { 0, &hf_lte_rrc_cellsToAddModListUTRA_FDD, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CellsToAddModListUTRA_FDD }, - { 1, &hf_lte_rrc_cellsToAddModListUTRA_TDD, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CellsToAddModListUTRA_TDD }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellsToAddModList, T_cellsToAddModList_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_cellForWhichToReportCGI_vals[] = { - { 0, "utra-FDD" }, - { 1, "utra-TDD" }, - { 0, NULL } -}; - -static const per_choice_t T_cellForWhichToReportCGI_choice[] = { - { 0, &hf_lte_rrc_utra_FDD_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_PhysCellIdUTRA_FDD }, - { 1, &hf_lte_rrc_utra_TDD_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_PhysCellIdUTRA_TDD }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellForWhichToReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellForWhichToReportCGI, T_cellForWhichToReportCGI_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_2_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 2U, 512U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t PhysCellIdRangeUTRA_FDD_r9_sequence[] = { - { &hf_lte_rrc_start_r9 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdUTRA_FDD }, - { &hf_lte_rrc_range_r9 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_2_512 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysCellIdRangeUTRA_FDD_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysCellIdRangeUTRA_FDD_r9, PhysCellIdRangeUTRA_FDD_r9_sequence); - - return offset; -} - - -static const per_sequence_t PhysCellIdRangeUTRA_FDDList_r9_sequence_of[1] = { - { &hf_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdRangeUTRA_FDD_r9 }, -}; - -static int -dissect_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9, PhysCellIdRangeUTRA_FDDList_r9_sequence_of, - 1, maxPhysCellIdRange_r9, FALSE); - - return offset; -} - - -static const per_sequence_t CSG_AllowedReportingCells_r9_sequence[] = { - { &hf_lte_rrc_physCellIdRangeUTRA_FDDList_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdRangeUTRA_FDDList_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CSG_AllowedReportingCells_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CSG_AllowedReportingCells_r9, CSG_AllowedReportingCells_r9_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectUTRA_eag_1_sequence[] = { - { &hf_lte_rrc_csg_allowedReportingCells_v930, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSG_AllowedReportingCells_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectUTRA_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectUTRA_eag_2_sequence[] = { - { &hf_lte_rrc_reducedMeasPerformance_r12_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectUTRA_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectUTRA_sequence[] = { - { &hf_lte_rrc_carrierFreq_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, - { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, - { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, - { &hf_lte_rrc_cellsToAddModList_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellsToAddModList }, - { &hf_lte_rrc_cellForWhichToReportCGI_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellForWhichToReportCGI }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectUTRA_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectUTRA_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectUTRA, MeasObjectUTRA_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectGERAN_sequence[] = { - { &hf_lte_rrc_carrierFreqs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqsGERAN }, - { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, - { &hf_lte_rrc_ncc_Permitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_8 }, - { &hf_lte_rrc_cellForWhichToReportCGI_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdGERAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectGERAN, MeasObjectGERAN_sequence); - - return offset; -} - - -static const per_sequence_t CellsToAddModCDMA2000_sequence[] = { - { &hf_lte_rrc_cellIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellMeas }, - { &hf_lte_rrc_physCellId_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellIdCDMA2000 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CellsToAddModCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModCDMA2000, CellsToAddModCDMA2000_sequence); - - return offset; -} - - -static const per_sequence_t CellsToAddModListCDMA2000_sequence_of[1] = { - { &hf_lte_rrc_CellsToAddModListCDMA2000_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellsToAddModCDMA2000 }, -}; - -static int -dissect_lte_rrc_CellsToAddModListCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CellsToAddModListCDMA2000, CellsToAddModListCDMA2000_sequence_of, - 1, maxCellMeas, FALSE); - - return offset; -} - - -static const per_sequence_t MeasObjectCDMA2000_sequence[] = { - { &hf_lte_rrc_cdma2000_Type, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CDMA2000_Type }, - { &hf_lte_rrc_carrierFreq_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqCDMA2000 }, - { &hf_lte_rrc_searchWindowSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_offsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRangeInterRAT }, - { &hf_lte_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellIndexList }, - { &hf_lte_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellsToAddModListCDMA2000 }, - { &hf_lte_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysCellIdCDMA2000 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectCDMA2000, MeasObjectCDMA2000_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_measObject_vals[] = { - { 0, "measObjectEUTRA" }, - { 1, "measObjectUTRA" }, - { 2, "measObjectGERAN" }, - { 3, "measObjectCDMA2000" }, - { 0, NULL } -}; - -static const per_choice_t T_measObject_choice[] = { - { 0, &hf_lte_rrc_measObjectEUTRA, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectEUTRA }, - { 1, &hf_lte_rrc_measObjectUTRA, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectUTRA }, - { 2, &hf_lte_rrc_measObjectGERAN, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectGERAN }, - { 3, &hf_lte_rrc_measObjectCDMA2000, ASN1_EXTENSION_ROOT , dissect_lte_rrc_MeasObjectCDMA2000 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_measObject, T_measObject_choice, - NULL); - - return offset; -} - - -static const per_sequence_t MeasObjectToAddMod_sequence[] = { - { &hf_lte_rrc_measObjectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, - { &hf_lte_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measObject }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = { - { &hf_lte_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectToAddMod }, -}; - -static int -dissect_lte_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of, - 1, maxObjectId, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxReportConfigId, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = { - { &hf_lte_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, -}; - -static int -dissect_lte_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of, - 1, maxReportConfigId, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_Threshold_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_lte_rrc_RSRP_Range(tvb, offset, actx, tree, hf_index); - - return offset; -} - - - -static int -dissect_lte_rrc_Threshold_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_lte_rrc_RSRQ_Range(tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const value_string lte_rrc_ThresholdEUTRA_vals[] = { - { 0, "threshold-RSRP" }, - { 1, "threshold-RSRQ" }, - { 0, NULL } -}; - -static const per_choice_t ThresholdEUTRA_choice[] = { - { 0, &hf_lte_rrc_threshold_RSRP, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_RSRP_Range }, - { 1, &hf_lte_rrc_threshold_RSRQ, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_RSRQ_Range }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_ThresholdEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ThresholdEUTRA, ThresholdEUTRA_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_eventA1_sequence[] = { - { &hf_lte_rrc_a1_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA1, T_eventA1_sequence); - - return offset; -} - - -static const per_sequence_t T_eventA2_sequence[] = { - { &hf_lte_rrc_a2_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA2, T_eventA2_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -30, 30U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_eventA3_sequence[] = { - { &hf_lte_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, - { &hf_lte_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA3, T_eventA3_sequence); - - return offset; -} - - -static const per_sequence_t T_eventA4_sequence[] = { - { &hf_lte_rrc_a4_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA4, T_eventA4_sequence); - - return offset; -} - - -static const per_sequence_t T_eventA5_sequence[] = { - { &hf_lte_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { &hf_lte_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA5, T_eventA5_sequence); - - return offset; -} - - -static const per_sequence_t T_eventA6_r10_sequence[] = { - { &hf_lte_rrc_a6_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, - { &hf_lte_rrc_a6_ReportOnLeave_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventA6_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventA6_r10, T_eventA6_r10_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_CSI_RSRP_Range_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 97U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_ThresholdEUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_lte_rrc_CSI_RSRP_Range_r12(tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const per_sequence_t T_eventC1_r12_sequence[] = { - { &hf_lte_rrc_c1_Threshold_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA_v12xy }, - { &hf_lte_rrc_c1_ReportOnLeave_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventC1_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventC1_r12, T_eventC1_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_eventC2_r12_sequence[] = { - { &hf_lte_rrc_c2_RefCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasCSI_RS_Id_r12 }, - { &hf_lte_rrc_c2_Offset_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M30_30 }, - { &hf_lte_rrc_c2_ReportOnLeave_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventC2_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventC2_r12, T_eventC2_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_eventId_vals[] = { - { 0, "eventA1" }, - { 1, "eventA2" }, - { 2, "eventA3" }, - { 3, "eventA4" }, - { 4, "eventA5" }, - { 5, "eventA6-r10" }, - { 6, "eventC1-r12" }, - { 7, "eventC2-r12" }, - { 0, NULL } -}; - -static const per_choice_t T_eventId_choice[] = { - { 0, &hf_lte_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA1 }, - { 1, &hf_lte_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA2 }, - { 2, &hf_lte_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA3 }, - { 3, &hf_lte_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA4 }, - { 4, &hf_lte_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventA5 }, - { 5, &hf_lte_rrc_eventA6_r10 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventA6_r10 }, - { 6, &hf_lte_rrc_eventC1_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventC1_r12 }, - { 7, &hf_lte_rrc_eventC2_r12 , ASN1_NOT_EXTENSION_ROOT, dissect_lte_rrc_T_eventC2_r12 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventId, T_eventId_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 30U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_TimeToTrigger_vals[] = { - { 0, "ms0" }, - { 1, "ms40" }, - { 2, "ms64" }, - { 3, "ms80" }, - { 4, "ms100" }, - { 5, "ms128" }, - { 6, "ms160" }, - { 7, "ms256" }, - { 8, "ms320" }, - { 9, "ms480" }, - { 10, "ms512" }, - { 11, "ms640" }, - { 12, "ms1024" }, - { 13, "ms1280" }, - { 14, "ms2560" }, - { 15, "ms5120" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_TimeToTrigger(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_event_sequence[] = { - { &hf_lte_rrc_eventId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eventId }, - { &hf_lte_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Hysteresis }, - { &hf_lte_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeToTrigger }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_event(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_event, T_event_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_purpose_02_vals[] = { - { 0, "reportStrongestCells" }, - { 1, "reportCGI" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_purpose_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_periodical_sequence[] = { - { &hf_lte_rrc_purpose_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose_02 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_periodical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_periodical, T_periodical_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_triggerType_vals[] = { - { 0, "event" }, - { 1, "periodical" }, - { 0, NULL } -}; - -static const per_choice_t T_triggerType_choice[] = { - { 0, &hf_lte_rrc_event , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_event }, - { 1, &hf_lte_rrc_periodical , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_periodical }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_triggerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_triggerType, T_triggerType_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_triggerQuantity_vals[] = { - { 0, "rsrp" }, - { 1, "rsrq" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_triggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_reportQuantity_vals[] = { - { 0, "sameAsTriggerQuantity" }, - { 1, "both" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxCellReport, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_ReportInterval_vals[] = { - { 0, "ms120" }, - { 1, "ms240" }, - { 2, "ms480" }, - { 3, "ms640" }, - { 4, "ms1024" }, - { 5, "ms2048" }, - { 6, "ms5120" }, - { 7, "ms10240" }, - { 8, "min1" }, - { 9, "min6" }, - { 10, "min12" }, - { 11, "min30" }, - { 12, "min60" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_ReportInterval(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_reportAmount_vals[] = { - { 0, "r1" }, - { 1, "r2" }, - { 2, "r4" }, - { 3, "r8" }, - { 4, "r16" }, - { 5, "r32" }, - { 6, "r64" }, - { 7, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportAmount(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_si_RequestForHO_r9_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_si_RequestForHO_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigEUTRA_eag_1_sequence[] = { - { &hf_lte_rrc_si_RequestForHO_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_si_RequestForHO_r9 }, - { &hf_lte_rrc_ue_RxTxTimeDiffPeriodical_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_RxTxTimeDiffPeriodical_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigEUTRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_includeLocationInfo_r10_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_includeLocationInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_reportAddNeighMeas_r10_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportAddNeighMeas_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigEUTRA_eag_2_sequence[] = { - { &hf_lte_rrc_includeLocationInfo_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_includeLocationInfo_r10 }, - { &hf_lte_rrc_reportAddNeighMeas_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportAddNeighMeas_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigEUTRA_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_2_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_useT312_r12_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_useT312_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_usePSCell_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_usePSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_RSRQ_Range_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -30, 46U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_reportStrongestCSI_RSs_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportStrongestCSI_RSs_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_reportCRS_Meas_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportCRS_Meas_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_triggerQuantityCSI_RS_r12_vals[] = { - { 0, "csi-RSRP-r12" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_triggerQuantityCSI_RS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigEUTRA_eag_3_sequence[] = { - { &hf_lte_rrc_alternativeTimeToTrigger_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TimeToTrigger }, - { &hf_lte_rrc_useT312_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_useT312_r12 }, - { &hf_lte_rrc_usePSCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_usePSCell_r12 }, - { &hf_lte_rrc_aN_Threshold1_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, - { &hf_lte_rrc_a5_Threshold2_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, - { &hf_lte_rrc_reportStrongestCSI_RSs_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportStrongestCSI_RSs_r12 }, - { &hf_lte_rrc_reportCRS_Meas_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportCRS_Meas_r12 }, - { &hf_lte_rrc_triggerQuantityCSI_RS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_triggerQuantityCSI_RS_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigEUTRA_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigEUTRA_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t ReportConfigEUTRA_sequence[] = { - { &hf_lte_rrc_triggerType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerType }, - { &hf_lte_rrc_triggerQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerQuantity }, - { &hf_lte_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportQuantity }, - { &hf_lte_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellReport }, - { &hf_lte_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportInterval }, - { &hf_lte_rrc_reportAmount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportAmount }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigEUTRA_eag_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportConfigEUTRA, ReportConfigEUTRA_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_Threshold_utra_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -5, 91U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_Threshold_utra_EcN0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 49U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_ThresholdUTRA_vals[] = { - { 0, "utra-RSCP" }, - { 1, "utra-EcN0" }, - { 0, NULL } -}; - -static const per_choice_t ThresholdUTRA_choice[] = { - { 0, &hf_lte_rrc_utra_RSCP_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_utra_RSRP }, - { 1, &hf_lte_rrc_utra_EcN0_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_Threshold_utra_EcN0 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_ThresholdUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ThresholdUTRA, ThresholdUTRA_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_ThresholdGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 63U, NULL, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_ThresholdCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 63U, NULL, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_b1_Threshold_vals[] = { - { 0, "b1-ThresholdUTRA" }, - { 1, "b1-ThresholdGERAN" }, - { 2, "b1-ThresholdCDMA2000" }, - { 0, NULL } -}; - -static const per_choice_t T_b1_Threshold_choice[] = { - { 0, &hf_lte_rrc_b1_ThresholdUTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdUTRA }, - { 1, &hf_lte_rrc_b1_ThresholdGERAN, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdGERAN }, - { 2, &hf_lte_rrc_b1_ThresholdCDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdCDMA2000 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_b1_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_b1_Threshold, T_b1_Threshold_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_eventB1_sequence[] = { - { &hf_lte_rrc_b1_Threshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_b1_Threshold }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventB1, T_eventB1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_b2_Threshold2_vals[] = { - { 0, "b2-Threshold2UTRA" }, - { 1, "b2-Threshold2GERAN" }, - { 2, "b2-Threshold2CDMA2000" }, - { 0, NULL } -}; - -static const per_choice_t T_b2_Threshold2_choice[] = { - { 0, &hf_lte_rrc_b2_Threshold2UTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdUTRA }, - { 1, &hf_lte_rrc_b2_Threshold2GERAN, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdGERAN }, - { 2, &hf_lte_rrc_b2_Threshold2CDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ThresholdCDMA2000 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_b2_Threshold2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_b2_Threshold2, T_b2_Threshold2_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_eventB2_sequence[] = { - { &hf_lte_rrc_b2_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ThresholdEUTRA }, - { &hf_lte_rrc_b2_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_b2_Threshold2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventB2, T_eventB2_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_eventId_01_vals[] = { - { 0, "eventB1" }, - { 1, "eventB2" }, - { 0, NULL } -}; - -static const per_choice_t T_eventId_01_choice[] = { - { 0, &hf_lte_rrc_eventB1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventB1 }, - { 1, &hf_lte_rrc_eventB2 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_T_eventB2 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_eventId_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_eventId_01, T_eventId_01_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_event_01_sequence[] = { - { &hf_lte_rrc_eventId_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_eventId_01 }, - { &hf_lte_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Hysteresis }, - { &hf_lte_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TimeToTrigger }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_event_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_event_01, T_event_01_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_purpose_03_vals[] = { - { 0, "reportStrongestCells" }, - { 1, "reportStrongestCellsForSON" }, - { 2, "reportCGI" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_purpose_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_periodical_01_sequence[] = { - { &hf_lte_rrc_purpose_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_purpose_03 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_periodical_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_periodical_01, T_periodical_01_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_triggerType_01_vals[] = { - { 0, "event" }, - { 1, "periodical" }, - { 0, NULL } -}; - -static const per_choice_t T_triggerType_01_choice[] = { - { 0, &hf_lte_rrc_event_01 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_event_01 }, - { 1, &hf_lte_rrc_periodical_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_periodical_01 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_triggerType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_triggerType_01, T_triggerType_01_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_reportAmount_01_vals[] = { - { 0, "r1" }, - { 1, "r2" }, - { 2, "r4" }, - { 3, "r8" }, - { 4, "r16" }, - { 5, "r32" }, - { 6, "r64" }, - { 7, "infinity" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportAmount_01(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_si_RequestForHO_r9_01_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_si_RequestForHO_r9_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigInterRAT_eag_1_sequence[] = { - { &hf_lte_rrc_si_RequestForHO_r9_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_si_RequestForHO_r9_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigInterRAT_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_1_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_reportQuantityUTRA_FDD_r10_vals[] = { - { 0, "both" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reportQuantityUTRA_FDD_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigInterRAT_eag_2_sequence[] = { - { &hf_lte_rrc_reportQuantityUTRA_FDD_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reportQuantityUTRA_FDD_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigInterRAT_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t ReportConfigInterRAT_eag_3_sequence[] = { - { &hf_lte_rrc_includeLocationInfo_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigInterRAT_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t ReportConfigInterRAT_eag_4_sequence[] = { - { &hf_lte_rrc_b2_Threshold1_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigInterRAT_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportConfigInterRAT_eag_4_sequence); - - return offset; -} - - -static const per_sequence_t ReportConfigInterRAT_sequence[] = { - { &hf_lte_rrc_triggerType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_triggerType_01 }, - { &hf_lte_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxCellReport }, - { &hf_lte_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportInterval }, - { &hf_lte_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportAmount_01 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_3 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigInterRAT_eag_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportConfigInterRAT, ReportConfigInterRAT_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_reportConfig_vals[] = { - { 0, "reportConfigEUTRA" }, - { 1, "reportConfigInterRAT" }, - { 0, NULL } -}; - -static const per_choice_t T_reportConfig_choice[] = { - { 0, &hf_lte_rrc_reportConfigEUTRA, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ReportConfigEUTRA }, - { 1, &hf_lte_rrc_reportConfigInterRAT, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ReportConfigInterRAT }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_reportConfig, T_reportConfig_choice, - NULL); - - return offset; -} - - -static const per_sequence_t ReportConfigToAddMod_sequence[] = { - { &hf_lte_rrc_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, - { &hf_lte_rrc_reportConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_reportConfig }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = { - { &hf_lte_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigToAddMod }, -}; - -static int -dissect_lte_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of, - 1, maxReportConfigId, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, maxMeasId, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = { - { &hf_lte_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId }, -}; - -static int -dissect_lte_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of, - 1, maxMeasId, FALSE); - - return offset; -} - - -static const per_sequence_t MeasIdToAddMod_sequence[] = { - { &hf_lte_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId }, - { &hf_lte_rrc_measObjectId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, - { &hf_lte_rrc_reportConfigId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence); - - return offset; -} - - -static const per_sequence_t MeasIdToAddModList_sequence_of[1] = { - { &hf_lte_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasIdToAddMod }, -}; - -static int -dissect_lte_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of, - 1, maxMeasId, FALSE); - - return offset; -} - - -static const per_sequence_t QuantityConfigEUTRA_sequence[] = { - { &hf_lte_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { &hf_lte_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigEUTRA, QuantityConfigEUTRA_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_measQuantityUTRA_FDD_vals[] = { - { 0, "cpich-RSCP" }, - { 1, "cpich-EcN0" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_measQuantityUTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_measQuantityUTRA_TDD_vals[] = { - { 0, "pccpch-RSCP" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_measQuantityUTRA_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t QuantityConfigUTRA_sequence[] = { - { &hf_lte_rrc_measQuantityUTRA_FDD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityUTRA_FDD }, - { &hf_lte_rrc_measQuantityUTRA_TDD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityUTRA_TDD }, - { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigUTRA, QuantityConfigUTRA_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_measQuantityGERAN_vals[] = { - { 0, "rssi" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_measQuantityGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t QuantityConfigGERAN_sequence[] = { - { &hf_lte_rrc_measQuantityGERAN, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityGERAN }, - { &hf_lte_rrc_filterCoefficient, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigGERAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigGERAN, QuantityConfigGERAN_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_measQuantityCDMA2000_vals[] = { - { 0, "pilotStrength" }, - { 1, "pilotPnPhaseAndPilotStrength" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_measQuantityCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t QuantityConfigCDMA2000_sequence[] = { - { &hf_lte_rrc_measQuantityCDMA2000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measQuantityCDMA2000 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigCDMA2000, QuantityConfigCDMA2000_sequence); - - return offset; -} - - -static const per_sequence_t QuantityConfigUTRA_v1020_sequence[] = { - { &hf_lte_rrc_filterCoefficient2_FDD_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigUTRA_v1020(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigUTRA_v1020, QuantityConfigUTRA_v1020_sequence); - - return offset; -} - - -static const per_sequence_t QuantityConfig_eag_1_sequence[] = { - { &hf_lte_rrc_quantityConfigUTRA_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigUTRA_v1020 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t QuantityConfigEUTRA_v12xy_sequence[] = { - { &hf_lte_rrc_filterCoefficientCSI_RSRP_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfigEUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfigEUTRA_v12xy, QuantityConfigEUTRA_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t QuantityConfig_eag_2_sequence[] = { - { &hf_lte_rrc_quantityConfigEUTRA_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigEUTRA_v12xy }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t QuantityConfig_sequence[] = { - { &hf_lte_rrc_quantityConfigEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigEUTRA }, - { &hf_lte_rrc_quantityConfigUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigUTRA }, - { &hf_lte_rrc_quantityConfigGERAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigGERAN }, - { &hf_lte_rrc_quantityConfigCDMA2000, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfigCDMA2000 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_QuantityConfig_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_QuantityConfig_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_QuantityConfig, QuantityConfig_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_gapOffset_vals[] = { - { 0, "gp0" }, - { 1, "gp1" }, - { 0, NULL } -}; - -static const per_choice_t T_gapOffset_choice[] = { - { 0, &hf_lte_rrc_gp0 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_39 }, - { 1, &hf_lte_rrc_gp1 , ASN1_EXTENSION_ROOT , dissect_lte_rrc_INTEGER_0_79 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_gapOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_gapOffset, T_gapOffset_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_setup_52_sequence[] = { - { &hf_lte_rrc_gapOffset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_gapOffset }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_52, T_setup_52_sequence); - - return offset; -} - - -static const value_string lte_rrc_MeasGapConfig_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t MeasGapConfig_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_55 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_52 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasGapConfig, MeasGapConfig_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_S_Measure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_lte_rrc_RSRP_Range(tvb, offset, actx, tree, hf_index); - - return offset; -} - - -static const per_sequence_t T_setup_50_sequence[] = { - { &hf_lte_rrc_mobilityStateParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MobilityStateParameters }, - { &hf_lte_rrc_timeToTrigger_SF, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SpeedStateScaleFactors }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_50, T_setup_50_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_speedStatePars_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_speedStatePars_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_52 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_50 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_speedStatePars(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_speedStatePars, T_speedStatePars_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - maxEARFCN_Plus1, maxEARFCN2, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasObjectEUTRA_v9e0_sequence[] = { - { &hf_lte_rrc_carrierFreq_v9e0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectEUTRA_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectEUTRA_v9e0, MeasObjectEUTRA_v9e0_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectToAddMod_v9e0_sequence[] = { - { &hf_lte_rrc_measObjectEUTRA_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasObjectToAddMod_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectToAddMod_v9e0, MeasObjectToAddMod_v9e0_sequence); - - return offset; -} - - -static const per_sequence_t MeasObjectToAddModList_v9e0_sequence_of[1] = { - { &hf_lte_rrc_MeasObjectToAddModList_v9e0_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectToAddMod_v9e0 }, -}; - -static int -dissect_lte_rrc_MeasObjectToAddModList_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasObjectToAddModList_v9e0, MeasObjectToAddModList_v9e0_sequence_of, - 1, maxObjectId, FALSE); - - return offset; -} - - -static const per_sequence_t MeasConfig_eag_1_sequence[] = { - { &hf_lte_rrc_measObjectToAddModList_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToAddModList_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t MeasConfig_eag_2_sequence[] = { - { &hf_lte_rrc_allowInterruptions_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_2_sequence); - - return offset; -} - - -static const value_string lte_rrc_MeasScaleFactor_r12_vals[] = { - { 0, "sf-EUTRA-cf1" }, - { 1, "sf-EUTRA-cf2" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_MeasScaleFactor_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_measScaleFactor_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t T_measScaleFactor_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_53 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasScaleFactor_r12 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_measScaleFactor_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_measScaleFactor_r12, T_measScaleFactor_r12_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_MeasId_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - maxMeasId_Plus1, maxMeasId_r12, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t MeasIdToRemoveListExt_r12_sequence_of[1] = { - { &hf_lte_rrc_MeasIdToRemoveListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId_v12xy }, -}; - -static int -dissect_lte_rrc_MeasIdToRemoveListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToRemoveListExt_r12, MeasIdToRemoveListExt_r12_sequence_of, - 1, maxMeasId, FALSE); - - return offset; -} - - -static const per_sequence_t MeasIdToAddModExt_r12_sequence[] = { - { &hf_lte_rrc_measId_v12xy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasId_v12xy }, - { &hf_lte_rrc_measObjectId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasObjectId }, - { &hf_lte_rrc_reportConfigId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReportConfigId }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasIdToAddModExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToAddModExt_r12, MeasIdToAddModExt_r12_sequence); - - return offset; -} - - -static const per_sequence_t MeasIdToAddModListExt_r12_sequence_of[1] = { - { &hf_lte_rrc_MeasIdToAddModListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasIdToAddModExt_r12 }, -}; - -static int -dissect_lte_rrc_MeasIdToAddModListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasIdToAddModListExt_r12, MeasIdToAddModListExt_r12_sequence_of, - 1, maxMeasId, FALSE); - - return offset; -} - - -static const per_sequence_t MeasConfig_eag_3_sequence[] = { - { &hf_lte_rrc_measScaleFactor_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_measScaleFactor_r12 }, - { &hf_lte_rrc_measIdToRemoveListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToRemoveListExt_r12 }, - { &hf_lte_rrc_measIdToAddModListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToAddModListExt_r12 }, - { &hf_lte_rrc_measRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfig_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t MeasConfig_sequence[] = { - { &hf_lte_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToRemoveList }, - { &hf_lte_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasObjectToAddModList }, - { &hf_lte_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportConfigToRemoveList }, - { &hf_lte_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportConfigToAddModList }, - { &hf_lte_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToRemoveList }, - { &hf_lte_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasIdToAddModList }, - { &hf_lte_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_QuantityConfig }, - { &hf_lte_rrc_measGapConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasGapConfig }, - { &hf_lte_rrc_s_Measure , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_S_Measure }, - { &hf_lte_rrc_preRegistrationInfoHRPD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PreRegistrationInfoHRPD }, - { &hf_lte_rrc_speedStatePars, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_speedStatePars }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig_eag_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasConfig, MeasConfig_sequence); - - return offset; -} - - static const per_sequence_t CarrierFreqEUTRA_sequence[] = { { &hf_lte_rrc_dl_CarrierFreq, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, { &hf_lte_rrc_ul_CarrierFreq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA }, @@ -25814,53 +30296,6 @@ dissect_lte_rrc_T_t304_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } -static const per_sequence_t PRACH_Config_sequence[] = { - { &hf_lte_rrc_rootSequenceIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_837 }, - { &hf_lte_rrc_prach_ConfigInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_ConfigInfo }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PRACH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PRACH_Config, PRACH_Config_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_antennaPortsCount_vals[] = { - { 0, "an1" }, - { 1, "an2" }, - { 2, "an4" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_antennaPortsCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t AntennaInfoCommon_sequence[] = { - { &hf_lte_rrc_antennaPortsCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_antennaPortsCount }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AntennaInfoCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AntennaInfoCommon, AntennaInfoCommon_sequence); - - return offset; -} - - static const per_sequence_t RadioResourceConfigCommon_eag_1_sequence[] = { { &hf_lte_rrc_uplinkPowerControlCommon_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlCommon_v1020 }, { NULL, 0, 0, NULL } @@ -25914,21 +30349,6 @@ dissect_lte_rrc_RadioResourceConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t RACH_ConfigDedicated_sequence[] = { - { &hf_lte_rrc_ra_PreambleIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_63 }, - { &hf_lte_rrc_ra_PRACH_MaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence); - - return offset; -} - - static const per_sequence_t CarrierFreqEUTRA_v9e0_sequence[] = { { &hf_lte_rrc_dl_CarrierFreq_v9e0_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, { &hf_lte_rrc_ul_CarrierFreq_v9e0_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, @@ -26022,93 +30442,6 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedInfoNAS(tvbuff_t *tvb _U_, in } -static const value_string lte_rrc_CipheringAlgorithm_r12_vals[] = { - { 0, "eea0" }, - { 1, "eea1" }, - { 2, "eea2" }, - { 3, "eea3-v1130" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_CipheringAlgorithm_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - pdcp_security_info_t *p_security_algorithms; - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, &value, TRUE, 0, NULL); - - p_security_algorithms = private_data_pdcp_security_algorithms(actx); - p_security_algorithms->ciphering = (enum security_ciphering_algorithm_e)value; - - - return offset; -} - - -static const value_string lte_rrc_T_integrityProtAlgorithm_vals[] = { - { 0, "eia0-v920" }, - { 1, "eia1" }, - { 2, "eia2" }, - { 3, "eia3-v1130" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_integrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 value; - pdcp_security_info_t *p_security_algorithms; - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, &value, TRUE, 0, NULL); - - p_security_algorithms = private_data_pdcp_security_algorithms(actx); - p_security_algorithms->integrity = (enum security_integrity_algorithm_e)value; - - - return offset; -} - - -static const per_sequence_t SecurityAlgorithmConfig_sequence[] = { - { &hf_lte_rrc_cipheringAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CipheringAlgorithm_r12 }, - { &hf_lte_rrc_integrityProtAlgorithm, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_integrityProtAlgorithm }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - pdcp_lte_info *p_pdcp_lte_info; - pdcp_security_info_t *p_security_algorithms; - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence); - - p_security_algorithms = private_data_pdcp_security_algorithms(actx); - p_security_algorithms->configuration_frame = actx->pinfo->fd->num; - p_security_algorithms->previous_configuration_frame = 0; - p_security_algorithms->previous_integrity = eia0; - p_security_algorithms->previous_ciphering = eea0; - - /* Look for UE identifier */ - p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0); - if (p_pdcp_lte_info != NULL) { - /* Configure algorithms */ - set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms); - } - - - return offset; -} - - static const per_sequence_t T_intraLTE_sequence[] = { { &hf_lte_rrc_securityAlgorithmConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityAlgorithmConfig }, { &hf_lte_rrc_keyChangeIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, @@ -26197,265 +30530,6 @@ dissect_lte_rrc_SecurityConfigHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string lte_rrc_T_proximityIndicationEUTRA_r9_vals[] = { - { 0, "enabled" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_proximityIndicationEUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_proximityIndicationUTRA_r9_vals[] = { - { 0, "enabled" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_proximityIndicationUTRA_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ReportProximityConfig_r9_sequence[] = { - { &hf_lte_rrc_proximityIndicationEUTRA_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_proximityIndicationEUTRA_r9 }, - { &hf_lte_rrc_proximityIndicationUTRA_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_proximityIndicationUTRA_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReportProximityConfig_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReportProximityConfig_r9, ReportProximityConfig_r9_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_idc_Indication_r11_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_idc_Indication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_autonomousDenialSubframes_r11_vals[] = { - { 0, "n2" }, - { 1, "n5" }, - { 2, "n10" }, - { 3, "n15" }, - { 4, "n20" }, - { 5, "n30" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_autonomousDenialSubframes_r11(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_autonomousDenialValidity_r11_vals[] = { - { 0, "sf200" }, - { 1, "sf500" }, - { 2, "sf1000" }, - { 3, "sf2000" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_autonomousDenialValidity_r11(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_autonomousDenialParameters_r11_sequence[] = { - { &hf_lte_rrc_autonomousDenialSubframes_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_autonomousDenialSubframes_r11 }, - { &hf_lte_rrc_autonomousDenialValidity_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_autonomousDenialValidity_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_autonomousDenialParameters_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_autonomousDenialParameters_r11, T_autonomousDenialParameters_r11_sequence); - - return offset; -} - - -static const per_sequence_t IDC_Config_r11_sequence[] = { - { &hf_lte_rrc_idc_Indication_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_idc_Indication_r11 }, - { &hf_lte_rrc_autonomousDenialParameters_r11, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_autonomousDenialParameters_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_IDC_Config_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_IDC_Config_r11, IDC_Config_r11_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_powerPrefIndicationTimer_r11_vals[] = { - { 0, "s0" }, - { 1, "s0dot5" }, - { 2, "s1" }, - { 3, "s2" }, - { 4, "s5" }, - { 5, "s10" }, - { 6, "s20" }, - { 7, "s30" }, - { 8, "s60" }, - { 9, "s90" }, - { 10, "s120" }, - { 11, "s300" }, - { 12, "s600" }, - { 13, "spare3" }, - { 14, "spare2" }, - { 15, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_powerPrefIndicationTimer_r11(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, - 16, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_54_sequence[] = { - { &hf_lte_rrc_powerPrefIndicationTimer_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_powerPrefIndicationTimer_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_54, T_setup_54_sequence); - - return offset; -} - - -static const value_string lte_rrc_PowerPrefIndicationConfig_r11_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t PowerPrefIndicationConfig_r11_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_57 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_54 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_PowerPrefIndicationConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PowerPrefIndicationConfig_r11, PowerPrefIndicationConfig_r11_choice, - NULL); - - return offset; -} - - -static const value_string lte_rrc_T_obtainLocation_r11_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_obtainLocation_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t ObtainLocationConfig_r11_sequence[] = { - { &hf_lte_rrc_obtainLocation_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_obtainLocation_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ObtainLocationConfig_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ObtainLocationConfig_r11, ObtainLocationConfig_r11_sequence); - - return offset; -} - - -static const per_sequence_t OtherConfig_r9_eag_1_sequence[] = { - { &hf_lte_rrc_idc_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IDC_Config_r11 }, - { &hf_lte_rrc_powerPrefIndicationConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PowerPrefIndicationConfig_r11 }, - { &hf_lte_rrc_obtainLocationConfig_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ObtainLocationConfig_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_OtherConfig_r9_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, OtherConfig_r9_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t OtherConfig_r9_sequence[] = { - { &hf_lte_rrc_reportProximityConfig_r9, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_ReportProximityConfig_r9 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_OtherConfig_r9_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_OtherConfig_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_OtherConfig_r9, OtherConfig_r9_sequence); - - return offset; -} - - static const value_string lte_rrc_T_fullConfig_r9_vals[] = { { 0, "true" }, { 0, NULL } @@ -26472,703 +30546,6 @@ dissect_lte_rrc_T_fullConfig_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a -static int -dissect_lte_rrc_SCellIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 7U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t SCellToReleaseList_r10_sequence_of[1] = { - { &hf_lte_rrc_SCellToReleaseList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, -}; - -static int -dissect_lte_rrc_SCellToReleaseList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCellToReleaseList_r10, SCellToReleaseList_r10_sequence_of, - 1, maxSCell_r10, FALSE); - - return offset; -} - - -static const per_sequence_t T_cellIdentification_r10_sequence[] = { - { &hf_lte_rrc_physCellId_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_dl_CarrierFreq_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellIdentification_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellIdentification_r10, T_cellIdentification_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_dl_Bandwidth_r10_vals[] = { - { 0, "n6" }, - { 1, "n15" }, - { 2, "n25" }, - { 3, "n50" }, - { 4, "n75" }, - { 5, "n100" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_dl_Bandwidth_r10(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, - 6, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_nonUL_Configuration_r10_01_sequence[] = { - { &hf_lte_rrc_dl_Bandwidth_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dl_Bandwidth_r10 }, - { &hf_lte_rrc_antennaInfoCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AntennaInfoCommon }, - { &hf_lte_rrc_mbsfn_SubframeConfigList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBSFN_SubframeConfigList }, - { &hf_lte_rrc_phich_Config_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PHICH_Config }, - { &hf_lte_rrc_pdsch_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PDSCH_ConfigCommon }, - { &hf_lte_rrc_tdd_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonUL_Configuration_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonUL_Configuration_r10_01, T_nonUL_Configuration_r10_01_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ul_Bandwidth_r10_vals[] = { - { 0, "n6" }, - { 1, "n15" }, - { 2, "n25" }, - { 3, "n50" }, - { 4, "n75" }, - { 5, "n100" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_ul_Bandwidth_r10(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, - 6, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_ul_FreqInfo_r10_sequence[] = { - { &hf_lte_rrc_ul_CarrierFreq_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA }, - { &hf_lte_rrc_ul_Bandwidth_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Bandwidth_r10 }, - { &hf_lte_rrc_additionalSpectrumEmissionSCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalSpectrumEmission }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ul_FreqInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ul_FreqInfo_r10, T_ul_FreqInfo_r10_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_NominalPUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -126, 24U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - -static const value_string lte_rrc_T_alpha_r10_vals[] = { - { 0, "al0" }, - { 1, "al04" }, - { 2, "al05" }, - { 3, "al06" }, - { 4, "al07" }, - { 5, "al08" }, - { 6, "al09" }, - { 7, "al1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_alpha_r10(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlCommonSCell_r10_sequence[] = { - { &hf_lte_rrc_p0_NominalPUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUSCH_r10 }, - { &hf_lte_rrc_alpha_r10 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_alpha_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlCommonSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlCommonSCell_r10, UplinkPowerControlCommonSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t PRACH_ConfigSCell_r10_sequence[] = { - { &hf_lte_rrc_prach_ConfigIndex_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_63 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PRACH_ConfigSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PRACH_ConfigSCell_r10, PRACH_ConfigSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_ul_Configuration_r10_01_sequence[] = { - { &hf_lte_rrc_ul_FreqInfo_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ul_FreqInfo_r10 }, - { &hf_lte_rrc_p_Max_r10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, - { &hf_lte_rrc_uplinkPowerControlCommonSCell_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UplinkPowerControlCommonSCell_r10 }, - { &hf_lte_rrc_soundingRS_UL_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SoundingRS_UL_ConfigCommon }, - { &hf_lte_rrc_ul_CyclicPrefixLength_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UL_CyclicPrefixLength }, - { &hf_lte_rrc_prach_ConfigSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_ConfigSCell_r10 }, - { &hf_lte_rrc_pusch_ConfigCommon_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PUSCH_ConfigCommon }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ul_Configuration_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ul_Configuration_r10_01, T_ul_Configuration_r10_01_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigCommonSCell_r10_eag_1_sequence[] = { - { &hf_lte_rrc_ul_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigCommonSCell_r10_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t T_ra_SupervisionInfo_r11_sequence[] = { - { &hf_lte_rrc_preambleTransMax_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PreambleTransMax }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ra_SupervisionInfo_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ra_SupervisionInfo_r11, T_ra_SupervisionInfo_r11_sequence); - - return offset; -} - - -static const per_sequence_t RACH_ConfigCommonSCell_r11_sequence[] = { - { &hf_lte_rrc_powerRampingParameters_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PowerRampingParameters }, - { &hf_lte_rrc_ra_SupervisionInfo_r11, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ra_SupervisionInfo_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RACH_ConfigCommonSCell_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RACH_ConfigCommonSCell_r11, RACH_ConfigCommonSCell_r11_sequence); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlCommonSCell_v1130_sequence[] = { - { &hf_lte_rrc_deltaPreambleMsg3_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlCommonSCell_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlCommonSCell_v1130, UplinkPowerControlCommonSCell_v1130_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigCommonSCell_r10_eag_2_sequence[] = { - { &hf_lte_rrc_rach_ConfigCommonSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigCommonSCell_r11 }, - { &hf_lte_rrc_prach_ConfigSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PRACH_Config }, - { &hf_lte_rrc_tdd_Config_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDD_Config_v1130 }, - { &hf_lte_rrc_uplinkPowerControlCommonSCell_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlCommonSCell_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigCommonSCell_r10_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigCommonSCell_r10_sequence[] = { - { &hf_lte_rrc_nonUL_Configuration_r10_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_nonUL_Configuration_r10_01 }, - { &hf_lte_rrc_ul_Configuration_r10_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Configuration_r10_01 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigCommonSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigCommonSCell_r10, RadioResourceConfigCommonSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_own_r10_sequence[] = { - { &hf_lte_rrc_cif_Presence_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_own_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_own_r10, T_own_r10_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_ServCellIndex_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 7U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t T_other_r10_sequence[] = { - { &hf_lte_rrc_schedulingCellId_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ServCellIndex_r10 }, - { &hf_lte_rrc_pdsch_Start_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_4 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_other_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_other_r10, T_other_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_schedulingCellInfo_r10_vals[] = { - { 0, "own-r10" }, - { 1, "other-r10" }, - { 0, NULL } -}; - -static const per_choice_t T_schedulingCellInfo_r10_choice[] = { - { 0, &hf_lte_rrc_own_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_own_r10 }, - { 1, &hf_lte_rrc_other_r10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_other_r10 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_schedulingCellInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_schedulingCellInfo_r10, T_schedulingCellInfo_r10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t CrossCarrierSchedulingConfig_r10_sequence[] = { - { &hf_lte_rrc_schedulingCellInfo_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_schedulingCellInfo_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CrossCarrierSchedulingConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CrossCarrierSchedulingConfig_r10, CrossCarrierSchedulingConfig_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_nonUL_Configuration_r10_sequence[] = { - { &hf_lte_rrc_antennaInfo_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_r10 }, - { &hf_lte_rrc_crossCarrierSchedulingConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CrossCarrierSchedulingConfig_r10 }, - { &hf_lte_rrc_csi_RS_Config_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config_r10 }, - { &hf_lte_rrc_pdsch_ConfigDedicated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonUL_Configuration_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonUL_Configuration_r10, T_nonUL_Configuration_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_groupHoppingDisabled_r10_01_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_groupHoppingDisabled_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_dmrs_WithOCC_Activated_r10_01_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t PUSCH_ConfigDedicatedSCell_r10_sequence[] = { - { &hf_lte_rrc_groupHoppingDisabled_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_groupHoppingDisabled_r10_01 }, - { &hf_lte_rrc_dmrs_WithOCC_Activated_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dmrs_WithOCC_Activated_r10_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PUSCH_ConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PUSCH_ConfigDedicatedSCell_r10, PUSCH_ConfigDedicatedSCell_r10_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_UE_PUSCH_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -8, 7U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const value_string lte_rrc_T_deltaMCS_Enabled_r10_vals[] = { - { 0, "en0" }, - { 1, "en1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaMCS_Enabled_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_pathlossReferenceLinking_r10_vals[] = { - { 0, "pCell" }, - { 1, "sCell" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pathlossReferenceLinking_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 2, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t UplinkPowerControlDedicatedSCell_r10_sequence[] = { - { &hf_lte_rrc_p0_UE_PUSCH_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_UE_PUSCH_r10 }, - { &hf_lte_rrc_deltaMCS_Enabled_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaMCS_Enabled_r10 }, - { &hf_lte_rrc_accumulationEnabled_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_pSRS_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_pSRS_OffsetAp_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_filterCoefficient_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FilterCoefficient }, - { &hf_lte_rrc_pathlossReferenceLinking_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_pathlossReferenceLinking_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlDedicatedSCell_r10, UplinkPowerControlDedicatedSCell_r10_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_pmi_RI_Report_r10_vals[] = { - { 0, "setup" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_pmi_RI_Report_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CQI_ReportConfigSCell_r10_sequence[] = { - { &hf_lte_rrc_cqi_ReportModeAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportModeAperiodic }, - { &hf_lte_rrc_nomPDSCH_RS_EPRE_Offset_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M1_6 }, - { &hf_lte_rrc_cqi_ReportPeriodicSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportPeriodic_r10 }, - { &hf_lte_rrc_pmi_RI_Report_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pmi_RI_Report_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CQI_ReportConfigSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CQI_ReportConfigSCell_r10, CQI_ReportConfigSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t T_ul_Configuration_r10_sequence[] = { - { &hf_lte_rrc_antennaInfoUL_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoUL_r10 }, - { &hf_lte_rrc_pusch_ConfigDedicatedSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicatedSCell_r10 }, - { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicatedSCell_r10 }, - { &hf_lte_rrc_cqi_ReportConfigSCell_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfigSCell_r10 }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicated_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020 }, - { &hf_lte_rrc_soundingRS_UL_ConfigDedicatedAperiodic_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_ul_Configuration_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_ul_Configuration_r10, T_ul_Configuration_r10_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicatedSCell_r10_eag_1_sequence[] = { - { &hf_lte_rrc_csi_RS_ConfigNZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToReleaseList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigNZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigZPToReleaseList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToReleaseList_r11 }, - { &hf_lte_rrc_csi_RS_ConfigZPToAddModList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_ConfigZPToAddModList_r11 }, - { &hf_lte_rrc_epdcch_Config_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EPDCCH_Config_r11 }, - { &hf_lte_rrc_pdsch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDSCH_ConfigDedicated_v1130 }, - { &hf_lte_rrc_cqi_ReportConfig_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v1130 }, - { &hf_lte_rrc_pusch_ConfigDedicated_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PUSCH_ConfigDedicated_v1130 }, - { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v1130 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicatedSCell_r10_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicatedSCell_r10_eag_2_sequence[] = { - { &hf_lte_rrc_antennaInfo_v12xx, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AntennaInfoDedicated_v12xx }, - { &hf_lte_rrc_eimta_MainConfigSCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_EIMTA_MainConfigServCell_r12 }, - { &hf_lte_rrc_cqi_ReportConfigSCell_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CQI_ReportConfig_v12x0 }, - { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v12x0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UplinkPowerControlDedicated_v12x0 }, - { &hf_lte_rrc_csi_RS_Config2_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSI_RS_Config2_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalConfigDedicatedSCell_r10_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t PhysicalConfigDedicatedSCell_r10_sequence[] = { - { &hf_lte_rrc_nonUL_Configuration_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_nonUL_Configuration_r10 }, - { &hf_lte_rrc_ul_Configuration_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_Configuration_r10 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhysicalConfigDedicatedSCell_r10, PhysicalConfigDedicatedSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t MAC_MainConfigSCell_r11_sequence[] = { - { &hf_lte_rrc_stag_Id_r11 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_STAG_Id_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MAC_MainConfigSCell_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MAC_MainConfigSCell_r11, MAC_MainConfigSCell_r11_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_eag_1_sequence[] = { - { &hf_lte_rrc_mac_MainConfigSCell_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MAC_MainConfigSCell_r11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicatedSCell_r10_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_eag_2_sequence[] = { - { &hf_lte_rrc_naics_InfoSCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_NAICS_AssistanceInfo_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RadioResourceConfigDedicatedSCell_r10_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicatedSCell_r10_sequence[] = { - { &hf_lte_rrc_physicalConfigDedicatedSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicatedSCell_r10 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigDedicatedSCell_r10, RadioResourceConfigDedicatedSCell_r10_sequence); - - return offset; -} - - -static const per_sequence_t SCellToAddMod_r10_eag_1_sequence[] = { - { &hf_lte_rrc_dl_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SCellToAddMod_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellToAddMod_r10_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t SCellToAddMod_r10_sequence[] = { - { &hf_lte_rrc_sCellIndex_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, - { &hf_lte_rrc_cellIdentification_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellIdentification_r10 }, - { &hf_lte_rrc_radioResourceConfigCommonSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigCommonSCell_r10 }, - { &hf_lte_rrc_radioResourceConfigDedicatedSCell_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedSCell_r10 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellToAddMod_r10_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SCellToAddMod_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCellToAddMod_r10, SCellToAddMod_r10_sequence); - - return offset; -} - - -static const per_sequence_t SCellToAddModList_r10_sequence_of[1] = { - { &hf_lte_rrc_SCellToAddModList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellToAddMod_r10 }, -}; - -static int -dissect_lte_rrc_SCellToAddModList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCellToAddModList_r10, SCellToAddModList_r10_sequence_of, - 1, maxSCell_r10, FALSE); - - return offset; -} - - - static int dissect_lte_rrc_T_systemInfomationBlockType1Dedicated_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, @@ -27201,7 +30578,7 @@ dissect_lte_rrc_T_t350_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static const per_sequence_t T_setup_sequence[] = { - { &hf_lte_rrc_wlan_OffloadConfig_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_OffloadConfig_r12 }, + { &hf_lte_rrc_wlan_OffloadConfigDedicated_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_WLAN_OffloadConfig_r12 }, { &hf_lte_rrc_t350_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_t350_r12 }, { NULL, 0, 0, NULL } }; @@ -27215,22 +30592,22 @@ dissect_lte_rrc_T_setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } -static const value_string lte_rrc_T_wlan_OffloadDedicated_r12_vals[] = { +static const value_string lte_rrc_T_wlan_OffloadInfo_r12_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; -static const per_choice_t T_wlan_OffloadDedicated_r12_choice[] = { +static const per_choice_t T_wlan_OffloadInfo_r12_choice[] = { { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 1, &hf_lte_rrc_setup , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_wlan_OffloadDedicated_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_wlan_OffloadInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_wlan_OffloadDedicated_r12, T_wlan_OffloadDedicated_r12_choice, + ett_lte_rrc_T_wlan_OffloadInfo_r12, T_wlan_OffloadInfo_r12_choice, NULL); return offset; @@ -27263,416 +30640,24 @@ dissect_lte_rrc_PowerCoordinationInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_scg_ConfigPartMCG_sequence[] = { +static const per_sequence_t T_scg_ConfigPartMCG_r12_sequence[] = { { &hf_lte_rrc_scg_Counter_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_65535 }, { &hf_lte_rrc_powerCoordinationInfo_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PowerCoordinationInfo_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_scg_ConfigPartMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_scg_ConfigPartMCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_scg_ConfigPartMCG, T_scg_ConfigPartMCG_sequence); - - return offset; -} - - -static const per_sequence_t T_scg_r12_sequence[] = { - { &hf_lte_rrc_eps_BearerIdentity_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, - { &hf_lte_rrc_pdcp_Config_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PDCP_Config }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_scg_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_scg_r12, T_scg_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_drb_Type_r12_vals[] = { - { 0, "split-r12" }, - { 1, "scg-r12" }, - { 0, NULL } -}; - -static const per_choice_t T_drb_Type_r12_choice[] = { - { 0, &hf_lte_rrc_split_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_scg_r12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_scg_r12 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_drb_Type_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_drb_Type_r12, T_drb_Type_r12_choice, - NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_INTEGER_3_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 3U, 10U, NULL, FALSE); - - return offset; -} - - -static const per_sequence_t DRB_ToAddModSCG_r12_sequence[] = { - { &hf_lte_rrc_drb_Identity_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_Identity }, - { &hf_lte_rrc_drb_Type_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_Type_r12 }, - { &hf_lte_rrc_rlc_ConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Config }, - { &hf_lte_rrc_logicalChannelIdentitySCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_3_10 }, - { &hf_lte_rrc_logicalChannelConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_LogicalChannelConfig }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_DRB_ToAddModSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRB_ToAddModSCG_r12, DRB_ToAddModSCG_r12_sequence); - - return offset; -} - - -static const per_sequence_t DRB_ToAddModListSCG_r12_sequence_of[1] = { - { &hf_lte_rrc_DRB_ToAddModListSCG_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_ToAddModSCG_r12 }, -}; - -static int -dissect_lte_rrc_DRB_ToAddModListSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_DRB_ToAddModListSCG_r12, DRB_ToAddModListSCG_r12_sequence_of, - 1, maxDRB, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_t313_r12_vals[] = { - { 0, "ms0" }, - { 1, "ms50" }, - { 2, "ms100" }, - { 3, "ms200" }, - { 4, "ms500" }, - { 5, "ms1000" }, - { 6, "ms2000" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t313_r12(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, - 7, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_n313_r12_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n3" }, - { 3, "n4" }, - { 4, "n6" }, - { 5, "n8" }, - { 6, "n10" }, - { 7, "n20" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_n313_r12(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_n314_r12_vals[] = { - { 0, "n1" }, - { 1, "n2" }, - { 2, "n3" }, - { 3, "n4" }, - { 4, "n5" }, - { 5, "n6" }, - { 6, "n8" }, - { 7, "n10" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_n314_r12(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_setup_39_sequence[] = { - { &hf_lte_rrc_t313_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t313_r12 }, - { &hf_lte_rrc_n313_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n313_r12 }, - { &hf_lte_rrc_n314_r12 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n314_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_setup_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_setup_39, T_setup_39_sequence); - - return offset; -} - - -static const value_string lte_rrc_RLF_TimersAndConstantsSCG_r12_vals[] = { - { 0, "release" }, - { 1, "setup" }, - { 0, NULL } -}; - -static const per_choice_t RLF_TimersAndConstantsSCG_r12_choice[] = { - { 0, &hf_lte_rrc_release , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 1, &hf_lte_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_setup_39 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_RLF_TimersAndConstantsSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RLF_TimersAndConstantsSCG_r12, RLF_TimersAndConstantsSCG_r12_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicatedSCG_r12_sequence[] = { - { &hf_lte_rrc_drb_ToAddModListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DRB_ToAddModListSCG_r12 }, - { &hf_lte_rrc_mac_MainConfigSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MAC_MainConfig }, - { &hf_lte_rrc_rlf_TimersAndConstantsSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RLF_TimersAndConstantsSCG_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicatedSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigDedicatedSCG_r12, RadioResourceConfigDedicatedSCG_r12_sequence); - - return offset; -} - - -static const per_sequence_t T_cellIdentification_r12_sequence[] = { - { &hf_lte_rrc_physCellId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_dl_CarrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_cellIdentification_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_cellIdentification_r12, T_cellIdentification_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_deltaF_PUCCH_Format3_r10_01_vals[] = { - { 0, "deltaF-1" }, - { 1, "deltaF0" }, - { 2, "deltaF1" }, - { 3, "deltaF2" }, - { 4, "deltaF3" }, - { 5, "deltaF4" }, - { 6, "deltaF5" }, - { 7, "deltaF6" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaF_PUCCH_Format3_r10_01(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, FALSE, 0, NULL); - - return offset; -} - - -static const value_string lte_rrc_T_deltaF_PUCCH_Format1bCS_r10_01_vals[] = { - { 0, "deltaF1" }, - { 1, "deltaF2" }, - { 2, "spare2" }, - { 3, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_deltaF_PUCCH_Format1bCS_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p0_NominalPUCCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -127, -96, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - -static const per_sequence_t UplinkPowerControlCommonPSCell_r12_sequence[] = { - { &hf_lte_rrc_deltaF_PUCCH_Format3_r10_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaF_PUCCH_Format3_r10_01 }, - { &hf_lte_rrc_deltaF_PUCCH_Format1bCS_r10_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_deltaF_PUCCH_Format1bCS_r10_01 }, - { &hf_lte_rrc_p0_NominalPUCCH_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p0_NominalPUCCH_01 }, - { &hf_lte_rrc_deltaFList_PUCCH, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DeltaFList_PUCCH }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UplinkPowerControlCommonPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UplinkPowerControlCommonPSCell_r12, UplinkPowerControlCommonPSCell_r12_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigCommonPSCell_r12_sequence[] = { - { &hf_lte_rrc_basicFields_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigCommonSCell_r10 }, - { &hf_lte_rrc_pucch_ConfigCommon_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PUCCH_ConfigCommon }, - { &hf_lte_rrc_rach_ConfigCommon_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RACH_ConfigCommon }, - { &hf_lte_rrc_uplinkPowerControlCommonPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UplinkPowerControlCommonPSCell_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigCommonPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigCommonPSCell_r12, RadioResourceConfigCommonPSCell_r12_sequence); - - return offset; -} - - -static const per_sequence_t RadioResourceConfigDedicatedPSCell_r12_sequence[] = { - { &hf_lte_rrc_physicalConfigDedicatedPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PhysicalConfigDedicated }, - { &hf_lte_rrc_sps_Config_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SPS_Config }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RadioResourceConfigDedicatedPSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PSCELL); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RadioResourceConfigDedicatedPSCell_r12, RadioResourceConfigDedicatedPSCell_r12_sequence); - - - - return offset; -} - - -static const per_sequence_t PSCell_r12_sequence[] = { - { &hf_lte_rrc_sCellIndex_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SCellIndex_r10 }, - { &hf_lte_rrc_cellIdentification_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_cellIdentification_r12 }, - { &hf_lte_rrc_radioResourceConfigCommonPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigCommonPSCell_r12 }, - { &hf_lte_rrc_radioResourceConfigDedicatedPSCell_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedPSCell_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_PSCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PSCell_r12, PSCell_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_t307_vals[] = { - { 0, "ms50" }, - { 1, "ms100" }, - { 2, "ms150" }, - { 3, "ms200" }, - { 4, "ms500" }, - { 5, "ms1000" }, - { 6, "ms2000" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_t307(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, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t MobilityControlInfoSCG_r12_sequence[] = { - { &hf_lte_rrc_t307 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_t307 }, - { &hf_lte_rrc_ue_IdentitySCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_C_RNTI }, - { &hf_lte_rrc_rach_ConfigDedicated_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RACH_ConfigDedicated }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MobilityControlInfoSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MobilityControlInfoSCG_r12, MobilityControlInfoSCG_r12_sequence); - - return offset; -} - - -static const per_sequence_t SCG_ConfigPartSCG_r12_sequence[] = { - { &hf_lte_rrc_cipheringAlgorithmSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CipheringAlgorithm_r12 }, - { &hf_lte_rrc_radioResourceConfigDedicatedSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicatedSCG_r12 }, - { &hf_lte_rrc_sCellToReleaseListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SCellToReleaseList_r10 }, - { &hf_lte_rrc_psCellToAddMod_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_PSCell_r12 }, - { &hf_lte_rrc_sCellToAddModListSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SCellToAddModList_r10 }, - { &hf_lte_rrc_mobilityControlInfoSCG_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MobilityControlInfoSCG_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SCG_ConfigPartSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCG_ConfigPartSCG_r12, SCG_ConfigPartSCG_r12_sequence); + ett_lte_rrc_T_scg_ConfigPartMCG_r12, T_scg_ConfigPartMCG_r12_sequence); return offset; } static const per_sequence_t T_setup_01_sequence[] = { - { &hf_lte_rrc_scg_ConfigPartMCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_scg_ConfigPartMCG }, - { &hf_lte_rrc_scg_ConfigPartSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_ConfigPartSCG_r12 }, + { &hf_lte_rrc_scg_ConfigPartMCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_scg_ConfigPartMCG_r12 }, + { &hf_lte_rrc_scg_ConfigPartSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_ConfigPartSCG_r12 }, { NULL, 0, 0, NULL } }; @@ -27707,30 +30692,63 @@ dissect_lte_rrc_SCG_Configuration_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_nonCriticalExtension_20_sequence[] = { - { NULL, 0, 0, NULL } +static const value_string lte_rrc_T_networkControlledSyncTx_r12_vals[] = { + { 0, "on" }, + { 1, "off" }, + { 0, NULL } }; + static int -dissect_lte_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence); +dissect_lte_rrc_T_networkControlledSyncTx_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t RRCConnectionReconfiguration_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_wlan_OffloadDedicated_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_wlan_OffloadDedicated_r12 }, - { &hf_lte_rrc_scg_Configuration_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_Configuration_r12 }, - { &hf_lte_rrc_nonCriticalExtension_47, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_20 }, +static const per_sequence_t SL_SyncTxControl_r12_sequence[] = { + { &hf_lte_rrc_networkControlledSyncTx_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_networkControlledSyncTx_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_SL_SyncTxControl_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs, RRCConnectionReconfiguration_v12xy_IEs_sequence); + ett_lte_rrc_SL_SyncTxControl_r12, SL_SyncTxControl_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_24_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence); + + return offset; +} + + +static const per_sequence_t RRCConnectionReconfiguration_v1250_IEs_sequence[] = { + { &hf_lte_rrc_wlan_OffloadInfo_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_wlan_OffloadInfo_r12 }, + { &hf_lte_rrc_scg_Configuration_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_Configuration_r12 }, + { &hf_lte_rrc_sl_SyncTxControl_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_SyncTxControl_r12 }, + { &hf_lte_rrc_sl_DiscConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_DiscConfig_r12 }, + { &hf_lte_rrc_sl_CommConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommConfig_r12 }, + { &hf_lte_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_24 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_RRCConnectionReconfiguration_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RRCConnectionReconfiguration_v1250_IEs, RRCConnectionReconfiguration_v1250_IEs_sequence); return offset; } @@ -27738,7 +30756,7 @@ dissect_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int of static const per_sequence_t RRCConnectionReconfiguration_v1130_IEs_sequence[] = { { &hf_lte_rrc_systemInfomationBlockType1Dedicated_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_systemInfomationBlockType1Dedicated_r11 }, - { &hf_lte_rrc_nonCriticalExtension_46, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -27754,7 +30772,7 @@ dissect_lte_rrc_RRCConnectionReconfiguration_v1130_IEs(tvbuff_t *tvb _U_, int of static const per_sequence_t RRCConnectionReconfiguration_v1020_IEs_sequence[] = { { &hf_lte_rrc_sCellToReleaseList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCellToReleaseList_r10 }, { &hf_lte_rrc_sCellToAddModList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCellToAddModList_r10 }, - { &hf_lte_rrc_nonCriticalExtension_45, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -27770,7 +30788,7 @@ dissect_lte_rrc_RRCConnectionReconfiguration_v1020_IEs(tvbuff_t *tvb _U_, int of static const per_sequence_t RRCConnectionReconfiguration_v920_IEs_sequence[] = { { &hf_lte_rrc_otherConfig_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OtherConfig_r9 }, { &hf_lte_rrc_fullConfig_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_fullConfig_r9 }, - { &hf_lte_rrc_nonCriticalExtension_44, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_53, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -27785,7 +30803,7 @@ dissect_lte_rrc_RRCConnectionReconfiguration_v920_IEs(tvbuff_t *tvb _U_, int off static const per_sequence_t RRCConnectionReconfiguration_v890_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_52, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -27804,7 +30822,7 @@ static const per_sequence_t RRCConnectionReconfiguration_r8_IEs_sequence[] = { { &hf_lte_rrc_dedicatedInfoNASList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedInfoNAS }, { &hf_lte_rrc_radioResourceConfigDedicated, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RadioResourceConfigDedicated }, { &hf_lte_rrc_securityConfigHO, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityConfigHO }, - { &hf_lte_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v890_IEs }, + { &hf_lte_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfiguration_v890_IEs }, { NULL, 0, 0, NULL } }; @@ -27817,7 +30835,7 @@ dissect_lte_rrc_RRCConnectionReconfiguration_r8_IEs(tvbuff_t *tvb _U_, int offse } -static const value_string lte_rrc_T_c1_20_vals[] = { +static const value_string lte_rrc_T_c1_24_vals[] = { { 0, "rrcConnectionReconfiguration-r8" }, { 1, "spare7" }, { 2, "spare6" }, @@ -27829,7 +30847,7 @@ static const value_string lte_rrc_T_c1_20_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_20_choice[] = { +static const per_choice_t T_c1_24_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReconfiguration_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReconfiguration_r8_IEs }, { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -27842,44 +30860,44 @@ static const per_choice_t T_c1_20_choice[] = { }; static int -dissect_lte_rrc_T_c1_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_20, T_c1_20_choice, + ett_lte_rrc_T_c1_24, T_c1_24_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_16, T_criticalExtensionsFuture_16_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_16_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_20_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_16_choice[] = { - { 0, &hf_lte_rrc_c1_20 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_20 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_16 }, +static const per_choice_t T_criticalExtensions_20_choice[] = { + { 0, &hf_lte_rrc_c1_24 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_24 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_20 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice, + ett_lte_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice, NULL); return offset; @@ -27888,7 +30906,7 @@ dissect_lte_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReconfiguration_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_16 }, + { &hf_lte_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_20 }, { NULL, 0, 0, NULL } }; @@ -28465,14 +31483,14 @@ dissect_lte_rrc_T_extendedWaitTime_r10_01(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_27_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_31_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence); + ett_lte_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence); return offset; } @@ -28480,7 +31498,7 @@ dissect_lte_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionRelease_v1020_IEs_sequence[] = { { &hf_lte_rrc_extendedWaitTime_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedWaitTime_r10_01 }, - { &hf_lte_rrc_nonCriticalExtension_71, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_27 }, + { &hf_lte_rrc_nonCriticalExtension_80, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_31 }, { NULL, 0, 0, NULL } }; @@ -28495,7 +31513,7 @@ dissect_lte_rrc_RRCConnectionRelease_v1020_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t RRCConnectionRelease_v920_IEs_sequence[] = { { &hf_lte_rrc_cellInfoList_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_cellInfoList_r9 }, - { &hf_lte_rrc_nonCriticalExtension_70, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_79, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -28510,7 +31528,7 @@ dissect_lte_rrc_RRCConnectionRelease_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t RRCConnectionRelease_v890_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension }, - { &hf_lte_rrc_nonCriticalExtension_68, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_77, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -28527,7 +31545,7 @@ static const per_sequence_t RRCConnectionRelease_r8_IEs_sequence[] = { { &hf_lte_rrc_releaseCause, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReleaseCause }, { &hf_lte_rrc_redirectedCarrierInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RedirectedCarrierInfo }, { &hf_lte_rrc_idleModeMobilityControlInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IdleModeMobilityControlInfo }, - { &hf_lte_rrc_nonCriticalExtension_67, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v890_IEs }, + { &hf_lte_rrc_nonCriticalExtension_76, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionRelease_v890_IEs }, { NULL, 0, 0, NULL } }; @@ -28540,7 +31558,7 @@ dissect_lte_rrc_RRCConnectionRelease_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string lte_rrc_T_c1_23_vals[] = { +static const value_string lte_rrc_T_c1_27_vals[] = { { 0, "rrcConnectionRelease-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -28548,7 +31566,7 @@ static const value_string lte_rrc_T_c1_23_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_23_choice[] = { +static const per_choice_t T_c1_27_choice[] = { { 0, &hf_lte_rrc_rrcConnectionRelease_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionRelease_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -28557,44 +31575,44 @@ static const per_choice_t T_c1_23_choice[] = { }; static int -dissect_lte_rrc_T_c1_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_23, T_c1_23_choice, + ett_lte_rrc_T_c1_27, T_c1_27_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_23_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_27_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_23_choice[] = { - { 0, &hf_lte_rrc_c1_23 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_23 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_23 }, +static const per_choice_t T_criticalExtensions_27_choice[] = { + { 0, &hf_lte_rrc_c1_27 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_27 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_27 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice, + ett_lte_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice, NULL); return offset; @@ -28603,7 +31621,7 @@ dissect_lte_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionRelease_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_23 }, + { &hf_lte_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_27 }, { NULL, 0, 0, NULL } }; @@ -28633,14 +31651,14 @@ dissect_lte_rrc_SecurityConfigSMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_31_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_35_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence); + ett_lte_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence); return offset; } @@ -28648,7 +31666,7 @@ dissect_lte_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t SecurityModeCommand_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_81, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_31 }, + { &hf_lte_rrc_nonCriticalExtension_90, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_35 }, { NULL, 0, 0, NULL } }; @@ -28663,7 +31681,7 @@ dissect_lte_rrc_SecurityModeCommand_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t SecurityModeCommand_r8_IEs_sequence[] = { { &hf_lte_rrc_securityConfigSMC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SecurityConfigSMC }, - { &hf_lte_rrc_nonCriticalExtension_80, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeCommand_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_89, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeCommand_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -28676,7 +31694,7 @@ dissect_lte_rrc_SecurityModeCommand_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string lte_rrc_T_c1_27_vals[] = { +static const value_string lte_rrc_T_c1_31_vals[] = { { 0, "securityModeCommand-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -28684,7 +31702,7 @@ static const value_string lte_rrc_T_c1_27_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_27_choice[] = { +static const per_choice_t T_c1_31_choice[] = { { 0, &hf_lte_rrc_securityModeCommand_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SecurityModeCommand_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -28693,44 +31711,44 @@ static const per_choice_t T_c1_27_choice[] = { }; static int -dissect_lte_rrc_T_c1_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_27, T_c1_27_choice, + ett_lte_rrc_T_c1_31, T_c1_31_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_32_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_28_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_32_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_28_choice[] = { - { 0, &hf_lte_rrc_c1_27 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_27 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_28 }, +static const per_choice_t T_criticalExtensions_32_choice[] = { + { 0, &hf_lte_rrc_c1_31 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_31 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_32 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice, + ett_lte_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice, NULL); return offset; @@ -28739,7 +31757,7 @@ dissect_lte_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t SecurityModeCommand_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_28 }, + { &hf_lte_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_32 }, { NULL, 0, 0, NULL } }; @@ -28755,33 +31773,6 @@ dissect_lte_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string lte_rrc_RAT_Type_vals[] = { - { RAT_Type_eutra, "eutra" }, - { RAT_Type_utra, "utra" }, - { RAT_Type_geran_cs, "geran-cs" }, - { RAT_Type_geran_ps, "geran-ps" }, - { RAT_Type_cdma2000_1XRTT, "cdma2000-1XRTT" }, - { RAT_Type_spare3, "spare3" }, - { RAT_Type_spare2, "spare2" }, - { RAT_Type_spare1, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - guint32 rat_type; - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 8, &rat_type, TRUE, 0, NULL); - - private_data_set_rat_type(actx, (guint8)rat_type); - - - - return offset; -} - - static const per_sequence_t UE_CapabilityRequest_sequence_of[1] = { { &hf_lte_rrc_UE_CapabilityRequest_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RAT_Type }, }; @@ -28810,14 +31801,14 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_16_OF_FreqBandIndicator_r11(tvbuff_t *tvb _U_, i } -static const per_sequence_t T_nonCriticalExtension_38_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_43_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence); + ett_lte_rrc_T_nonCriticalExtension_43, T_nonCriticalExtension_43_sequence); return offset; } @@ -28825,7 +31816,7 @@ dissect_lte_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t UECapabilityEnquiry_v1180_IEs_sequence[] = { { &hf_lte_rrc_requestedFrequencyBands_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_16_OF_FreqBandIndicator_r11 }, - { &hf_lte_rrc_nonCriticalExtension_98, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_38 }, + { &hf_lte_rrc_nonCriticalExtension_108, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_43 }, { NULL, 0, 0, NULL } }; @@ -28840,7 +31831,7 @@ dissect_lte_rrc_UECapabilityEnquiry_v1180_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UECapabilityEnquiry_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_97, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityEnquiry_v1180_IEs }, + { &hf_lte_rrc_nonCriticalExtension_107, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityEnquiry_v1180_IEs }, { NULL, 0, 0, NULL } }; @@ -28855,7 +31846,7 @@ dissect_lte_rrc_UECapabilityEnquiry_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UECapabilityEnquiry_r8_IEs_sequence[] = { { &hf_lte_rrc_ue_CapabilityRequest, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRequest }, - { &hf_lte_rrc_nonCriticalExtension_96, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityEnquiry_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_106, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityEnquiry_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -28868,7 +31859,7 @@ dissect_lte_rrc_UECapabilityEnquiry_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string lte_rrc_T_c1_29_vals[] = { +static const value_string lte_rrc_T_c1_34_vals[] = { { 0, "ueCapabilityEnquiry-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -28876,7 +31867,7 @@ static const value_string lte_rrc_T_c1_29_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_29_choice[] = { +static const per_choice_t T_c1_34_choice[] = { { 0, &hf_lte_rrc_ueCapabilityEnquiry_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UECapabilityEnquiry_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -28885,44 +31876,44 @@ static const per_choice_t T_c1_29_choice[] = { }; static int -dissect_lte_rrc_T_c1_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_29, T_c1_29_choice, + ett_lte_rrc_T_c1_34, T_c1_34_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_38_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_38, T_criticalExtensionsFuture_38_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_33_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_38_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_33_choice[] = { - { 0, &hf_lte_rrc_c1_29 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_29 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_33 }, +static const per_choice_t T_criticalExtensions_38_choice[] = { + { 0, &hf_lte_rrc_c1_34 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_34 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_38, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_38 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice, + ett_lte_rrc_T_criticalExtensions_38, T_criticalExtensions_38_choice, NULL); return offset; @@ -28931,7 +31922,7 @@ dissect_lte_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t UECapabilityEnquiry_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_33 }, + { &hf_lte_rrc_criticalExtensions_38, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_38 }, { NULL, 0, 0, NULL } }; @@ -28987,14 +31978,14 @@ dissect_lte_rrc_DRB_CountMSB_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_nonCriticalExtension_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_04_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence); + ett_lte_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence); return offset; } @@ -29002,7 +31993,7 @@ dissect_lte_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t CounterCheck_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension }, + { &hf_lte_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_04 }, { NULL, 0, 0, NULL } }; @@ -29017,7 +32008,7 @@ dissect_lte_rrc_CounterCheck_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t CounterCheck_r8_IEs_sequence[] = { { &hf_lte_rrc_drb_CountMSB_InfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_CountMSB_InfoList }, - { &hf_lte_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CounterCheck_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CounterCheck_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -29030,7 +32021,7 @@ dissect_lte_rrc_CounterCheck_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const value_string lte_rrc_T_c1_07_vals[] = { +static const value_string lte_rrc_T_c1_11_vals[] = { { 0, "counterCheck-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -29038,7 +32029,7 @@ static const value_string lte_rrc_T_c1_07_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_07_choice[] = { +static const per_choice_t T_c1_11_choice[] = { { 0, &hf_lte_rrc_counterCheck_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CounterCheck_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -29047,44 +32038,44 @@ static const per_choice_t T_c1_07_choice[] = { }; static int -dissect_lte_rrc_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_07, T_c1_07_choice, + ett_lte_rrc_T_c1_11, T_c1_11_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_04_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_choice[] = { - { 0, &hf_lte_rrc_c1_07 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_07 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture }, +static const per_choice_t T_criticalExtensions_04_choice[] = { + { 0, &hf_lte_rrc_c1_11 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_11 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_04 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions, T_criticalExtensions_choice, + ett_lte_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice, NULL); return offset; @@ -29093,7 +32084,7 @@ dissect_lte_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static const per_sequence_t CounterCheck_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions }, + { &hf_lte_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_04 }, { NULL, 0, 0, NULL } }; @@ -29154,29 +32145,29 @@ dissect_lte_rrc_T_mobilityHistoryReportReq_r12(tvbuff_t *tvb _U_, int offset _U_ } -static const per_sequence_t T_nonCriticalExtension_40_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_45_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_40, T_nonCriticalExtension_40_sequence); + ett_lte_rrc_T_nonCriticalExtension_45, T_nonCriticalExtension_45_sequence); return offset; } -static const per_sequence_t UEInformationRequest_v12xy_IEs_sequence[] = { +static const per_sequence_t UEInformationRequest_v1250_IEs_sequence[] = { { &hf_lte_rrc_mobilityHistoryReportReq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mobilityHistoryReportReq_r12 }, - { &hf_lte_rrc_nonCriticalExtension_106, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_40 }, + { &hf_lte_rrc_nonCriticalExtension_116, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_45 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UEInformationRequest_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UEInformationRequest_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UEInformationRequest_v12xy_IEs, UEInformationRequest_v12xy_IEs_sequence); + ett_lte_rrc_UEInformationRequest_v1250_IEs, UEInformationRequest_v1250_IEs_sequence); return offset; } @@ -29184,7 +32175,7 @@ dissect_lte_rrc_UEInformationRequest_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t UEInformationRequest_v1130_IEs_sequence[] = { { &hf_lte_rrc_connEstFailReportReq_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_connEstFailReportReq_r11 }, - { &hf_lte_rrc_nonCriticalExtension_105, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_115, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -29199,7 +32190,7 @@ dissect_lte_rrc_UEInformationRequest_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t UEInformationRequest_v1020_IEs_sequence[] = { { &hf_lte_rrc_logMeasReportReq_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasReportReq_r10 }, - { &hf_lte_rrc_nonCriticalExtension_104, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_114, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -29214,7 +32205,7 @@ dissect_lte_rrc_UEInformationRequest_v1020_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t UEInformationRequest_v930_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_103, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_113, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -29230,7 +32221,7 @@ dissect_lte_rrc_UEInformationRequest_v930_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UEInformationRequest_r9_IEs_sequence[] = { { &hf_lte_rrc_rach_ReportReq_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, { &hf_lte_rrc_rlf_ReportReq_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, - { &hf_lte_rrc_nonCriticalExtension_102, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v930_IEs }, + { &hf_lte_rrc_nonCriticalExtension_112, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationRequest_v930_IEs }, { NULL, 0, 0, NULL } }; @@ -29243,7 +32234,7 @@ dissect_lte_rrc_UEInformationRequest_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, a } -static const value_string lte_rrc_T_c1_31_vals[] = { +static const value_string lte_rrc_T_c1_36_vals[] = { { 0, "ueInformationRequest-r9" }, { 1, "spare3" }, { 2, "spare2" }, @@ -29251,7 +32242,7 @@ static const value_string lte_rrc_T_c1_31_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_31_choice[] = { +static const per_choice_t T_c1_36_choice[] = { { 0, &hf_lte_rrc_ueInformationRequest_r9_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UEInformationRequest_r9_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -29260,44 +32251,44 @@ static const per_choice_t T_c1_31_choice[] = { }; static int -dissect_lte_rrc_T_c1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_31, T_c1_31_choice, + ett_lte_rrc_T_c1_36, T_c1_36_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_35_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_40_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_40, T_criticalExtensionsFuture_40_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_35_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_40_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_35_choice[] = { - { 0, &hf_lte_rrc_c1_31 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_31 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_35 }, +static const per_choice_t T_criticalExtensions_40_choice[] = { + { 0, &hf_lte_rrc_c1_36 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_36 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_40, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_40 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice, + ett_lte_rrc_T_criticalExtensions_40, T_criticalExtensions_40_choice, NULL); return offset; @@ -29306,7 +32297,7 @@ dissect_lte_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t UEInformationRequest_r9_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_35 }, + { &hf_lte_rrc_criticalExtensions_40, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_40 }, { NULL, 0, 0, NULL } }; @@ -29535,8 +32526,8 @@ dissect_lte_rrc_AreaConfiguration_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t TargetMBSFN_Area_r12_sequence[] = { - { &hf_lte_rrc_mbsfn_AreaId_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_255 }, - { &hf_lte_rrc_carrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_mbsfn_AreaId_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MBSFN_AreaId_r12 }, + { &hf_lte_rrc_carrierFreq_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, { NULL, 0, 0, NULL } }; @@ -29557,35 +32548,35 @@ static int dissect_lte_rrc_TargetMBSFN_AreaList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lte_rrc_TargetMBSFN_AreaList_r12, TargetMBSFN_AreaList_r12_sequence_of, - 0, 8, FALSE); + 0, maxMBSFN_Area, FALSE); return offset; } -static const per_sequence_t T_nonCriticalExtension_08_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_12_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence); + ett_lte_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence); return offset; } -static const per_sequence_t LoggedMeasurementConfiguration_v12xy_IEs_sequence[] = { +static const per_sequence_t LoggedMeasurementConfiguration_v1250_IEs_sequence[] = { { &hf_lte_rrc_targetMBSFN_AreaList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TargetMBSFN_AreaList_r12 }, - { &hf_lte_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_08 }, + { &hf_lte_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_LoggedMeasurementConfiguration_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs, LoggedMeasurementConfiguration_v12xy_IEs_sequence); + ett_lte_rrc_LoggedMeasurementConfiguration_v1250_IEs, LoggedMeasurementConfiguration_v1250_IEs_sequence); return offset; } @@ -29594,7 +32585,7 @@ dissect_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs(tvbuff_t *tvb _U_, int static const per_sequence_t LoggedMeasurementConfiguration_v1130_IEs_sequence[] = { { &hf_lte_rrc_plmn_IdentityList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PLMN_IdentityList3_r11 }, { &hf_lte_rrc_areaConfiguration_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AreaConfiguration_v1130 }, - { &hf_lte_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -29609,7 +32600,7 @@ dissect_lte_rrc_LoggedMeasurementConfiguration_v1130_IEs(tvbuff_t *tvb _U_, int static const per_sequence_t LoggedMeasurementConfiguration_v1080_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -29630,7 +32621,7 @@ static const per_sequence_t LoggedMeasurementConfiguration_r10_IEs_sequence[] = { &hf_lte_rrc_areaConfiguration_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AreaConfiguration_r10 }, { &hf_lte_rrc_loggingDuration_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_LoggingDuration_r10 }, { &hf_lte_rrc_loggingInterval_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_LoggingInterval_r10 }, - { &hf_lte_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v1080_IEs }, + { &hf_lte_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LoggedMeasurementConfiguration_v1080_IEs }, { NULL, 0, 0, NULL } }; @@ -29643,7 +32634,7 @@ dissect_lte_rrc_LoggedMeasurementConfiguration_r10_IEs(tvbuff_t *tvb _U_, int of } -static const value_string lte_rrc_T_c1_12_vals[] = { +static const value_string lte_rrc_T_c1_16_vals[] = { { 0, "loggedMeasurementConfiguration-r10" }, { 1, "spare3" }, { 2, "spare2" }, @@ -29651,7 +32642,7 @@ static const value_string lte_rrc_T_c1_12_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_12_choice[] = { +static const per_choice_t T_c1_16_choice[] = { { 0, &hf_lte_rrc_loggedMeasurementConfiguration_r10_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_LoggedMeasurementConfiguration_r10_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -29660,44 +32651,44 @@ static const per_choice_t T_c1_12_choice[] = { }; static int -dissect_lte_rrc_T_c1_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_12, T_c1_12_choice, + ett_lte_rrc_T_c1_16, T_c1_16_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_08_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_08, T_criticalExtensionsFuture_08_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_08_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_12_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_08_choice[] = { - { 0, &hf_lte_rrc_c1_12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_12 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_08, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_08 }, +static const per_choice_t T_criticalExtensions_12_choice[] = { + { 0, &hf_lte_rrc_c1_16 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_16 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_12 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_08, T_criticalExtensions_08_choice, + ett_lte_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice, NULL); return offset; @@ -29705,7 +32696,7 @@ dissect_lte_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t LoggedMeasurementConfiguration_r10_sequence[] = { - { &hf_lte_rrc_criticalExtensions_08, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_08 }, + { &hf_lte_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_12 }, { NULL, 0, 0, NULL } }; @@ -29811,16 +32802,6 @@ dissect_lte_rrc_BIT_STRING_SIZE_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t -static int -dissect_lte_rrc_BIT_STRING_SIZE_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 19, 19, FALSE, NULL, NULL); - - return offset; -} - - - static int dissect_lte_rrc_BIT_STRING_SIZE_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, @@ -30130,14 +33111,14 @@ dissect_lte_rrc_RN_SubframeConfig_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_nonCriticalExtension_18_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_22_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence); + ett_lte_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence); return offset; } @@ -30147,7 +33128,7 @@ static const per_sequence_t RNReconfiguration_r10_IEs_sequence[] = { { &hf_lte_rrc_rn_SystemInfo_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RN_SystemInfo_r10 }, { &hf_lte_rrc_rn_SubframeConfig_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RN_SubframeConfig_r10 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_18 }, + { &hf_lte_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_22 }, { NULL, 0, 0, NULL } }; @@ -30160,7 +33141,7 @@ dissect_lte_rrc_RNReconfiguration_r10_IEs(tvbuff_t *tvb _U_, int offset _U_, asn } -static const value_string lte_rrc_T_c1_18_vals[] = { +static const value_string lte_rrc_T_c1_22_vals[] = { { 0, "rnReconfiguration-r10" }, { 1, "spare3" }, { 2, "spare2" }, @@ -30168,7 +33149,7 @@ static const value_string lte_rrc_T_c1_18_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_18_choice[] = { +static const per_choice_t T_c1_22_choice[] = { { 0, &hf_lte_rrc_rnReconfiguration_r10_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RNReconfiguration_r10_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -30177,44 +33158,44 @@ static const per_choice_t T_c1_18_choice[] = { }; static int -dissect_lte_rrc_T_c1_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_18, T_c1_18_choice, + ett_lte_rrc_T_c1_22, T_c1_22_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_14, T_criticalExtensionsFuture_14_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_14_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_18_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_14_choice[] = { - { 0, &hf_lte_rrc_c1_18 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_18 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_14 }, +static const per_choice_t T_criticalExtensions_18_choice[] = { + { 0, &hf_lte_rrc_c1_22 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_22 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_18 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice, + ett_lte_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice, NULL); return offset; @@ -30223,7 +33204,7 @@ dissect_lte_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RNReconfiguration_r10_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_14 }, + { &hf_lte_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_18 }, { NULL, 0, 0, NULL } }; @@ -30239,7 +33220,7 @@ dissect_lte_rrc_RNReconfiguration_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const value_string lte_rrc_T_c1_04_vals[] = { +static const value_string lte_rrc_T_c1_08_vals[] = { { 0, "csfbParametersResponseCDMA2000" }, { 1, "dlInformationTransfer" }, { 2, "handoverFromEUTRAPreparationRequest" }, @@ -30259,7 +33240,7 @@ static const value_string lte_rrc_T_c1_04_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_04_choice[] = { +static const per_choice_t T_c1_08_choice[] = { { 0, &hf_lte_rrc_csfbParametersResponseCDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CSFBParametersResponseCDMA2000 }, { 1, &hf_lte_rrc_dlInformationTransfer, ASN1_NO_EXTENSIONS , dissect_lte_rrc_DLInformationTransfer }, { 2, &hf_lte_rrc_handoverFromEUTRAPreparationRequest, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverFromEUTRAPreparationRequest }, @@ -30280,9 +33261,9 @@ static const per_choice_t T_c1_04_choice[] = { }; static int -dissect_lte_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_04, T_c1_04_choice, + ett_lte_rrc_T_c1_08, T_c1_08_choice, NULL); return offset; @@ -30309,7 +33290,7 @@ static const value_string lte_rrc_DL_DCCH_MessageType_vals[] = { }; static const per_choice_t DL_DCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_04 }, + { 0, &hf_lte_rrc_c1_08 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_08 }, { 1, &hf_lte_rrc_messageClassExtension_04, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension_04 }, { 0, NULL, 0, NULL } }; @@ -30340,16 +33321,6 @@ dissect_lte_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } - -static int -dissect_lte_rrc_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 16, 16, FALSE, NULL, NULL); - - return offset; -} - - static const per_sequence_t ReestabUE_Identity_sequence[] = { { &hf_lte_rrc_c_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, { &hf_lte_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, @@ -30400,35 +33371,35 @@ dissect_lte_rrc_RRCConnectionReestablishmentRequest_r8_IEs(tvbuff_t *tvb _U_, in } -static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_21_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_25_vals[] = { { 0, "rrcConnectionReestablishmentRequest-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_21_choice[] = { +static const per_choice_t T_criticalExtensions_25_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishmentRequest_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishmentRequest_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_21 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_25 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice, + ett_lte_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice, NULL); return offset; @@ -30436,7 +33407,7 @@ dissect_lte_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReestablishmentRequest_sequence[] = { - { &hf_lte_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_21 }, + { &hf_lte_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_25 }, { NULL, 0, 0, NULL } }; @@ -30522,35 +33493,35 @@ dissect_lte_rrc_RRCConnectionRequest_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_24_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_28_vals[] = { { 0, "rrcConnectionRequest-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_24_choice[] = { +static const per_choice_t T_criticalExtensions_28_choice[] = { { 0, &hf_lte_rrc_rrcConnectionRequest_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionRequest_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_24 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_28 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice, + ett_lte_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice, NULL); return offset; @@ -30558,7 +33529,7 @@ dissect_lte_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionRequest_sequence[] = { - { &hf_lte_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_24 }, + { &hf_lte_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_28 }, { NULL, 0, 0, NULL } }; @@ -30574,22 +33545,22 @@ dissect_lte_rrc_RRCConnectionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const value_string lte_rrc_T_c1_05_vals[] = { +static const value_string lte_rrc_T_c1_09_vals[] = { { 0, "rrcConnectionReestablishmentRequest" }, { 1, "rrcConnectionRequest" }, { 0, NULL } }; -static const per_choice_t T_c1_05_choice[] = { +static const per_choice_t T_c1_09_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishmentRequest, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishmentRequest }, { 1, &hf_lte_rrc_rrcConnectionRequest, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionRequest }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_05, T_c1_05_choice, + ett_lte_rrc_T_c1_09, T_c1_09_choice, NULL); return offset; @@ -30616,7 +33587,7 @@ static const value_string lte_rrc_UL_CCCH_MessageType_vals[] = { }; static const per_choice_t UL_CCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_05 }, + { 0, &hf_lte_rrc_c1_09 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_09 }, { 1, &hf_lte_rrc_messageClassExtension_05, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension_05 }, { 0, NULL, 0, NULL } }; @@ -30645,14 +33616,14 @@ dissect_lte_rrc_UL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_06_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence); + ett_lte_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence); return offset; } @@ -30660,7 +33631,7 @@ dissect_lte_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t CSFBParametersRequestCDMA2000_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_02 }, + { &hf_lte_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_06 }, { NULL, 0, 0, NULL } }; @@ -30674,7 +33645,7 @@ dissect_lte_rrc_CSFBParametersRequestCDMA2000_v8a0_IEs(tvbuff_t *tvb _U_, int of static const per_sequence_t CSFBParametersRequestCDMA2000_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSFBParametersRequestCDMA2000_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CSFBParametersRequestCDMA2000_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -30687,35 +33658,35 @@ dissect_lte_rrc_CSFBParametersRequestCDMA2000_r8_IEs(tvbuff_t *tvb _U_, int offs } -static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_02_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_06_vals[] = { { 0, "csfbParametersRequestCDMA2000-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_02_choice[] = { +static const per_choice_t T_criticalExtensions_06_choice[] = { { 0, &hf_lte_rrc_csfbParametersRequestCDMA2000_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CSFBParametersRequestCDMA2000_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_02 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_06 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice, + ett_lte_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice, NULL); return offset; @@ -30723,7 +33694,7 @@ dissect_lte_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t CSFBParametersRequestCDMA2000_sequence[] = { - { &hf_lte_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_02 }, + { &hf_lte_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_06 }, { NULL, 0, 0, NULL } }; @@ -30844,7 +33815,7 @@ dissect_lte_rrc_T_primaryPLMN_Suitable_r12(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t T_eag_2_sequence[] = { { &hf_lte_rrc_primaryPLMN_Suitable_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_primaryPLMN_Suitable_r12 }, - { &hf_lte_rrc_measResult_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_measResult_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { NULL, 0, 0, NULL } }; @@ -31553,8 +34524,8 @@ dissect_lte_rrc_T_measResultBestNeighCell_r10(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t MeasResultServFreq_r10_eag_1_sequence[] = { - { &hf_lte_rrc_measResultSCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, - { &hf_lte_rrc_measResultBestNeighCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_measResultSCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, + { &hf_lte_rrc_measResultBestNeighCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { NULL, 0, 0, NULL } }; @@ -31641,8 +34612,8 @@ dissect_lte_rrc_MeasResultCSI_RS_List_r12(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t MeasResults_eag_3_sequence[] = { - { &hf_lte_rrc_measId_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasId_v12xy }, - { &hf_lte_rrc_measResultPCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_measId_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasId_v1250 }, + { &hf_lte_rrc_measResultPCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { &hf_lte_rrc_measResultCSI_RS_List_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultCSI_RS_List_r12 }, { NULL, 0, 0, NULL } }; @@ -31674,14 +34645,14 @@ dissect_lte_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_nonCriticalExtension_13_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_17_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_13, T_nonCriticalExtension_13_sequence); + ett_lte_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence); return offset; } @@ -31689,7 +34660,7 @@ dissect_lte_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t MeasurementReport_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_13 }, + { &hf_lte_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_17 }, { NULL, 0, 0, NULL } }; @@ -31704,7 +34675,7 @@ dissect_lte_rrc_MeasurementReport_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t MeasurementReport_r8_IEs_sequence[] = { { &hf_lte_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasResults }, - { &hf_lte_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasurementReport_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasurementReport_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -31717,7 +34688,7 @@ dissect_lte_rrc_MeasurementReport_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const value_string lte_rrc_T_c1_15_vals[] = { +static const value_string lte_rrc_T_c1_19_vals[] = { { 0, "measurementReport-r8" }, { 1, "spare7" }, { 2, "spare6" }, @@ -31729,7 +34700,7 @@ static const value_string lte_rrc_T_c1_15_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_15_choice[] = { +static const per_choice_t T_c1_19_choice[] = { { 0, &hf_lte_rrc_measurementReport_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasurementReport_r8_IEs }, { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -31742,44 +34713,44 @@ static const per_choice_t T_c1_15_choice[] = { }; static int -dissect_lte_rrc_T_c1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_15, T_c1_15_choice, + ett_lte_rrc_T_c1_19, T_c1_19_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_11_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_15_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_11_choice[] = { - { 0, &hf_lte_rrc_c1_15 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_15 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_11 }, +static const per_choice_t T_criticalExtensions_15_choice[] = { + { 0, &hf_lte_rrc_c1_19 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_19 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_15 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice, + ett_lte_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice, NULL); return offset; @@ -31787,7 +34758,7 @@ dissect_lte_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t MeasurementReport_sequence[] = { - { &hf_lte_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_11 }, + { &hf_lte_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_15 }, { NULL, 0, 0, NULL } }; @@ -31863,29 +34834,29 @@ dissect_lte_rrc_T_logMeasAvailableMBSFN_r12(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t T_nonCriticalExtension_21_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_25_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence); + ett_lte_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence); return offset; } -static const per_sequence_t RRCConnectionReconfigurationComplete_v12xy_IEs_sequence[] = { +static const per_sequence_t RRCConnectionReconfigurationComplete_v1250_IEs_sequence[] = { { &hf_lte_rrc_logMeasAvailableMBSFN_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailableMBSFN_r12 }, - { &hf_lte_rrc_nonCriticalExtension_52, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_21 }, + { &hf_lte_rrc_nonCriticalExtension_61, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_25 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs, RRCConnectionReconfigurationComplete_v12xy_IEs_sequence); + ett_lte_rrc_RRCConnectionReconfigurationComplete_v1250_IEs, RRCConnectionReconfigurationComplete_v1250_IEs_sequence); return offset; } @@ -31893,7 +34864,7 @@ dissect_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReconfigurationComplete_v1130_IEs_sequence[] = { { &hf_lte_rrc_connEstFailInfoAvailable_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_connEstFailInfoAvailable_r11 }, - { &hf_lte_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_60, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -31909,7 +34880,7 @@ dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1130_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReconfigurationComplete_v1020_IEs_sequence[] = { { &hf_lte_rrc_rlf_InfoAvailable_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rlf_InfoAvailable_r10 }, { &hf_lte_rrc_logMeasAvailable_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailable_r10 }, - { &hf_lte_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_59, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -31924,7 +34895,7 @@ dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1020_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReconfigurationComplete_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -31938,7 +34909,7 @@ dissect_lte_rrc_RRCConnectionReconfigurationComplete_v8a0_IEs(tvbuff_t *tvb _U_, static const per_sequence_t RRCConnectionReconfigurationComplete_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_48, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_57, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReconfigurationComplete_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -31951,35 +34922,35 @@ dissect_lte_rrc_RRCConnectionReconfigurationComplete_r8_IEs(tvbuff_t *tvb _U_, i } -static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_17, T_criticalExtensionsFuture_17_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_17_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_21_vals[] = { { 0, "rrcConnectionReconfigurationComplete-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_17_choice[] = { +static const per_choice_t T_criticalExtensions_21_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReconfigurationComplete_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReconfigurationComplete_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_17 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_21 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_17, T_criticalExtensions_17_choice, + ett_lte_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice, NULL); return offset; @@ -31988,7 +34959,7 @@ dissect_lte_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReconfigurationComplete_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_17 }, + { &hf_lte_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_21 }, { NULL, 0, 0, NULL } }; @@ -32064,29 +35035,29 @@ dissect_lte_rrc_T_logMeasAvailableMBSFN_r12_01(tvbuff_t *tvb _U_, int offset _U_ } -static const per_sequence_t T_nonCriticalExtension_23_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_27_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence); + ett_lte_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence); return offset; } -static const per_sequence_t RRCConnectionReestablishmentComplete_v12xy_IEs_sequence[] = { +static const per_sequence_t RRCConnectionReestablishmentComplete_v1250_IEs_sequence[] = { { &hf_lte_rrc_logMeasAvailableMBSFN_r12_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailableMBSFN_r12_01 }, - { &hf_lte_rrc_nonCriticalExtension_60, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_23 }, + { &hf_lte_rrc_nonCriticalExtension_69, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_27 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs, RRCConnectionReestablishmentComplete_v12xy_IEs_sequence); + ett_lte_rrc_RRCConnectionReestablishmentComplete_v1250_IEs, RRCConnectionReestablishmentComplete_v1250_IEs_sequence); return offset; } @@ -32094,7 +35065,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReestablishmentComplete_v1130_IEs_sequence[] = { { &hf_lte_rrc_connEstFailInfoAvailable_r11_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_connEstFailInfoAvailable_r11_01 }, - { &hf_lte_rrc_nonCriticalExtension_59, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_68, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -32109,7 +35080,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1130_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReestablishmentComplete_v1020_IEs_sequence[] = { { &hf_lte_rrc_logMeasAvailable_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailable_r10_01 }, - { &hf_lte_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_67, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -32124,7 +35095,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1020_IEs(tvbuff_t *tvb _U_ static const per_sequence_t RRCConnectionReestablishmentComplete_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_57, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_66, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -32139,7 +35110,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_v8a0_IEs(tvbuff_t *tvb _U_, static const per_sequence_t RRCConnectionReestablishmentComplete_v920_IEs_sequence[] = { { &hf_lte_rrc_rlf_InfoAvailable_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rlf_InfoAvailable_r9 }, - { &hf_lte_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_65, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -32153,7 +35124,7 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_v920_IEs(tvbuff_t *tvb _U_, static const per_sequence_t RRCConnectionReestablishmentComplete_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_64, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionReestablishmentComplete_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -32166,35 +35137,35 @@ dissect_lte_rrc_RRCConnectionReestablishmentComplete_r8_IEs(tvbuff_t *tvb _U_, i } -static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_19_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_23_vals[] = { { 0, "rrcConnectionReestablishmentComplete-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_19_choice[] = { +static const per_choice_t T_criticalExtensions_23_choice[] = { { 0, &hf_lte_rrc_rrcConnectionReestablishmentComplete_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReestablishmentComplete_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_19 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_23 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice, + ett_lte_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice, NULL); return offset; @@ -32203,7 +35174,7 @@ dissect_lte_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RRCConnectionReestablishmentComplete_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_19 }, + { &hf_lte_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_23 }, { NULL, 0, 0, NULL } }; @@ -32360,31 +35331,31 @@ dissect_lte_rrc_T_logMeasAvailableMBSFN_r12_02(tvbuff_t *tvb _U_, int offset _U_ } -static const per_sequence_t T_nonCriticalExtension_29_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_33_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence); + ett_lte_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence); return offset; } -static const per_sequence_t RRCConnectionSetupComplete_v12xy_IEs_sequence[] = { +static const per_sequence_t RRCConnectionSetupComplete_v1250_IEs_sequence[] = { { &hf_lte_rrc_mobilityState_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mobilityState_r12 }, { &hf_lte_rrc_mobilityHistoryAvail_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mobilityHistoryAvail_r12 }, { &hf_lte_rrc_logMeasAvailableMBSFN_r12_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailableMBSFN_r12_02 }, - { &hf_lte_rrc_nonCriticalExtension_78, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_29 }, + { &hf_lte_rrc_nonCriticalExtension_87, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_33 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RRCConnectionSetupComplete_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs, RRCConnectionSetupComplete_v12xy_IEs_sequence); + ett_lte_rrc_RRCConnectionSetupComplete_v1250_IEs, RRCConnectionSetupComplete_v1250_IEs_sequence); return offset; } @@ -32392,7 +35363,7 @@ dissect_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs(tvbuff_t *tvb _U_, int offs static const per_sequence_t RRCConnectionSetupComplete_v1130_IEs_sequence[] = { { &hf_lte_rrc_connEstFailInfoAvailable_r11_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_connEstFailInfoAvailable_r11_02 }, - { &hf_lte_rrc_nonCriticalExtension_77, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_86, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -32410,7 +35381,7 @@ static const per_sequence_t RRCConnectionSetupComplete_v1020_IEs_sequence[] = { { &hf_lte_rrc_rlf_InfoAvailable_r10_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rlf_InfoAvailable_r10_01 }, { &hf_lte_rrc_logMeasAvailable_r10_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_logMeasAvailable_r10_02 }, { &hf_lte_rrc_rn_SubframeConfigReq_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rn_SubframeConfigReq_r10 }, - { &hf_lte_rrc_nonCriticalExtension_76, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_85, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -32425,7 +35396,7 @@ dissect_lte_rrc_RRCConnectionSetupComplete_v1020_IEs(tvbuff_t *tvb _U_, int offs static const per_sequence_t RRCConnectionSetupComplete_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_75, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_84, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -32442,7 +35413,7 @@ static const per_sequence_t RRCConnectionSetupComplete_r8_IEs_sequence[] = { { &hf_lte_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_maxPLMN_r11 }, { &hf_lte_rrc_registeredMME, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RegisteredMME }, { &hf_lte_rrc_dedicatedInfoNAS, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DedicatedInfoNAS }, - { &hf_lte_rrc_nonCriticalExtension_74, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_83, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRCConnectionSetupComplete_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -32455,7 +35426,7 @@ dissect_lte_rrc_RRCConnectionSetupComplete_r8_IEs(tvbuff_t *tvb _U_, int offset } -static const value_string lte_rrc_T_c1_25_vals[] = { +static const value_string lte_rrc_T_c1_29_vals[] = { { 0, "rrcConnectionSetupComplete-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -32463,7 +35434,7 @@ static const value_string lte_rrc_T_c1_25_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_25_choice[] = { +static const per_choice_t T_c1_29_choice[] = { { 0, &hf_lte_rrc_rrcConnectionSetupComplete_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionSetupComplete_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -32472,205 +35443,15 @@ static const per_choice_t T_c1_25_choice[] = { }; static int -dissect_lte_rrc_T_c1_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_25, T_c1_25_choice, + ett_lte_rrc_T_c1_29, T_c1_29_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_26_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_26_choice[] = { - { 0, &hf_lte_rrc_c1_25 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_25 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_26 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice, - NULL); - - return offset; -} - - -static const per_sequence_t RRCConnectionSetupComplete_sequence[] = { - { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_26 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RRCConnectionSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - - col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRCConnectionSetupComplete, RRCConnectionSetupComplete_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_32_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence); - - return offset; -} - - -static const per_sequence_t SecurityModeComplete_v8a0_IEs_sequence[] = { - { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_83, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_32 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityModeComplete_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityModeComplete_v8a0_IEs, SecurityModeComplete_v8a0_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SecurityModeComplete_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_82, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeComplete_v8a0_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityModeComplete_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityModeComplete_r8_IEs, SecurityModeComplete_r8_IEs_sequence); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_29_vals[] = { - { 0, "securityModeComplete-r8" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_29_choice[] = { - { 0, &hf_lte_rrc_securityModeComplete_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SecurityModeComplete_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_29 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice, - NULL); - - return offset; -} - - -static const per_sequence_t SecurityModeComplete_sequence[] = { - { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_29 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - - col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityModeComplete, SecurityModeComplete_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_33_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence); - - return offset; -} - - -static const per_sequence_t SecurityModeFailure_v8a0_IEs_sequence[] = { - { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_85, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_33 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityModeFailure_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityModeFailure_v8a0_IEs, SecurityModeFailure_v8a0_IEs_sequence); - - return offset; -} - - -static const per_sequence_t SecurityModeFailure_r8_IEs_sequence[] = { - { &hf_lte_rrc_nonCriticalExtension_84, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeFailure_v8a0_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SecurityModeFailure_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SecurityModeFailure_r8_IEs, SecurityModeFailure_r8_IEs_sequence); - - return offset; -} - - static const per_sequence_t T_criticalExtensionsFuture_30_sequence[] = { { NULL, 0, 0, NULL } }; @@ -32685,13 +35466,13 @@ dissect_lte_rrc_T_criticalExtensionsFuture_30(tvbuff_t *tvb _U_, int offset _U_, static const value_string lte_rrc_T_criticalExtensions_30_vals[] = { - { 0, "securityModeFailure-r8" }, + { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_30_choice[] = { - { 0, &hf_lte_rrc_securityModeFailure_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SecurityModeFailure_r8_IEs }, + { 0, &hf_lte_rrc_c1_29 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_29 }, { 1, &hf_lte_rrc_criticalExtensionsFuture_30, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_30 }, { 0, NULL, 0, NULL } }; @@ -32706,12 +35487,202 @@ dissect_lte_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t SecurityModeFailure_sequence[] = { +static const per_sequence_t RRCConnectionSetupComplete_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, { &hf_lte_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_30 }, { NULL, 0, 0, NULL } }; +static int +dissect_lte_rrc_RRCConnectionSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_RRCConnectionSetupComplete, RRCConnectionSetupComplete_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_36_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence); + + return offset; +} + + +static const per_sequence_t SecurityModeComplete_v8a0_IEs_sequence[] = { + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_nonCriticalExtension_92, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_36 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityModeComplete_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityModeComplete_v8a0_IEs, SecurityModeComplete_v8a0_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SecurityModeComplete_r8_IEs_sequence[] = { + { &hf_lte_rrc_nonCriticalExtension_91, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeComplete_v8a0_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityModeComplete_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityModeComplete_r8_IEs, SecurityModeComplete_r8_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_33_vals[] = { + { 0, "securityModeComplete-r8" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_33_choice[] = { + { 0, &hf_lte_rrc_securityModeComplete_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SecurityModeComplete_r8_IEs }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_33 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SecurityModeComplete_sequence[] = { + { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, + { &hf_lte_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_33 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityModeComplete, SecurityModeComplete_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_37_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence); + + return offset; +} + + +static const per_sequence_t SecurityModeFailure_v8a0_IEs_sequence[] = { + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_nonCriticalExtension_94, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_37 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityModeFailure_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityModeFailure_v8a0_IEs, SecurityModeFailure_v8a0_IEs_sequence); + + return offset; +} + + +static const per_sequence_t SecurityModeFailure_r8_IEs_sequence[] = { + { &hf_lte_rrc_nonCriticalExtension_93, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SecurityModeFailure_v8a0_IEs }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SecurityModeFailure_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SecurityModeFailure_r8_IEs, SecurityModeFailure_r8_IEs_sequence); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_34_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_34_vals[] = { + { 0, "securityModeFailure-r8" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_34_choice[] = { + { 0, &hf_lte_rrc_securityModeFailure_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SecurityModeFailure_r8_IEs }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_34 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SecurityModeFailure_sequence[] = { + { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, + { &hf_lte_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_34 }, + { NULL, 0, 0, NULL } +}; + static int dissect_lte_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { mac_lte_info *p_mac_lte_info; @@ -32735,106 +35706,6 @@ dissect_lte_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ -static int -dissect_lte_rrc_T_ueCapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - tvbuff_t *ue_cap_tvb=NULL; - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb); - - - -if(ue_cap_tvb){ - guint32 length; - proto_item *item; - proto_tree *subtree, *subtree2; - guint8 byte; - subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_UE_CapabilityRAT_Container); - switch(private_data_get_rat_type(actx)){ - case RAT_Type_eutra: - /* eutra */ - dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); - break; - case RAT_Type_utra: - /* utra */ - dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); - break; - case RAT_Type_geran_cs: - /* geran-cs */ - /* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */ - subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, 5, - ett_lte_rrc_UE_CapabilityRAT_Container, &item, "Mobile Station Classmark 2"); - byte = tvb_get_guint8(ue_cap_tvb, 0); - if (byte != 0x33) { - expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_type_value, - "Unexpected type value (found 0x%02X)", byte); - } - byte = tvb_get_guint8(ue_cap_tvb, 1); - if (byte != 0x03) { - expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_length_value, - "Unexpected length value (found %d)", byte); - } - de_ms_cm_2(ue_cap_tvb, subtree2, actx->pinfo, 2, 3, NULL, 0); - /* Mobile Station Classmark 3 is formatted as V */ - length = tvb_reported_length_remaining(ue_cap_tvb, 5); - subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 5, length, - ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "Mobile Station Classmark 3"); - de_ms_cm_3(ue_cap_tvb, subtree2, actx->pinfo, 5, length, NULL, 0); - break; - case RAT_Type_geran_ps: - /* geran-ps */ - /* MS Radio Access Capability is formatted as V */ - length = tvb_reported_length(ue_cap_tvb); - subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, length, - ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "MS Radio Access Capability"); - de_gmm_ms_radio_acc_cap(ue_cap_tvb, subtree2, actx->pinfo, 0, length, NULL, 0); - break; - case RAT_Type_cdma2000_1XRTT: - /* cdma2000-1XRTT */ - /* dissection of "A21 Mobile Subscription Information" could be added to packet-ansi_a.c */ - break; - default: - break; - } -} - - return offset; -} - - -static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = { - { &hf_lte_rrc_rat_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RAT_Type }, - { &hf_lte_rrc_ueCapabilityRAT_Container, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ueCapabilityRAT_Container }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - /* Initialise to invalid value */ - private_data_set_rat_type(actx, 0xFF); - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence); - - - - return offset; -} - - -static const per_sequence_t UE_CapabilityRAT_ContainerList_sequence_of[1] = { - { &hf_lte_rrc_UE_CapabilityRAT_ContainerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRAT_Container }, -}; - -static int -dissect_lte_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UE_CapabilityRAT_ContainerList, UE_CapabilityRAT_ContainerList_sequence_of, - 0, maxRAT_Capabilities, FALSE); - - return offset; -} - - - static int dissect_lte_rrc_INTEGER_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, @@ -32845,7 +35716,7 @@ dissect_lte_rrc_INTEGER_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static const per_sequence_t UE_RadioPagingInfo_r12_sequence[] = { - { &hf_lte_rrc_ue_Category_v12xy_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0 }, + { &hf_lte_rrc_ue_Category_v1250, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0 }, { NULL, 0, 0, NULL } }; @@ -32858,29 +35729,29 @@ dissect_lte_rrc_UE_RadioPagingInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_39_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_44_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence); + ett_lte_rrc_T_nonCriticalExtension_44, T_nonCriticalExtension_44_sequence); return offset; } -static const per_sequence_t UECapabilityInformation_v12xy_IEs_sequence[] = { +static const per_sequence_t UECapabilityInformation_v1250_IEs_sequence[] = { { &hf_lte_rrc_ue_RadioPagingInfo_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_RadioPagingInfo_r12 }, - { &hf_lte_rrc_nonCriticalExtension_101, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_39 }, + { &hf_lte_rrc_nonCriticalExtension_111, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_44 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UECapabilityInformation_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UECapabilityInformation_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UECapabilityInformation_v12xy_IEs, UECapabilityInformation_v12xy_IEs_sequence); + ett_lte_rrc_UECapabilityInformation_v1250_IEs, UECapabilityInformation_v1250_IEs_sequence); return offset; } @@ -32888,7 +35759,7 @@ dissect_lte_rrc_UECapabilityInformation_v12xy_IEs(tvbuff_t *tvb _U_, int offset static const per_sequence_t UECapabilityInformation_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_100, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityInformation_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_110, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityInformation_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -32903,7 +35774,7 @@ dissect_lte_rrc_UECapabilityInformation_v8a0_IEs(tvbuff_t *tvb _U_, int offset _ static const per_sequence_t UECapabilityInformation_r8_IEs_sequence[] = { { &hf_lte_rrc_ue_CapabilityRAT_ContainerList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRAT_ContainerList }, - { &hf_lte_rrc_nonCriticalExtension_99, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityInformation_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_109, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UECapabilityInformation_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -32916,7 +35787,7 @@ dissect_lte_rrc_UECapabilityInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string lte_rrc_T_c1_30_vals[] = { +static const value_string lte_rrc_T_c1_35_vals[] = { { 0, "ueCapabilityInformation-r8" }, { 1, "spare7" }, { 2, "spare6" }, @@ -32928,7 +35799,7 @@ static const value_string lte_rrc_T_c1_30_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_30_choice[] = { +static const per_choice_t T_c1_35_choice[] = { { 0, &hf_lte_rrc_ueCapabilityInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UECapabilityInformation_r8_IEs }, { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -32941,44 +35812,44 @@ static const per_choice_t T_c1_30_choice[] = { }; static int -dissect_lte_rrc_T_c1_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_30, T_c1_30_choice, + ett_lte_rrc_T_c1_35, T_c1_35_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_34_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_39_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_39, T_criticalExtensionsFuture_39_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_34_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_39_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_34_choice[] = { - { 0, &hf_lte_rrc_c1_30 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_30 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_34 }, +static const per_choice_t T_criticalExtensions_39_choice[] = { + { 0, &hf_lte_rrc_c1_35 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_35 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_39, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_39 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice, + ett_lte_rrc_T_criticalExtensions_39, T_criticalExtensions_39_choice, NULL); return offset; @@ -32987,7 +35858,7 @@ dissect_lte_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t UECapabilityInformation_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_34 }, + { &hf_lte_rrc_criticalExtensions_39, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_39 }, { NULL, 0, 0, NULL } }; @@ -33013,14 +35884,14 @@ dissect_lte_rrc_BIT_STRING_SIZE_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_43_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_48_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_43, T_nonCriticalExtension_43_sequence); + ett_lte_rrc_T_nonCriticalExtension_48, T_nonCriticalExtension_48_sequence); return offset; } @@ -33028,7 +35899,7 @@ dissect_lte_rrc_T_nonCriticalExtension_43(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t ULHandoverPreparationTransfer_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_114, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_43 }, + { &hf_lte_rrc_nonCriticalExtension_124, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_48 }, { NULL, 0, 0, NULL } }; @@ -33045,7 +35916,7 @@ static const per_sequence_t ULHandoverPreparationTransfer_r8_IEs_sequence[] = { { &hf_lte_rrc_cdma2000_Type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CDMA2000_Type }, { &hf_lte_rrc_meid , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_56 }, { &hf_lte_rrc_dedicatedInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DedicatedInfoCDMA2000 }, - { &hf_lte_rrc_nonCriticalExtension_113, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ULHandoverPreparationTransfer_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_123, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ULHandoverPreparationTransfer_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -33058,7 +35929,7 @@ dissect_lte_rrc_ULHandoverPreparationTransfer_r8_IEs(tvbuff_t *tvb _U_, int offs } -static const value_string lte_rrc_T_c1_33_vals[] = { +static const value_string lte_rrc_T_c1_38_vals[] = { { 0, "ulHandoverPreparationTransfer-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -33066,7 +35937,7 @@ static const value_string lte_rrc_T_c1_33_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_33_choice[] = { +static const per_choice_t T_c1_38_choice[] = { { 0, &hf_lte_rrc_ulHandoverPreparationTransfer_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ULHandoverPreparationTransfer_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -33075,44 +35946,44 @@ static const per_choice_t T_c1_33_choice[] = { }; static int -dissect_lte_rrc_T_c1_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_33, T_c1_33_choice, + ett_lte_rrc_T_c1_38, T_c1_38_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_37_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_42_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_37, T_criticalExtensionsFuture_37_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_42, T_criticalExtensionsFuture_42_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_37_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_42_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_37_choice[] = { - { 0, &hf_lte_rrc_c1_33 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_33 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_37, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_37 }, +static const per_choice_t T_criticalExtensions_42_choice[] = { + { 0, &hf_lte_rrc_c1_38 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_38 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_42, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_42 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_37, T_criticalExtensions_37_choice, + ett_lte_rrc_T_criticalExtensions_42, T_criticalExtensions_42_choice, NULL); return offset; @@ -33120,7 +35991,7 @@ dissect_lte_rrc_T_criticalExtensions_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t ULHandoverPreparationTransfer_sequence[] = { - { &hf_lte_rrc_criticalExtensions_37, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_37 }, + { &hf_lte_rrc_criticalExtensions_42, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_42 }, { NULL, 0, 0, NULL } }; @@ -33160,14 +36031,14 @@ dissect_lte_rrc_T_dedicatedInfoType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_44_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_49_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_44(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_44, T_nonCriticalExtension_44_sequence); + ett_lte_rrc_T_nonCriticalExtension_49, T_nonCriticalExtension_49_sequence); return offset; } @@ -33175,7 +36046,7 @@ dissect_lte_rrc_T_nonCriticalExtension_44(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t ULInformationTransfer_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_116, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_44 }, + { &hf_lte_rrc_nonCriticalExtension_126, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_49 }, { NULL, 0, 0, NULL } }; @@ -33190,7 +36061,7 @@ dissect_lte_rrc_ULInformationTransfer_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t ULInformationTransfer_r8_IEs_sequence[] = { { &hf_lte_rrc_dedicatedInfoType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dedicatedInfoType_01 }, - { &hf_lte_rrc_nonCriticalExtension_115, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ULInformationTransfer_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_125, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ULInformationTransfer_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -33203,7 +36074,7 @@ dissect_lte_rrc_ULInformationTransfer_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_c1_34_vals[] = { +static const value_string lte_rrc_T_c1_39_vals[] = { { 0, "ulInformationTransfer-r8" }, { 1, "spare3" }, { 2, "spare2" }, @@ -33211,7 +36082,7 @@ static const value_string lte_rrc_T_c1_34_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_34_choice[] = { +static const per_choice_t T_c1_39_choice[] = { { 0, &hf_lte_rrc_ulInformationTransfer_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ULInformationTransfer_r8_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -33220,44 +36091,44 @@ static const per_choice_t T_c1_34_choice[] = { }; static int -dissect_lte_rrc_T_c1_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_34, T_c1_34_choice, + ett_lte_rrc_T_c1_39, T_c1_39_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_38_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_43_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_38, T_criticalExtensionsFuture_38_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_43, T_criticalExtensionsFuture_43_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_38_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_43_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_38_choice[] = { - { 0, &hf_lte_rrc_c1_34 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_34 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_38, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_38 }, +static const per_choice_t T_criticalExtensions_43_choice[] = { + { 0, &hf_lte_rrc_c1_39 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_39 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_43, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_43 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_38, T_criticalExtensions_38_choice, + ett_lte_rrc_T_criticalExtensions_43, T_criticalExtensions_43_choice, NULL); return offset; @@ -33265,7 +36136,7 @@ dissect_lte_rrc_T_criticalExtensions_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t ULInformationTransfer_sequence[] = { - { &hf_lte_rrc_criticalExtensions_38, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_38 }, + { &hf_lte_rrc_criticalExtensions_43, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_43 }, { NULL, 0, 0, NULL } }; @@ -33321,14 +36192,14 @@ dissect_lte_rrc_DRB_CountInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_01_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_05_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence); + ett_lte_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence); return offset; } @@ -33336,7 +36207,7 @@ dissect_lte_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t CounterCheckResponse_v8a0_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_01 }, + { &hf_lte_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_05 }, { NULL, 0, 0, NULL } }; @@ -33351,7 +36222,7 @@ dissect_lte_rrc_CounterCheckResponse_v8a0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t CounterCheckResponse_r8_IEs_sequence[] = { { &hf_lte_rrc_drb_CountInfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_DRB_CountInfoList }, - { &hf_lte_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CounterCheckResponse_v8a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CounterCheckResponse_v8a0_IEs }, { NULL, 0, 0, NULL } }; @@ -33364,35 +36235,35 @@ dissect_lte_rrc_CounterCheckResponse_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, a } -static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_01_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_05_vals[] = { { 0, "counterCheckResponse-r8" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_01_choice[] = { +static const per_choice_t T_criticalExtensions_05_choice[] = { { 0, &hf_lte_rrc_counterCheckResponse_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CounterCheckResponse_r8_IEs }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_01 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_05 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice, + ett_lte_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice, NULL); return offset; @@ -33401,7 +36272,7 @@ dissect_lte_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t CounterCheckResponse_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_01 }, + { &hf_lte_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_05 }, { NULL, 0, 0, NULL } }; @@ -33796,60 +36667,57 @@ dissect_lte_rrc_RLF_Report_r9_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_failedPCellId_v12xy_sequence[] = { +static const per_sequence_t T_failedPCellId_v1250_sequence[] = { { &hf_lte_rrc_tac_FailedPCell_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TrackingAreaCode }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_failedPCellId_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_failedPCellId_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_failedPCellId_v12xy, T_failedPCellId_v12xy_sequence); + ett_lte_rrc_T_failedPCellId_v1250, T_failedPCellId_v1250_sequence); return offset; } -static const value_string lte_rrc_RSRQ_Type_r12_vals[] = { - { 0, "crsSymbols" }, - { 1, "allSymbols" }, - { 2, "wideBand" }, - { 3, "allSymbolsWithWideBand" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_RSRQ_Type_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t MeasResult2EUTRA_v12xy_sequence[] = { - { &hf_lte_rrc_rsrqType_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Type_r12 }, +static const per_sequence_t RSRQ_Type_r12_sequence[] = { + { &hf_lte_rrc_allSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_wideBand_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_MeasResult2EUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RSRQ_Type_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasResult2EUTRA_v12xy, MeasResult2EUTRA_v12xy_sequence); + ett_lte_rrc_RSRQ_Type_r12, RSRQ_Type_r12_sequence); return offset; } -static const per_sequence_t MeasResultList2EUTRA_v12xy_sequence_of[1] = { - { &hf_lte_rrc_MeasResultList2EUTRA_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasResult2EUTRA_v12xy }, +static const per_sequence_t MeasResult2EUTRA_v1250_sequence[] = { + { &hf_lte_rrc_rsrq_Type_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Type_r12 }, + { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_MeasResultList2EUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_MeasResult2EUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MeasResult2EUTRA_v1250, MeasResult2EUTRA_v1250_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultList2EUTRA_v1250_sequence_of[1] = { + { &hf_lte_rrc_MeasResultList2EUTRA_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasResult2EUTRA_v1250 }, +}; + +static int +dissect_lte_rrc_MeasResultList2EUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasResultList2EUTRA_v12xy, MeasResultList2EUTRA_v12xy_sequence_of, + ett_lte_rrc_MeasResultList2EUTRA_v1250, MeasResultList2EUTRA_v1250_sequence_of, 1, maxFreq, FALSE); return offset; @@ -33857,10 +36725,10 @@ dissect_lte_rrc_MeasResultList2EUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t RLF_Report_r9_eag_4_sequence[] = { - { &hf_lte_rrc_failedPCellId_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_failedPCellId_v12xy }, - { &hf_lte_rrc_measResultLastServCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_failedPCellId_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_failedPCellId_v1250 }, + { &hf_lte_rrc_measResultLastServCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { &hf_lte_rrc_lastServCellRSRQ_Type_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Type_r12 }, - { &hf_lte_rrc_measResultListEUTRA_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v12xy }, + { &hf_lte_rrc_measResultListEUTRA_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v1250 }, { NULL, 0, 0, NULL } }; @@ -34002,7 +36870,7 @@ dissect_lte_rrc_LogMeasInfo_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const per_sequence_t T_mbsfn_Area_r12_sequence[] = { - { &hf_lte_rrc_mbsfn_AreaId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_255 }, + { &hf_lte_rrc_mbsfn_AreaId_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_AreaId_r12 }, { &hf_lte_rrc_carrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, { NULL, 0, 0, NULL } }; @@ -34036,9 +36904,56 @@ dissect_lte_rrc_BLER_Range_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } + +static int +dissect_lte_rrc_T_n_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *n_r12_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, + 3, 3, FALSE, &n_r12_tvb, NULL); + + if (n_r12_tvb) { + actx->created_item = proto_tree_add_uint(tree, hf_index, n_r12_tvb, 0, 1, tvb_get_bits8(n_r12_tvb, 0, 3)); + } + + + return offset; +} + + + +static int +dissect_lte_rrc_T_m_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *m_r12_tvb = NULL; + offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, + 8, 8, FALSE, &m_r12_tvb, NULL); + + if (m_r12_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, m_r12_tvb, 0, 1, ENC_BIG_ENDIAN); + } + + + return offset; +} + + +static const per_sequence_t T_blocksReceived_r12_sequence[] = { + { &hf_lte_rrc_n_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_n_r12 }, + { &hf_lte_rrc_m_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_m_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_blocksReceived_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_blocksReceived_r12, T_blocksReceived_r12_sequence); + + return offset; +} + + static const per_sequence_t BLER_Result_r12_sequence[] = { { &hf_lte_rrc_bler_r12 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BLER_Range_r12 }, - { &hf_lte_rrc_blocksReceived_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_11 }, + { &hf_lte_rrc_blocksReceived_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_blocksReceived_r12 }, { NULL, 0, 0, NULL } }; @@ -34091,11 +37006,11 @@ dissect_lte_rrc_DataBLER_MCH_ResultList_r12(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t MeasResultMBSFN_r12_sequence[] = { - { &hf_lte_rrc_mbsfn_Area_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_mbsfn_Area_r12 }, - { &hf_lte_rrc_rsrpResultMBSFN_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, - { &hf_lte_rrc_rsrqResultMBSFN_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_RSRQ_Range_r12 }, - { &hf_lte_rrc_signallingBLER_Result_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BLER_Result_r12 }, - { &hf_lte_rrc_dataBLER_MCH_ResultList_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DataBLER_MCH_ResultList_r12 }, + { &hf_lte_rrc_mbsfn_Area_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_mbsfn_Area_r12 }, + { &hf_lte_rrc_rsrpResultMBSFN_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RSRP_Range }, + { &hf_lte_rrc_rsrqResultMBSFN_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MBSFN_RSRQ_Range_r12 }, + { &hf_lte_rrc_signallingBLER_Result_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BLER_Result_r12 }, + { &hf_lte_rrc_dataBLER_MCH_ResultList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_DataBLER_MCH_ResultList_r12 }, { NULL, 0, 0, NULL } }; @@ -34116,7 +37031,7 @@ static int dissect_lte_rrc_MeasResultListMBSFN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_lte_rrc_MeasResultListMBSFN_r12, MeasResultListMBSFN_r12_sequence_of, - 1, 8, FALSE); + 1, maxMBSFN_Area, FALSE); return offset; } @@ -34124,9 +37039,9 @@ dissect_lte_rrc_MeasResultListMBSFN_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t LogMeasInfo_r10_eag_2_sequence[] = { { &hf_lte_rrc_measResultListMBSFN_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultListMBSFN_r12 }, - { &hf_lte_rrc_measResultServCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_measResultServCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { &hf_lte_rrc_servCellRSRQ_Type_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Type_r12 }, - { &hf_lte_rrc_measResultListEUTRA_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v12xy }, + { &hf_lte_rrc_measResultListEUTRA_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v1250 }, { NULL, 0, 0, NULL } }; @@ -34239,9 +37154,9 @@ dissect_lte_rrc_T_measResultNeighCells_r11(tvbuff_t *tvb _U_, int offset _U_, as static const per_sequence_t ConnEstFailReport_r11_eag_1_sequence[] = { - { &hf_lte_rrc_measResultFailedCell_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, + { &hf_lte_rrc_measResultFailedCell_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v1250 }, { &hf_lte_rrc_failedCellRSRQ_Type_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Type_r12 }, - { &hf_lte_rrc_measResultListEUTRA_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v12xy }, + { &hf_lte_rrc_measResultListEUTRA_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_v1250 }, { NULL, 0, 0, NULL } }; @@ -34327,8 +37242,8 @@ dissect_lte_rrc_T_timeSpent_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static const per_sequence_t VisitedCellInfo_r12_sequence[] = { - { &hf_lte_rrc_visitedCellId_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_visitedCellId_r12 }, - { &hf_lte_rrc_timeSpent_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_timeSpent_r12 }, + { &hf_lte_rrc_visitedCellId_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_visitedCellId_r12 }, + { &hf_lte_rrc_timeSpent_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_timeSpent_r12 }, { NULL, 0, 0, NULL } }; @@ -34364,29 +37279,29 @@ dissect_lte_rrc_MobilityHistoryReport_r12(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_42_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_47_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_42, T_nonCriticalExtension_42_sequence); + ett_lte_rrc_T_nonCriticalExtension_47, T_nonCriticalExtension_47_sequence); return offset; } -static const per_sequence_t UEInformationResponse_v12xy_IEs_sequence[] = { +static const per_sequence_t UEInformationResponse_v1250_IEs_sequence[] = { { &hf_lte_rrc_mobilityHistoryReport_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MobilityHistoryReport_r12 }, - { &hf_lte_rrc_nonCriticalExtension_112, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_42 }, + { &hf_lte_rrc_nonCriticalExtension_122, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_47 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UEInformationResponse_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UEInformationResponse_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UEInformationResponse_v12xy_IEs, UEInformationResponse_v12xy_IEs_sequence); + ett_lte_rrc_UEInformationResponse_v1250_IEs, UEInformationResponse_v1250_IEs_sequence); return offset; } @@ -34394,7 +37309,7 @@ dissect_lte_rrc_UEInformationResponse_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U static const per_sequence_t UEInformationResponse_v1130_IEs_sequence[] = { { &hf_lte_rrc_connEstFailReport_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ConnEstFailReport_r11 }, - { &hf_lte_rrc_nonCriticalExtension_111, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_121, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -34409,7 +37324,7 @@ dissect_lte_rrc_UEInformationResponse_v1130_IEs(tvbuff_t *tvb _U_, int offset _U static const per_sequence_t UEInformationResponse_v1020_IEs_sequence[] = { { &hf_lte_rrc_logMeasReport_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_LogMeasReport_r10 }, - { &hf_lte_rrc_nonCriticalExtension_110, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_120, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -34424,7 +37339,7 @@ dissect_lte_rrc_UEInformationResponse_v1020_IEs(tvbuff_t *tvb _U_, int offset _U static const per_sequence_t UEInformationResponse_v930_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_02 }, - { &hf_lte_rrc_nonCriticalExtension_109, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_119, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -34440,7 +37355,7 @@ dissect_lte_rrc_UEInformationResponse_v930_IEs(tvbuff_t *tvb _U_, int offset _U_ static const per_sequence_t UEInformationResponse_r9_IEs_sequence[] = { { &hf_lte_rrc_rach_Report_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rach_Report_r9 }, { &hf_lte_rrc_rlf_Report_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLF_Report_r9 }, - { &hf_lte_rrc_nonCriticalExtension_107, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v930_IEs }, + { &hf_lte_rrc_nonCriticalExtension_117, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UEInformationResponse_v930_IEs }, { NULL, 0, 0, NULL } }; @@ -34453,7 +37368,7 @@ dissect_lte_rrc_UEInformationResponse_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_c1_32_vals[] = { +static const value_string lte_rrc_T_c1_37_vals[] = { { 0, "ueInformationResponse-r9" }, { 1, "spare3" }, { 2, "spare2" }, @@ -34461,7 +37376,7 @@ static const value_string lte_rrc_T_c1_32_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_32_choice[] = { +static const per_choice_t T_c1_37_choice[] = { { 0, &hf_lte_rrc_ueInformationResponse_r9_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UEInformationResponse_r9_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -34470,44 +37385,44 @@ static const per_choice_t T_c1_32_choice[] = { }; static int -dissect_lte_rrc_T_c1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_32, T_c1_32_choice, + ett_lte_rrc_T_c1_37, T_c1_37_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_36_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_41_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_36, T_criticalExtensionsFuture_36_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_41, T_criticalExtensionsFuture_41_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_36_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_41_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_36_choice[] = { - { 0, &hf_lte_rrc_c1_32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_32 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_36, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_36 }, +static const per_choice_t T_criticalExtensions_41_choice[] = { + { 0, &hf_lte_rrc_c1_37 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_37 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_41, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_41 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_36, T_criticalExtensions_36_choice, + ett_lte_rrc_T_criticalExtensions_41, T_criticalExtensions_41_choice, NULL); return offset; @@ -34516,7 +37431,7 @@ dissect_lte_rrc_T_criticalExtensions_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t UEInformationResponse_r9_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_36, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_36 }, + { &hf_lte_rrc_criticalExtensions_41, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_41 }, { NULL, 0, 0, NULL } }; @@ -34572,14 +37487,14 @@ dissect_lte_rrc_T_carrierFreq_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_17_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_21_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence); + ett_lte_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence); return offset; } @@ -34587,7 +37502,7 @@ dissect_lte_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t ProximityIndication_v930_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_39, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_17 }, + { &hf_lte_rrc_nonCriticalExtension_48, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_21 }, { NULL, 0, 0, NULL } }; @@ -34603,7 +37518,7 @@ dissect_lte_rrc_ProximityIndication_v930_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t ProximityIndication_r9_IEs_sequence[] = { { &hf_lte_rrc_type_r9 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_type_r9 }, { &hf_lte_rrc_carrierFreq_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_carrierFreq_r9 }, - { &hf_lte_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ProximityIndication_v930_IEs }, + { &hf_lte_rrc_nonCriticalExtension_47, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ProximityIndication_v930_IEs }, { NULL, 0, 0, NULL } }; @@ -34616,7 +37531,7 @@ dissect_lte_rrc_ProximityIndication_r9_IEs(tvbuff_t *tvb _U_, int offset _U_, as } -static const value_string lte_rrc_T_c1_17_vals[] = { +static const value_string lte_rrc_T_c1_21_vals[] = { { 0, "proximityIndication-r9" }, { 1, "spare3" }, { 2, "spare2" }, @@ -34624,7 +37539,7 @@ static const value_string lte_rrc_T_c1_17_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_17_choice[] = { +static const per_choice_t T_c1_21_choice[] = { { 0, &hf_lte_rrc_proximityIndication_r9_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_ProximityIndication_r9_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -34633,44 +37548,44 @@ static const per_choice_t T_c1_17_choice[] = { }; static int -dissect_lte_rrc_T_c1_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_17, T_c1_17_choice, + ett_lte_rrc_T_c1_21, T_c1_21_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_17, T_criticalExtensionsFuture_17_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_13_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_17_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_13_choice[] = { - { 0, &hf_lte_rrc_c1_17 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_17 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_13 }, +static const per_choice_t T_criticalExtensions_17_choice[] = { + { 0, &hf_lte_rrc_c1_21 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_21 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_17 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice, + ett_lte_rrc_T_criticalExtensions_17, T_criticalExtensions_17_choice, NULL); return offset; @@ -34678,7 +37593,7 @@ dissect_lte_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t ProximityIndication_r9_sequence[] = { - { &hf_lte_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_13 }, + { &hf_lte_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_17 }, { NULL, 0, 0, NULL } }; @@ -34694,14 +37609,14 @@ dissect_lte_rrc_ProximityIndication_r9(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_19_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_23_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence); + ett_lte_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence); return offset; } @@ -34709,7 +37624,7 @@ dissect_lte_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RNReconfigurationComplete_r10_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_19 }, + { &hf_lte_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_23 }, { NULL, 0, 0, NULL } }; @@ -34722,7 +37637,7 @@ dissect_lte_rrc_RNReconfigurationComplete_r10_IEs(tvbuff_t *tvb _U_, int offset } -static const value_string lte_rrc_T_c1_19_vals[] = { +static const value_string lte_rrc_T_c1_23_vals[] = { { 0, "rnReconfigurationComplete-r10" }, { 1, "spare3" }, { 2, "spare2" }, @@ -34730,7 +37645,7 @@ static const value_string lte_rrc_T_c1_19_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_19_choice[] = { +static const per_choice_t T_c1_23_choice[] = { { 0, &hf_lte_rrc_rnReconfigurationComplete_r10_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RNReconfigurationComplete_r10_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -34739,44 +37654,44 @@ static const per_choice_t T_c1_19_choice[] = { }; static int -dissect_lte_rrc_T_c1_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_19, T_c1_19_choice, + ett_lte_rrc_T_c1_23, T_c1_23_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_15_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_19_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_15_choice[] = { - { 0, &hf_lte_rrc_c1_19 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_19 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_15 }, +static const per_choice_t T_criticalExtensions_19_choice[] = { + { 0, &hf_lte_rrc_c1_23 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_23 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_19 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice, + ett_lte_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice, NULL); return offset; @@ -34785,7 +37700,7 @@ dissect_lte_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t RNReconfigurationComplete_r10_sequence[] = { { &hf_lte_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRC_TransactionIdentifier }, - { &hf_lte_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_15 }, + { &hf_lte_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_19 }, { NULL, 0, 0, NULL } }; @@ -34849,14 +37764,14 @@ dissect_lte_rrc_CountingResponseList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1 } -static const per_sequence_t T_nonCriticalExtension_10_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_14_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence); + ett_lte_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence); return offset; } @@ -34866,7 +37781,7 @@ static const per_sequence_t MBMSCountingResponse_r10_IEs_sequence[] = { { &hf_lte_rrc_mbsfn_AreaIndex_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_maxMBSFN_Area_1 }, { &hf_lte_rrc_countingResponseList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CountingResponseList_r10 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_21, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_10 }, + { &hf_lte_rrc_nonCriticalExtension_30, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_14 }, { NULL, 0, 0, NULL } }; @@ -34879,7 +37794,7 @@ dissect_lte_rrc_MBMSCountingResponse_r10_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_c1_13_vals[] = { +static const value_string lte_rrc_T_c1_17_vals[] = { { 0, "countingResponse-r10" }, { 1, "spare3" }, { 2, "spare2" }, @@ -34887,7 +37802,7 @@ static const value_string lte_rrc_T_c1_13_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_13_choice[] = { +static const per_choice_t T_c1_17_choice[] = { { 0, &hf_lte_rrc_countingResponse_r10, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBMSCountingResponse_r10_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -34896,44 +37811,44 @@ static const per_choice_t T_c1_13_choice[] = { }; static int -dissect_lte_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_13, T_c1_13_choice, + ett_lte_rrc_T_c1_17, T_c1_17_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_09, T_criticalExtensionsFuture_09_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_09_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_13_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_09_choice[] = { - { 0, &hf_lte_rrc_c1_13 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_13 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_09 }, +static const per_choice_t T_criticalExtensions_13_choice[] = { + { 0, &hf_lte_rrc_c1_17 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_17 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_13 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice, + ett_lte_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice, NULL); return offset; @@ -34941,7 +37856,7 @@ dissect_lte_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t MBMSCountingResponse_r10_sequence[] = { - { &hf_lte_rrc_criticalExtensions_09, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_09 }, + { &hf_lte_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_13 }, { NULL, 0, 0, NULL } }; @@ -35036,14 +37951,14 @@ dissect_lte_rrc_T_rstd_InterFreqIndication_r10(tvbuff_t *tvb _U_, int offset _U_ } -static const per_sequence_t T_nonCriticalExtension_07_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_11_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence); + ett_lte_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence); return offset; } @@ -35052,7 +37967,7 @@ dissect_lte_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t InterFreqRSTDMeasurementIndication_r10_IEs_sequence[] = { { &hf_lte_rrc_rstd_InterFreqIndication_r10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_rstd_InterFreqIndication_r10 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_07 }, + { &hf_lte_rrc_nonCriticalExtension_24, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_11 }, { NULL, 0, 0, NULL } }; @@ -35065,7 +37980,7 @@ dissect_lte_rrc_InterFreqRSTDMeasurementIndication_r10_IEs(tvbuff_t *tvb _U_, in } -static const value_string lte_rrc_T_c1_11_vals[] = { +static const value_string lte_rrc_T_c1_15_vals[] = { { 0, "interFreqRSTDMeasurementIndication-r10" }, { 1, "spare3" }, { 2, "spare2" }, @@ -35073,7 +37988,7 @@ static const value_string lte_rrc_T_c1_11_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_11_choice[] = { +static const per_choice_t T_c1_15_choice[] = { { 0, &hf_lte_rrc_interFreqRSTDMeasurementIndication_r10_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_InterFreqRSTDMeasurementIndication_r10_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -35082,44 +37997,44 @@ static const per_choice_t T_c1_11_choice[] = { }; static int -dissect_lte_rrc_T_c1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_11, T_c1_11_choice, + ett_lte_rrc_T_c1_15, T_c1_15_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_07_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_11_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_07_choice[] = { - { 0, &hf_lte_rrc_c1_11 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_11 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_07 }, +static const per_choice_t T_criticalExtensions_11_choice[] = { + { 0, &hf_lte_rrc_c1_15 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_15 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_11 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice, + ett_lte_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice, NULL); return offset; @@ -35127,7 +38042,7 @@ dissect_lte_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t InterFreqRSTDMeasurementIndication_r10_sequence[] = { - { &hf_lte_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_07 }, + { &hf_lte_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_11 }, { NULL, 0, 0, NULL } }; @@ -35143,7 +38058,7 @@ dissect_lte_rrc_InterFreqRSTDMeasurementIndication_r10(tvbuff_t *tvb _U_, int of } -static const value_string lte_rrc_T_c1_06_vals[] = { +static const value_string lte_rrc_T_c1_10_vals[] = { { 0, "csfbParametersRequestCDMA2000" }, { 1, "measurementReport" }, { 2, "rrcConnectionReconfigurationComplete" }, @@ -35163,7 +38078,7 @@ static const value_string lte_rrc_T_c1_06_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_06_choice[] = { +static const per_choice_t T_c1_10_choice[] = { { 0, &hf_lte_rrc_csfbParametersRequestCDMA2000, ASN1_NO_EXTENSIONS , dissect_lte_rrc_CSFBParametersRequestCDMA2000 }, { 1, &hf_lte_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MeasurementReport }, { 2, &hf_lte_rrc_rrcConnectionReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_lte_rrc_RRCConnectionReconfigurationComplete }, @@ -35184,16 +38099,16 @@ static const per_choice_t T_c1_06_choice[] = { }; static int -dissect_lte_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_06, T_c1_06_choice, + ett_lte_rrc_T_c1_10, T_c1_10_choice, NULL); return offset; } -static const value_string lte_rrc_T_powerPrefIndication_r11_vals[] = { +static const value_string lte_rrc_T_powerPrefIndication_r11_01_vals[] = { { 0, "normal" }, { 1, "lowPowerConsumption" }, { 0, NULL } @@ -35201,7 +38116,7 @@ static const value_string lte_rrc_T_powerPrefIndication_r11_vals[] = { static int -dissect_lte_rrc_T_powerPrefIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_powerPrefIndication_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); @@ -35209,23 +38124,23 @@ dissect_lte_rrc_T_powerPrefIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t T_nonCriticalExtension_37_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_42_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence); + ett_lte_rrc_T_nonCriticalExtension_42, T_nonCriticalExtension_42_sequence); return offset; } static const per_sequence_t UEAssistanceInformation_r11_IEs_sequence[] = { - { &hf_lte_rrc_powerPrefIndication_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_powerPrefIndication_r11 }, + { &hf_lte_rrc_powerPrefIndication_r11_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_powerPrefIndication_r11_01 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_95, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_37 }, + { &hf_lte_rrc_nonCriticalExtension_105, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_42 }, { NULL, 0, 0, NULL } }; @@ -35238,7 +38153,7 @@ dissect_lte_rrc_UEAssistanceInformation_r11_IEs(tvbuff_t *tvb _U_, int offset _U } -static const value_string lte_rrc_T_c1_28_vals[] = { +static const value_string lte_rrc_T_c1_33_vals[] = { { 0, "ueAssistanceInformation-r11" }, { 1, "spare3" }, { 2, "spare2" }, @@ -35246,7 +38161,7 @@ static const value_string lte_rrc_T_c1_28_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_28_choice[] = { +static const per_choice_t T_c1_33_choice[] = { { 0, &hf_lte_rrc_ueAssistanceInformation_r11_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UEAssistanceInformation_r11_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -35255,44 +38170,44 @@ static const per_choice_t T_c1_28_choice[] = { }; static int -dissect_lte_rrc_T_c1_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_28, T_c1_28_choice, + ett_lte_rrc_T_c1_33, T_c1_33_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_32_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_37_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_37, T_criticalExtensionsFuture_37_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_32_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_37_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_32_choice[] = { - { 0, &hf_lte_rrc_c1_28 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_28 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_32 }, +static const per_choice_t T_criticalExtensions_37_choice[] = { + { 0, &hf_lte_rrc_c1_33 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_33 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_37, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_37 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice, + ett_lte_rrc_T_criticalExtensions_37, T_criticalExtensions_37_choice, NULL); return offset; @@ -35300,7 +38215,7 @@ dissect_lte_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t UEAssistanceInformation_r11_sequence[] = { - { &hf_lte_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_32 }, + { &hf_lte_rrc_criticalExtensions_37, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_37 }, { NULL, 0, 0, NULL } }; @@ -35505,14 +38420,14 @@ dissect_lte_rrc_TDM_AssistanceInfo_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_06_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_10_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence); + ett_lte_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence); return offset; } @@ -35522,7 +38437,7 @@ static const per_sequence_t InDeviceCoexIndication_r11_IEs_sequence[] = { { &hf_lte_rrc_affectedCarrierFreqList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AffectedCarrierFreqList_r11 }, { &hf_lte_rrc_tdm_AssistanceInfo_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_TDM_AssistanceInfo_r11 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_06 }, + { &hf_lte_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_10 }, { NULL, 0, 0, NULL } }; @@ -35535,7 +38450,7 @@ dissect_lte_rrc_InDeviceCoexIndication_r11_IEs(tvbuff_t *tvb _U_, int offset _U_ } -static const value_string lte_rrc_T_c1_10_vals[] = { +static const value_string lte_rrc_T_c1_14_vals[] = { { 0, "inDeviceCoexIndication-r11" }, { 1, "spare3" }, { 2, "spare2" }, @@ -35543,145 +38458,8 @@ static const value_string lte_rrc_T_c1_10_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_10_choice[] = { - { 0, &hf_lte_rrc_inDeviceCoexIndication_r11_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_InDeviceCoexIndication_r11_IEs }, - { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 3, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_c1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_10, T_c1_10_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_06_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_06_choice[] = { - { 0, &hf_lte_rrc_c1_10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_10 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_06 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice, - NULL); - - return offset; -} - - -static const per_sequence_t InDeviceCoexIndication_r11_sequence[] = { - { &hf_lte_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_06 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_InDeviceCoexIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - - col_append_str(actx->pinfo->cinfo, COL_INFO, "InDeviceCoexIndication-r11"); - - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_InDeviceCoexIndication_r11, InDeviceCoexIndication_r11_sequence); - - return offset; -} - - -static const per_sequence_t CarrierFreqListMBMS_r11_sequence_of[1] = { - { &hf_lte_rrc_CarrierFreqListMBMS_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, -}; - -static int -dissect_lte_rrc_CarrierFreqListMBMS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqListMBMS_r11, CarrierFreqListMBMS_r11_sequence_of, - 1, maxFreqMBMS_r11, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_mbms_Priority_r11_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_mbms_Priority_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_11_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence); - - return offset; -} - - -static const per_sequence_t MBMSInterestIndication_r11_IEs_sequence[] = { - { &hf_lte_rrc_mbms_FreqList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListMBMS_r11 }, - { &hf_lte_rrc_mbms_Priority_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbms_Priority_r11 }, - { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_11 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_MBMSInterestIndication_r11_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MBMSInterestIndication_r11_IEs, MBMSInterestIndication_r11_IEs_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_14_vals[] = { - { 0, "interestIndication-r11" }, - { 1, "spare3" }, - { 2, "spare2" }, - { 3, "spare1" }, - { 0, NULL } -}; - static const per_choice_t T_c1_14_choice[] = { - { 0, &hf_lte_rrc_interestIndication_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBMSInterestIndication_r11_IEs }, + { 0, &hf_lte_rrc_inDeviceCoexIndication_r11_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_InDeviceCoexIndication_r11_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 3, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -35733,11 +38511,148 @@ dissect_lte_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ } -static const per_sequence_t MBMSInterestIndication_r11_sequence[] = { +static const per_sequence_t InDeviceCoexIndication_r11_sequence[] = { { &hf_lte_rrc_criticalExtensions_10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_10 }, { NULL, 0, 0, NULL } }; +static int +dissect_lte_rrc_InDeviceCoexIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "InDeviceCoexIndication-r11"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_InDeviceCoexIndication_r11, InDeviceCoexIndication_r11_sequence); + + return offset; +} + + +static const per_sequence_t CarrierFreqListMBMS_r11_sequence_of[1] = { + { &hf_lte_rrc_CarrierFreqListMBMS_r11_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, +}; + +static int +dissect_lte_rrc_CarrierFreqListMBMS_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_CarrierFreqListMBMS_r11, CarrierFreqListMBMS_r11_sequence_of, + 1, maxFreqMBMS_r11, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_mbms_Priority_r11_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_mbms_Priority_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_15_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence); + + return offset; +} + + +static const per_sequence_t MBMSInterestIndication_r11_IEs_sequence[] = { + { &hf_lte_rrc_mbms_FreqList_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListMBMS_r11 }, + { &hf_lte_rrc_mbms_Priority_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbms_Priority_r11 }, + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_15 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_MBMSInterestIndication_r11_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_MBMSInterestIndication_r11_IEs, MBMSInterestIndication_r11_IEs_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_c1_18_vals[] = { + { 0, "interestIndication-r11" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_18_choice[] = { + { 0, &hf_lte_rrc_interestIndication_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBMSInterestIndication_r11_IEs }, + { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1_18, T_c1_18_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_14, T_criticalExtensionsFuture_14_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_14_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_14_choice[] = { + { 0, &hf_lte_rrc_c1_18 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_18 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_14 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MBMSInterestIndication_r11_sequence[] = { + { &hf_lte_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_14 }, + { NULL, 0, 0, NULL } +}; + static int dissect_lte_rrc_MBMSInterestIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -35768,24 +38683,10 @@ dissect_lte_rrc_T_failureType_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_measResultNeighCells_r12_sequence[] = { - { &hf_lte_rrc_measResultListEUTRA_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_measResultNeighCells_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_measResultNeighCells_r12, T_measResultNeighCells_r12_sequence); - - return offset; -} - - static const per_sequence_t FailureReportSCG_r12_sequence[] = { - { &hf_lte_rrc_failureType_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_failureType_r12 }, + { &hf_lte_rrc_failureType_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_failureType_r12 }, { &hf_lte_rrc_measResultServFreqList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultServFreqList_r10 }, - { &hf_lte_rrc_measResultNeighCells_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measResultNeighCells_r12 }, + { &hf_lte_rrc_measResultNeighCells_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MeasResultList2EUTRA_r9 }, { NULL, 0, 0, NULL } }; @@ -35798,14 +38699,14 @@ dissect_lte_rrc_FailureReportSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_nonCriticalExtension_30_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_34_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence); + ett_lte_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence); return offset; } @@ -35813,7 +38714,7 @@ dissect_lte_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t SCGFailureInformation_r12_IEs_sequence[] = { { &hf_lte_rrc_failureReportSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FailureReportSCG_r12 }, - { &hf_lte_rrc_nonCriticalExtension_79, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_30 }, + { &hf_lte_rrc_nonCriticalExtension_88, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_34 }, { NULL, 0, 0, NULL } }; @@ -35826,7 +38727,7 @@ dissect_lte_rrc_SCGFailureInformation_r12_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_c1_26_vals[] = { +static const value_string lte_rrc_T_c1_30_vals[] = { { 0, "scgFailureInformation-r12" }, { 1, "spare3" }, { 2, "spare2" }, @@ -35834,7 +38735,7 @@ static const value_string lte_rrc_T_c1_26_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_26_choice[] = { +static const per_choice_t T_c1_30_choice[] = { { 0, &hf_lte_rrc_scgFailureInformation_r12_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SCGFailureInformation_r12_IEs }, { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -35843,44 +38744,44 @@ static const per_choice_t T_c1_26_choice[] = { }; static int -dissect_lte_rrc_T_c1_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_c1_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_26, T_c1_26_choice, + ett_lte_rrc_T_c1_30, T_c1_30_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence); + ett_lte_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence); return offset; } -static const value_string lte_rrc_T_criticalExtensions_27_vals[] = { +static const value_string lte_rrc_T_criticalExtensions_31_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_27_choice[] = { - { 0, &hf_lte_rrc_c1_26 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_26 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_27 }, +static const per_choice_t T_criticalExtensions_31_choice[] = { + { 0, &hf_lte_rrc_c1_30 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_30 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_31 }, { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice, + ett_lte_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice, NULL); return offset; @@ -35888,7 +38789,7 @@ dissect_lte_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ static const per_sequence_t SCGFailureInformation_r12_sequence[] = { - { &hf_lte_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_27 }, + { &hf_lte_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_31 }, { NULL, 0, 0, NULL } }; @@ -35904,12 +38805,186 @@ dissect_lte_rrc_SCGFailureInformation_r12(tvbuff_t *tvb _U_, int offset _U_, asn } + +static int +dissect_lte_rrc_SL_DestinationIdentity_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 24, 24, FALSE, NULL, NULL); + + return offset; +} + + +static const per_sequence_t SL_DestinationInfoList_r12_sequence_of[1] = { + { &hf_lte_rrc_SL_DestinationInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DestinationIdentity_r12 }, +}; + +static int +dissect_lte_rrc_SL_DestinationInfoList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_DestinationInfoList_r12, SL_DestinationInfoList_r12_sequence_of, + 1, maxSL_Dest_r12, FALSE); + + return offset; +} + + +static const per_sequence_t SL_CommTxResourceReq_r12_sequence[] = { + { &hf_lte_rrc_carrierFreq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_destinationInfoList_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SL_DestinationInfoList_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_CommTxResourceReq_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_CommTxResourceReq_r12, SL_CommTxResourceReq_r12_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_discRxInterest_r12_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discRxInterest_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 63U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_38_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence); + + return offset; +} + + +static const per_sequence_t SidelinkUEInformation_r12_IEs_sequence[] = { + { &hf_lte_rrc_commRxInterestedFreq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, + { &hf_lte_rrc_commTxResourceReq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_CommTxResourceReq_r12 }, + { &hf_lte_rrc_discRxInterest_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_discRxInterest_r12 }, + { &hf_lte_rrc_discTxResourceReq_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_1_63 }, + { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, + { &hf_lte_rrc_nonCriticalExtension_95, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_38 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SidelinkUEInformation_r12_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SidelinkUEInformation_r12_IEs, SidelinkUEInformation_r12_IEs_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_c1_32_vals[] = { + { 0, "sidelinkUEInformation-r12" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_32_choice[] = { + { 0, &hf_lte_rrc_sidelinkUEInformation_r12_02, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SidelinkUEInformation_r12_IEs }, + { 1, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 2, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 3, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_c1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_c1_32, T_c1_32_choice, + NULL); + + return offset; +} + + +static const per_sequence_t T_criticalExtensionsFuture_35_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence); + + return offset; +} + + +static const value_string lte_rrc_T_criticalExtensions_35_vals[] = { + { 0, "c1" }, + { 1, "criticalExtensionsFuture" }, + { 0, NULL } +}; + +static const per_choice_t T_criticalExtensions_35_choice[] = { + { 0, &hf_lte_rrc_c1_32 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_32 }, + { 1, &hf_lte_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_35 }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_lte_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice, + NULL); + + return offset; +} + + +static const per_sequence_t SidelinkUEInformation_r12_sequence[] = { + { &hf_lte_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_35 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SidelinkUEInformation_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SidelinkUEInformation-r12"); + + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SidelinkUEInformation_r12, SidelinkUEInformation_r12_sequence); + + return offset; +} + + static const value_string lte_rrc_T_c2_01_vals[] = { { 0, "ueAssistanceInformation-r11" }, { 1, "inDeviceCoexIndication-r11" }, { 2, "mbmsInterestIndication-r11" }, { 3, "scgFailureInformation-r12" }, - { 4, "spare12" }, + { 4, "sidelinkUEInformation-r12" }, { 5, "spare11" }, { 6, "spare10" }, { 7, "spare9" }, @@ -35927,9 +39002,9 @@ static const value_string lte_rrc_T_c2_01_vals[] = { static const per_choice_t T_c2_01_choice[] = { { 0, &hf_lte_rrc_ueAssistanceInformation_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UEAssistanceInformation_r11 }, { 1, &hf_lte_rrc_inDeviceCoexIndication_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_InDeviceCoexIndication_r11 }, - { 2, &hf_lte_rrc_mbmsInterestIndication_r11, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBMSInterestIndication_r11 }, + { 2, &hf_lte_rrc_mbmsInterestIndication_r11_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_MBMSInterestIndication_r11 }, { 3, &hf_lte_rrc_scgFailureInformation_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SCGFailureInformation_r12 }, - { 4, &hf_lte_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, + { 4, &hf_lte_rrc_sidelinkUEInformation_r12_01, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SidelinkUEInformation_r12 }, { 5, &hf_lte_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 6, &hf_lte_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, { 7, &hf_lte_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, @@ -35996,7 +39071,7 @@ static const value_string lte_rrc_UL_DCCH_MessageType_vals[] = { }; static const per_choice_t UL_DCCH_MessageType_choice[] = { - { 0, &hf_lte_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_06 }, + { 0, &hf_lte_rrc_c1_10 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_10 }, { 1, &hf_lte_rrc_messageClassExtension_06, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_messageClassExtension_06 }, { 0, NULL, 0, NULL } }; @@ -36083,14 +39158,14 @@ dissect_lte_rrc_IdleModeMobilityControlInfo_v9e0(tvbuff_t *tvb _U_, int offset _ } -static const per_sequence_t T_nonCriticalExtension_26_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_30_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_26, T_nonCriticalExtension_26_sequence); + ett_lte_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence); return offset; } @@ -36099,7 +39174,7 @@ dissect_lte_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t RRCConnectionRelease_v9e0_IEs_sequence[] = { { &hf_lte_rrc_redirectedCarrierInfo_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RedirectedCarrierInfo_v9e0 }, { &hf_lte_rrc_idleModeMobilityControlInfo_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IdleModeMobilityControlInfo_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_69, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_26 }, + { &hf_lte_rrc_nonCriticalExtension_78, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_30 }, { NULL, 0, 0, NULL } }; @@ -36164,14 +39239,14 @@ dissect_lte_rrc_MultiBandInfoList_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_c } -static const per_sequence_t T_nonCriticalExtension_35_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_40_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence); + ett_lte_rrc_T_nonCriticalExtension_40, T_nonCriticalExtension_40_sequence); return offset; } @@ -36180,7 +39255,7 @@ dissect_lte_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t SystemInformationBlockType1_v9e0_IEs_sequence[] = { { &hf_lte_rrc_freqBandIndicator_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FreqBandIndicator_v9e0 }, { &hf_lte_rrc_multiBandInfoList_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MultiBandInfoList_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_91, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_35 }, + { &hf_lte_rrc_nonCriticalExtension_101, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_40 }, { NULL, 0, 0, NULL } }; @@ -36195,7 +39270,7 @@ dissect_lte_rrc_SystemInformationBlockType1_v9e0_IEs(tvbuff_t *tvb _U_, int offs static const per_sequence_t SystemInformationBlockType1_v8h0_IEs_sequence[] = { { &hf_lte_rrc_multiBandInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MultiBandInfoList }, - { &hf_lte_rrc_nonCriticalExtension_90, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v9e0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_100, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType1_v9e0_IEs }, { NULL, 0, 0, NULL } }; @@ -36222,14 +39297,14 @@ dissect_lte_rrc_RLF_Report_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t T_nonCriticalExtension_41_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_46_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_41, T_nonCriticalExtension_41_sequence); + ett_lte_rrc_T_nonCriticalExtension_46, T_nonCriticalExtension_46_sequence); return offset; } @@ -36237,7 +39312,7 @@ dissect_lte_rrc_T_nonCriticalExtension_41(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t UEInformationResponse_v9e0_IEs_sequence[] = { { &hf_lte_rrc_rlf_Report_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLF_Report_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_108, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_41 }, + { &hf_lte_rrc_nonCriticalExtension_118, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_46 }, { NULL, 0, 0, NULL } }; @@ -36264,14 +39339,14 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_maxMultiBands_OF_AdditionalSpectrumEmission(tvbu } -static const per_sequence_t T_nonCriticalExtension_45_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_50_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_45, T_nonCriticalExtension_45_sequence); + ett_lte_rrc_T_nonCriticalExtension_50, T_nonCriticalExtension_50_sequence); return offset; } @@ -36279,7 +39354,7 @@ dissect_lte_rrc_T_nonCriticalExtension_45(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t SystemInformationBlockType2_v9e0_IEs_sequence[] = { { &hf_lte_rrc_ul_CarrierFreq_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_118, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_45 }, + { &hf_lte_rrc_nonCriticalExtension_128, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_50 }, { NULL, 0, 0, NULL } }; @@ -36294,7 +39369,7 @@ dissect_lte_rrc_SystemInformationBlockType2_v9e0_IEs(tvbuff_t *tvb _U_, int offs static const per_sequence_t SystemInformationBlockType2_v8h0_IEs_sequence[] = { { &hf_lte_rrc_multiBandInfoList_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxMultiBands_OF_AdditionalSpectrumEmission }, - { &hf_lte_rrc_nonCriticalExtension_117, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType2_v9e0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_127, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType2_v9e0_IEs }, { NULL, 0, 0, NULL } }; @@ -36364,150 +39439,14 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v9e0(tvbuff_ } -static const value_string lte_rrc_T_reducedMeasPerformance_r12_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reducedMeasPerformance_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t InterFreqCarrierFreqInfo_v12xy_sequence[] = { - { &hf_lte_rrc_reducedMeasPerformance_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12 }, - { &hf_lte_rrc_q_QualMinRSRQ_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, +static const per_sequence_t T_nonCriticalExtension_51_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_InterFreqCarrierFreqInfo_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_InterFreqCarrierFreqInfo_v12xy, InterFreqCarrierFreqInfo_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t InterFreqCarrierFreqList_v12xy_sequence_of[1] = { - { &hf_lte_rrc_InterFreqCarrierFreqList_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_InterFreqCarrierFreqInfo_v12xy }, -}; - -static int -dissect_lte_rrc_InterFreqCarrierFreqList_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_InterFreqCarrierFreqList_v12xy, InterFreqCarrierFreqList_v12xy_sequence_of, - 1, maxFreq, FALSE); - - return offset; -} - - -static const per_sequence_t T_threshX_Q_r12_sequence[] = { - { &hf_lte_rrc_threshX_HighQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, - { &hf_lte_rrc_threshX_LowQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_threshX_Q_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_threshX_Q_r12, T_threshX_Q_r12_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_reducedMeasPerformance_r12_01_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reducedMeasPerformance_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t InterFreqCarrierFreqInfo_r12_sequence[] = { - { &hf_lte_rrc_dl_CarrierFreq_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, - { &hf_lte_rrc_q_RxLevMin_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Q_RxLevMin }, - { &hf_lte_rrc_p_Max_r12 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_P_Max }, - { &hf_lte_rrc_t_ReselectionEUTRA_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_Reselection }, - { &hf_lte_rrc_t_ReselectionEUTRA_SF_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_SpeedStateScaleFactors }, - { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_allowedMeasBandwidth_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AllowedMeasBandwidth }, - { &hf_lte_rrc_presenceAntennaPort1_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PresenceAntennaPort1 }, - { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, - { &hf_lte_rrc_neighCellConfig_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellConfig }, - { &hf_lte_rrc_q_OffsetFreq_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_OffsetRange }, - { &hf_lte_rrc_interFreqNeighCellList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqNeighCellList }, - { &hf_lte_rrc_interFreqBlackCellList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqBlackCellList }, - { &hf_lte_rrc_q_QualMin_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, - { &hf_lte_rrc_threshX_Q_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_threshX_Q_r12 }, - { &hf_lte_rrc_q_QualMinWB_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_Q_QualMin_r9 }, - { &hf_lte_rrc_multiBandInfoList_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_MultiBandInfoList_r11 }, - { &hf_lte_rrc_reducedMeasPerformance_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_InterFreqCarrierFreqInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_InterFreqCarrierFreqInfo_r12, InterFreqCarrierFreqInfo_r12_sequence); - - return offset; -} - - -static const per_sequence_t InterFreqCarrierFreqListExt_r12_sequence_of[1] = { - { &hf_lte_rrc_InterFreqCarrierFreqListExt_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_InterFreqCarrierFreqInfo_r12 }, -}; - -static int -dissect_lte_rrc_InterFreqCarrierFreqListExt_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_InterFreqCarrierFreqListExt_r12, InterFreqCarrierFreqListExt_r12_sequence_of, - 1, maxFreq, FALSE); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_46_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_46(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_46, T_nonCriticalExtension_46_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType5_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_interFreqCarrierFreqList_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqCarrierFreqList_v12xy }, - { &hf_lte_rrc_interFreqCarrierFreqListExt_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_InterFreqCarrierFreqListExt_r12 }, - { &hf_lte_rrc_nonCriticalExtension_121, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_46 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType5_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType5_v12xy_IEs, SystemInformationBlockType5_v12xy_IEs_sequence); + ett_lte_rrc_T_nonCriticalExtension_51, T_nonCriticalExtension_51_sequence); return offset; } @@ -36515,7 +39454,7 @@ dissect_lte_rrc_SystemInformationBlockType5_v12xy_IEs(tvbuff_t *tvb _U_, int off static const per_sequence_t SystemInformationBlockType5_v9e0_IEs_sequence[] = { { &hf_lte_rrc_interFreqCarrierFreqList_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_120, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType5_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_51 }, { NULL, 0, 0, NULL } }; @@ -36530,7 +39469,7 @@ dissect_lte_rrc_SystemInformationBlockType5_v9e0_IEs(tvbuff_t *tvb _U_, int offs static const per_sequence_t SystemInformationBlockType5_v8h0_IEs_sequence[] = { { &hf_lte_rrc_interFreqCarrierFreqList_v8h0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v8h0 }, - { &hf_lte_rrc_nonCriticalExtension_119, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType5_v9e0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_129, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType5_v9e0_IEs }, { NULL, 0, 0, NULL } }; @@ -36543,16 +39482,6 @@ dissect_lte_rrc_SystemInformationBlockType5_v8h0_IEs(tvbuff_t *tvb _U_, int offs } - -static int -dissect_lte_rrc_FreqBandIndicator_UTRA_FDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 1U, 86U, NULL, FALSE); - - return offset; -} - - static const per_sequence_t SEQUENCE_SIZE_1_maxMultiBands_OF_FreqBandIndicator_UTRA_FDD_sequence_of[1] = { { &hf_lte_rrc_multiBandInfoList_item_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_UTRA_FDD }, }; @@ -36595,258 +39524,14 @@ dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v } -static const value_string lte_rrc_T_reducedMeasPerformance_r12_02_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reducedMeasPerformance_r12_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CarrierFreqInfoUTRA_v12xy_sequence[] = { - { &hf_lte_rrc_reducedMeasPerformance_r12_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_02 }, +static const per_sequence_t T_nonCriticalExtension_52_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_CarrierFreqInfoUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqInfoUTRA_v12xy, CarrierFreqInfoUTRA_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy_sequence_of[1] = { - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqInfoUTRA_v12xy }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy, SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy_sequence_of, - 1, maxUTRA_FDD_Carrier, FALSE); - - return offset; -} - - -static const per_sequence_t SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy_sequence_of[1] = { - { &hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqInfoUTRA_v12xy }, -}; - -static int -dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy, SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy_sequence_of, - 1, maxUTRA_TDD_Carrier, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p_MaxUTRA_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -50, 33U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - - -static int -dissect_lte_rrc_T_q_QualMin_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -24, 0U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dB"); - - - return offset; -} - - -static const per_sequence_t T_threshX_Q_r12_01_sequence[] = { - { &hf_lte_rrc_threshX_HighQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, - { &hf_lte_rrc_threshX_LowQ_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThresholdQ_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_threshX_Q_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_threshX_Q_r12_01, T_threshX_Q_r12_01_sequence); - - return offset; -} - - -static const per_sequence_t FreqBandIndicator_UTRA_FDD_r12_sequence_of[1] = { - { &hf_lte_rrc_multiBandInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_UTRA_FDD }, -}; - -static int -dissect_lte_rrc_FreqBandIndicator_UTRA_FDD_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_FreqBandIndicator_UTRA_FDD_r12, FreqBandIndicator_UTRA_FDD_r12_sequence_of, - 1, maxMultiBands, FALSE); - - return offset; -} - - -static const value_string lte_rrc_T_reducedMeasPerformance_r12_03_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reducedMeasPerformance_r12_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CarrierFreqUTRA_FDD_Ext_r12_sequence[] = { - { &hf_lte_rrc_carrierFreq_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, - { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, - { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_q_RxLevMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M60_M13 }, - { &hf_lte_rrc_p_MaxUTRA_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_MaxUTRA_r12 }, - { &hf_lte_rrc_q_QualMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_q_QualMin_r12 }, - { &hf_lte_rrc_threshX_Q_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_threshX_Q_r12_01 }, - { &hf_lte_rrc_multiBandInfoList_r12_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_FreqBandIndicator_UTRA_FDD_r12 }, - { &hf_lte_rrc_reducedMeasPerformance_r12_03, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_03 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12, CarrierFreqUTRA_FDD_Ext_r12_sequence); - - return offset; -} - - -static const per_sequence_t CarrierFreqListUTRA_FDD_Ext_r12_sequence_of[1] = { - { &hf_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqUTRA_FDD_Ext_r12 }, -}; - -static int -dissect_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12, CarrierFreqListUTRA_FDD_Ext_r12_sequence_of, - 1, maxUTRA_FDD_Carrier, FALSE); - - return offset; -} - - - -static int -dissect_lte_rrc_T_p_MaxUTRA_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - -50, 33U, NULL, FALSE); - - proto_item_append_text(actx->created_item, "dBm"); - - - return offset; -} - - -static const value_string lte_rrc_T_reducedMeasPerformance_r12_04_vals[] = { - { 0, "true" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_reducedMeasPerformance_r12_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - -static const per_sequence_t CarrierFreqUTRA_TDD_r12_sequence[] = { - { &hf_lte_rrc_carrierFreq_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueUTRA }, - { &hf_lte_rrc_cellReselectionPriority_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_CellReselectionPriority }, - { &hf_lte_rrc_threshX_High_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_threshX_Low_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ReselectionThreshold }, - { &hf_lte_rrc_q_RxLevMin_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_M60_M13 }, - { &hf_lte_rrc_p_MaxUTRA_r12_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_p_MaxUTRA_r12_01 }, - { &hf_lte_rrc_reducedMeasPerformance_r12_04, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_reducedMeasPerformance_r12_04 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CarrierFreqUTRA_TDD_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqUTRA_TDD_r12, CarrierFreqUTRA_TDD_r12_sequence); - - return offset; -} - - -static const per_sequence_t CarrierFreqListUTRA_TDD_Ext_r12_sequence_of[1] = { - { &hf_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CarrierFreqUTRA_TDD_r12 }, -}; - -static int -dissect_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12, CarrierFreqListUTRA_TDD_Ext_r12_sequence_of, - 1, maxUTRA_TDD_Carrier, FALSE); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_47_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_47, T_nonCriticalExtension_47_sequence); - - return offset; -} - - -static const per_sequence_t SystemInformationBlockType6_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy }, - { &hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy }, - { &hf_lte_rrc_carrierFreqListUTRA_FDD_Ext_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_FDD_Ext_r12 }, - { &hf_lte_rrc_carrierFreqListUTRA_TDD_Ext_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CarrierFreqListUTRA_TDD_Ext_r12 }, - { &hf_lte_rrc_nonCriticalExtension_123, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_47 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SystemInformationBlockType6_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SystemInformationBlockType6_v12xy_IEs, SystemInformationBlockType6_v12xy_IEs_sequence); + ett_lte_rrc_T_nonCriticalExtension_52, T_nonCriticalExtension_52_sequence); return offset; } @@ -36854,7 +39539,7 @@ dissect_lte_rrc_SystemInformationBlockType6_v12xy_IEs(tvbuff_t *tvb _U_, int off static const per_sequence_t SystemInformationBlockType6_v8h0_IEs_sequence[] = { { &hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0 }, - { &hf_lte_rrc_nonCriticalExtension_122, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SystemInformationBlockType6_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_131, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_52 }, { NULL, 0, 0, NULL } }; @@ -36867,12 +39552,48 @@ dissect_lte_rrc_SystemInformationBlockType6_v8h0_IEs(tvbuff_t *tvb _U_, int offs } +static const value_string lte_rrc_T_subframeAssignmentSL_r12_vals[] = { + { 0, "none" }, + { 1, "sa0" }, + { 2, "sa1" }, + { 3, "sa2" }, + { 4, "sa3" }, + { 5, "sa4" }, + { 6, "sa5" }, + { 7, "sa6" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_subframeAssignmentSL_r12(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, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t TDD_ConfigSL_r12_sequence[] = { + { &hf_lte_rrc_subframeAssignmentSL_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_subframeAssignmentSL_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_TDD_ConfigSL_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_TDD_ConfigSL_r12, TDD_ConfigSL_r12_sequence); + + return offset; +} + + static const value_string lte_rrc_AccessStratumRelease_vals[] = { { 0, "rel8" }, { 1, "rel9" }, { 2, "rel10" }, { 3, "rel11" }, - { 4, "spare4" }, + { 4, "rel12" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, @@ -39417,14 +42138,14 @@ dissect_lte_rrc_T_tdd_FDD_CA_PCellDuplex_r12(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_phy_TDD_ReConfig_TDDPCell_r12_vals[] = { +static const value_string lte_rrc_T_phy_TDD_ReConfig_TDD_PCell_r12_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_lte_rrc_T_phy_TDD_ReConfig_TDDPCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_phy_TDD_ReConfig_TDD_PCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); @@ -39432,14 +42153,14 @@ dissect_lte_rrc_T_phy_TDD_ReConfig_TDDPCell_r12(tvbuff_t *tvb _U_, int offset _U } -static const value_string lte_rrc_T_phy_TDD_ReConfig_FDDPCell_r12_vals[] = { +static const value_string lte_rrc_T_phy_TDD_ReConfig_FDD_PCell_r12_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_lte_rrc_T_phy_TDD_ReConfig_FDDPCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_phy_TDD_ReConfig_FDD_PCell_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); @@ -39553,8 +42274,8 @@ dissect_lte_rrc_T_numberOfAggregatedPRB_r12(tvbuff_t *tvb _U_, int offset _U_, a static const per_sequence_t NAICS_Capability_Entry_r12_sequence[] = { - { &hf_lte_rrc_numberOfNAICSCapableCC_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_5 }, - { &hf_lte_rrc_numberOfAggregatedPRB_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_numberOfAggregatedPRB_r12 }, + { &hf_lte_rrc_numberOfNAICS_CapableCC_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_1_5 }, + { &hf_lte_rrc_numberOfAggregatedPRB_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_numberOfAggregatedPRB_r12 }, { NULL, 0, 0, NULL } }; @@ -39581,12 +42302,12 @@ dissect_lte_rrc_NAICS_Capability_List_r12(tvbuff_t *tvb _U_, int offset _U_, asn } -static const per_sequence_t PhyLayerParameters_v12xy_sequence[] = { +static const per_sequence_t PhyLayerParameters_v1250_sequence[] = { { &hf_lte_rrc_e_HARQ_Pattern_FDD_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_e_HARQ_Pattern_FDD_r12 }, { &hf_lte_rrc_enhanced_4TxCodebook_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_enhanced_4TxCodebook_r12 }, { &hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_tdd_FDD_CA_PCellDuplex_r12 }, - { &hf_lte_rrc_phy_TDD_ReConfig_TDDPCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_phy_TDD_ReConfig_TDDPCell_r12 }, - { &hf_lte_rrc_phy_TDD_ReConfig_FDDPCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_phy_TDD_ReConfig_FDDPCell_r12 }, + { &hf_lte_rrc_phy_TDD_ReConfig_TDD_PCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_phy_TDD_ReConfig_TDD_PCell_r12 }, + { &hf_lte_rrc_phy_TDD_ReConfig_FDD_PCell_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_phy_TDD_ReConfig_FDD_PCell_r12 }, { &hf_lte_rrc_pusch_FeedbackMode_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pusch_FeedbackMode_r12 }, { &hf_lte_rrc_pusch_SRS_PowerControl_SubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_pusch_SRS_PowerControl_SubframeSet_r12 }, { &hf_lte_rrc_csi_SubframeSet_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_SubframeSet_r12 }, @@ -39597,9 +42318,9 @@ static const per_sequence_t PhyLayerParameters_v12xy_sequence[] = { }; static int -dissect_lte_rrc_PhyLayerParameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_PhyLayerParameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_PhyLayerParameters_v12xy, PhyLayerParameters_v12xy_sequence); + ett_lte_rrc_PhyLayerParameters_v1250, PhyLayerParameters_v1250_sequence); return offset; } @@ -39620,28 +42341,44 @@ dissect_lte_rrc_T_dl_256QAM_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const per_sequence_t SupportedBandEUTRA_v12xy_sequence[] = { - { &hf_lte_rrc_dl_256QAM_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dl_256QAM_r12 }, - { NULL, 0, 0, NULL } +static const value_string lte_rrc_T_ul_64QAM_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + static int -dissect_lte_rrc_SupportedBandEUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SupportedBandEUTRA_v12xy, SupportedBandEUTRA_v12xy_sequence); +dissect_lte_rrc_T_ul_64QAM_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t SupportedBandListEUTRA_v12xy_sequence_of[1] = { - { &hf_lte_rrc_SupportedBandListEUTRA_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SupportedBandEUTRA_v12xy }, +static const per_sequence_t SupportedBandEUTRA_v1250_sequence[] = { + { &hf_lte_rrc_dl_256QAM_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_dl_256QAM_r12 }, + { &hf_lte_rrc_ul_64QAM_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ul_64QAM_r12 }, + { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_SupportedBandListEUTRA_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_SupportedBandEUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SupportedBandEUTRA_v1250, SupportedBandEUTRA_v1250_sequence); + + return offset; +} + + +static const per_sequence_t SupportedBandListEUTRA_v1250_sequence_of[1] = { + { &hf_lte_rrc_SupportedBandListEUTRA_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SupportedBandEUTRA_v1250 }, +}; + +static int +dissect_lte_rrc_SupportedBandListEUTRA_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SupportedBandListEUTRA_v12xy, SupportedBandListEUTRA_v12xy_sequence_of, + ett_lte_rrc_SupportedBandListEUTRA_v1250, SupportedBandListEUTRA_v1250_sequence_of, 1, maxBands, FALSE); return offset; @@ -39663,33 +42400,33 @@ dissect_lte_rrc_T_asynchronous_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } +static const value_string lte_rrc_T_supportedCellGrouping_r12_vals[] = { + { 0, "threeEntries-r12" }, + { 1, "fourEntries-r12" }, + { 2, "fiveEntries-r12" }, + { 0, NULL } +}; -static int -dissect_lte_rrc_BIT_STRING_SIZE_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 1, 15, FALSE, NULL, NULL); - - return offset; -} - - -static const per_sequence_t T_supported_r12_sequence[] = { - { &hf_lte_rrc_asynchronous_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_asynchronous_r12 }, - { &hf_lte_rrc_supportedCellGrouping_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_1_15 }, - { NULL, 0, 0, NULL } +static const per_choice_t T_supportedCellGrouping_r12_choice[] = { + { 0, &hf_lte_rrc_threeEntries_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_3 }, + { 1, &hf_lte_rrc_fourEntries_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_7 }, + { 2, &hf_lte_rrc_fiveEntries_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_BIT_STRING_SIZE_15 }, + { 0, NULL, 0, NULL } }; static int -dissect_lte_rrc_T_supported_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_supported_r12, T_supported_r12_sequence); +dissect_lte_rrc_T_supportedCellGrouping_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_supportedCellGrouping_r12, T_supportedCellGrouping_r12_choice, + NULL); return offset; } static const per_sequence_t T_dc_Support_r12_sequence[] = { - { &hf_lte_rrc_supported_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_supported_r12 }, + { &hf_lte_rrc_asynchronous_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_asynchronous_r12 }, + { &hf_lte_rrc_supportedCellGrouping_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_supportedCellGrouping_r12 }, { NULL, 0, 0, NULL } }; @@ -39712,60 +42449,87 @@ dissect_lte_rrc_BIT_STRING_SIZE_1_maxNAICS_Entries_r12(tvbuff_t *tvb _U_, int of } -static const per_sequence_t BandCombinationParameters_v12xy_sequence[] = { - { &hf_lte_rrc_dc_Support_r12, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_dc_Support_r12 }, - { &hf_lte_rrc_supportedNAICS_2CRS_AP_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_1_maxNAICS_Entries_r12 }, - { NULL, 0, 0, NULL } -}; static int -dissect_lte_rrc_BandCombinationParameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_BandCombinationParameters_v12xy, BandCombinationParameters_v12xy_sequence); +dissect_lte_rrc_BIT_STRING_SIZE_1_maxBands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 1, maxBands, FALSE, NULL, NULL); return offset; } -static const per_sequence_t SupportedBandCombination_v12xy_sequence_of[1] = { - { &hf_lte_rrc_SupportedBandCombination_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandCombinationParameters_v12xy }, +static const per_sequence_t BandCombinationParameters_v1250_sequence[] = { + { &hf_lte_rrc_dc_Support_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_dc_Support_r12 }, + { &hf_lte_rrc_supportedNAICS_2CRS_AP_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_1_maxNAICS_Entries_r12 }, + { &hf_lte_rrc_commSupportedBandsPerBC_r12, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_BIT_STRING_SIZE_1_maxBands }, + { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_SupportedBandCombination_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_BandCombinationParameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_BandCombinationParameters_v1250, BandCombinationParameters_v1250_sequence); + + return offset; +} + + +static const per_sequence_t SupportedBandCombination_v1250_sequence_of[1] = { + { &hf_lte_rrc_SupportedBandCombination_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandCombinationParameters_v1250 }, +}; + +static int +dissect_lte_rrc_SupportedBandCombination_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SupportedBandCombination_v12xy, SupportedBandCombination_v12xy_sequence_of, + ett_lte_rrc_SupportedBandCombination_v1250, SupportedBandCombination_v1250_sequence_of, 1, maxBandComb_r10, FALSE); return offset; } -static const per_sequence_t SupportedBandCombinationAdd_v12xy_sequence_of[1] = { - { &hf_lte_rrc_SupportedBandCombinationAdd_v12xy_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandCombinationParameters_v12xy }, +static const per_sequence_t SupportedBandCombinationAdd_v1250_sequence_of[1] = { + { &hf_lte_rrc_SupportedBandCombinationAdd_v1250_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BandCombinationParameters_v1250 }, }; static int -dissect_lte_rrc_SupportedBandCombinationAdd_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_SupportedBandCombinationAdd_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SupportedBandCombinationAdd_v12xy, SupportedBandCombinationAdd_v12xy_sequence_of, + ett_lte_rrc_SupportedBandCombinationAdd_v1250, SupportedBandCombinationAdd_v1250_sequence_of, 1, maxBandComb_r11, FALSE); return offset; } -static const per_sequence_t RF_Parameters_v12xy_sequence[] = { - { &hf_lte_rrc_supportedBandListEUTRA_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandListEUTRA_v12xy }, - { &hf_lte_rrc_supportedBandCombination_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandCombination_v12xy }, - { &hf_lte_rrc_supportedBandCombinationAdd_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandCombinationAdd_v12xy }, +static const value_string lte_rrc_T_freqBandPriorityAdjustment_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_freqBandPriorityAdjustment_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t RF_Parameters_v1250_sequence[] = { + { &hf_lte_rrc_supportedBandListEUTRA_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandListEUTRA_v1250 }, + { &hf_lte_rrc_supportedBandCombination_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandCombination_v1250 }, + { &hf_lte_rrc_supportedBandCombinationAdd_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandCombinationAdd_v1250 }, + { &hf_lte_rrc_freqBandPriorityAdjustment_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_freqBandPriorityAdjustment_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RF_Parameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_RF_Parameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RF_Parameters_v12xy, RF_Parameters_v12xy_sequence); + ett_lte_rrc_RF_Parameters_v1250, RF_Parameters_v1250_sequence); return offset; } @@ -39815,15 +42579,35 @@ dissect_lte_rrc_T_loggedMBSFNMeasurements_r12(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t UE_BasedNetwPerfMeasParameters_v12xy_sequence[] = { +static const per_sequence_t UE_BasedNetwPerfMeasParameters_v1250_sequence[] = { { &hf_lte_rrc_loggedMBSFNMeasurements_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_loggedMBSFNMeasurements_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v12xy, UE_BasedNetwPerfMeasParameters_v12xy_sequence); + ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v1250, UE_BasedNetwPerfMeasParameters_v1250_sequence); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 14U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_lte_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 13U, NULL, FALSE); return offset; } @@ -39889,14 +42673,14 @@ dissect_lte_rrc_T_timerT312_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a } -static const value_string lte_rrc_T_alternativeTimeToTrigger_r12_vals[] = { +static const value_string lte_rrc_T_alternativeTimeToTrigger_r12_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_lte_rrc_T_alternativeTimeToTrigger_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_alternativeTimeToTrigger_r12_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); @@ -39964,14 +42748,14 @@ dissect_lte_rrc_T_extendedRSRQ_LowerRange_r12(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string lte_rrc_T_rsrqOnAllSymbols_r12_vals[] = { +static const value_string lte_rrc_T_rsrq_OnAllSymbols_r12_vals[] = { { 0, "supported" }, { 0, NULL } }; static int -dissect_lte_rrc_T_rsrqOnAllSymbols_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_rsrq_OnAllSymbols_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); @@ -40009,23 +42793,23 @@ dissect_lte_rrc_T_csi_RS_DiscoverySignalsMeas_r12(tvbuff_t *tvb _U_, int offset } -static const per_sequence_t MeasParameters_v12xy_sequence[] = { +static const per_sequence_t MeasParameters_v1250_sequence[] = { { &hf_lte_rrc_timerT312_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_timerT312_r12 }, - { &hf_lte_rrc_alternativeTimeToTrigger_r12_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeTimeToTrigger_r12 }, + { &hf_lte_rrc_alternativeTimeToTrigger_r12_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_alternativeTimeToTrigger_r12_01 }, { &hf_lte_rrc_incMonEUTRA_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_incMonEUTRA_r12 }, { &hf_lte_rrc_incMonUTRA_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_incMonUTRA_r12 }, { &hf_lte_rrc_extendedMaxMeasId_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedMaxMeasId_r12 }, { &hf_lte_rrc_extendedRSRQ_LowerRange_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_extendedRSRQ_LowerRange_r12 }, - { &hf_lte_rrc_rsrqOnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rsrqOnAllSymbols_r12 }, + { &hf_lte_rrc_rsrq_OnAllSymbols_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_rsrq_OnAllSymbols_r12 }, { &hf_lte_rrc_crs_DiscoverySignalsMeas_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_crs_DiscoverySignalsMeas_r12 }, { &hf_lte_rrc_csi_RS_DiscoverySignalsMeas_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_csi_RS_DiscoverySignalsMeas_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_MeasParameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_MeasParameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MeasParameters_v12xy, MeasParameters_v12xy_sequence); + ett_lte_rrc_MeasParameters_v1250, MeasParameters_v1250_sequence); return offset; } @@ -40061,25 +42845,9 @@ dissect_lte_rrc_T_drb_TypeSCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string lte_rrc_T_singleDuplexModeCG_r12_vals[] = { - { 0, "supported" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_singleDuplexModeCG_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 1, NULL, FALSE, 0, NULL); - - return offset; -} - - static const per_sequence_t DC_Parameters_r12_sequence[] = { { &hf_lte_rrc_drb_TypeSplit_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_TypeSplit_r12 }, { &hf_lte_rrc_drb_TypeSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_drb_TypeSCG_r12 }, - { &hf_lte_rrc_singleDuplexModeCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_singleDuplexModeCG_r12 }, { NULL, 0, 0, NULL } }; @@ -40107,15 +42875,15 @@ dissect_lte_rrc_T_mbms_AsyncDC_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t MBMS_Parameters_v12xy_sequence[] = { +static const per_sequence_t MBMS_Parameters_v1250_sequence[] = { { &hf_lte_rrc_mbms_AsyncDC_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_mbms_AsyncDC_r12 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_MBMS_Parameters_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_MBMS_Parameters_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_MBMS_Parameters_v12xy, MBMS_Parameters_v12xy_sequence); + ett_lte_rrc_MBMS_Parameters_v1250, MBMS_Parameters_v1250_sequence); return offset; } @@ -40166,55 +42934,210 @@ dissect_lte_rrc_MAC_Parameters_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t UE_EUTRA_CapabilityAddXDD_Mode_v12xy_sequence[] = { - { &hf_lte_rrc_phyLayerParameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v12xy }, - { &hf_lte_rrc_measParameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasParameters_v12xy }, +static const per_sequence_t UE_EUTRA_CapabilityAddXDD_Mode_v1250_sequence[] = { + { &hf_lte_rrc_phyLayerParameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v1250 }, + { &hf_lte_rrc_measParameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasParameters_v1250 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy, UE_EUTRA_CapabilityAddXDD_Mode_v12xy_sequence); + ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250, UE_EUTRA_CapabilityAddXDD_Mode_v1250_sequence); return offset; } -static const per_sequence_t T_nonCriticalExtension_49_sequence[] = { - { NULL, 0, 0, NULL } +static const value_string lte_rrc_T_commSimultaneousTx_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } }; + static int -dissect_lte_rrc_T_nonCriticalExtension_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_49, T_nonCriticalExtension_49_sequence); +dissect_lte_rrc_T_commSimultaneousTx_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t UE_EUTRA_Capability_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_phyLayerParameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v12xy }, - { &hf_lte_rrc_rf_Parameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v12xy }, +static const per_sequence_t FreqBandIndicatorListEUTRA_r12_sequence_of[1] = { + { &hf_lte_rrc_FreqBandIndicatorListEUTRA_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_FreqBandIndicator_r11 }, +}; + +static int +dissect_lte_rrc_FreqBandIndicatorListEUTRA_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_FreqBandIndicatorListEUTRA_r12, FreqBandIndicatorListEUTRA_r12_sequence_of, + 1, maxBands, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_support_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_support_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SupportedBandInfo_r12_sequence[] = { + { &hf_lte_rrc_support_r12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_support_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SupportedBandInfo_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SupportedBandInfo_r12, SupportedBandInfo_r12_sequence); + + return offset; +} + + +static const per_sequence_t SupportedBandInfoList_r12_sequence_of[1] = { + { &hf_lte_rrc_SupportedBandInfoList_r12_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SupportedBandInfo_r12 }, +}; + +static int +dissect_lte_rrc_SupportedBandInfoList_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SupportedBandInfoList_r12, SupportedBandInfoList_r12_sequence_of, + 1, maxBands, FALSE); + + return offset; +} + + +static const value_string lte_rrc_T_discScheduledResourceAlloc_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discScheduledResourceAlloc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_disc_UE_SelectedResourceAlloc_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_disc_UE_SelectedResourceAlloc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_disc_SLSS_r12_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_disc_SLSS_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string lte_rrc_T_discSupportedProc_r12_vals[] = { + { 0, "n50" }, + { 1, "n400" }, + { 0, NULL } +}; + + +static int +dissect_lte_rrc_T_discSupportedProc_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t SL_Parameters_r12_sequence[] = { + { &hf_lte_rrc_commSimultaneousTx_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_commSimultaneousTx_r12 }, + { &hf_lte_rrc_commSupportedBands_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_FreqBandIndicatorListEUTRA_r12 }, + { &hf_lte_rrc_discSupportedBands_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SupportedBandInfoList_r12 }, + { &hf_lte_rrc_discScheduledResourceAlloc_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_discScheduledResourceAlloc_r12 }, + { &hf_lte_rrc_disc_UE_SelectedResourceAlloc_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_disc_UE_SelectedResourceAlloc_r12 }, + { &hf_lte_rrc_disc_SLSS_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_disc_SLSS_r12 }, + { &hf_lte_rrc_discSupportedProc_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_discSupportedProc_r12 }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_SL_Parameters_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_SL_Parameters_r12, SL_Parameters_r12_sequence); + + return offset; +} + + +static const per_sequence_t T_nonCriticalExtension_54_sequence[] = { + { NULL, 0, 0, NULL } +}; + +static int +dissect_lte_rrc_T_nonCriticalExtension_54(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_lte_rrc_T_nonCriticalExtension_54, T_nonCriticalExtension_54_sequence); + + return offset; +} + + +static const per_sequence_t UE_EUTRA_Capability_v1250_IEs_sequence[] = { + { &hf_lte_rrc_phyLayerParameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v1250 }, + { &hf_lte_rrc_rf_Parameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v1250 }, { &hf_lte_rrc_rlc_Parameters_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RLC_Parameters_r12 }, - { &hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_v12xy }, - { &hf_lte_rrc_ue_Category_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_15 }, + { &hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_v1250 }, + { &hf_lte_rrc_ue_CategoryDL_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_14 }, + { &hf_lte_rrc_ue_CategoryUL_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_0_13 }, { &hf_lte_rrc_wlan_IW_Parameters_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_IW_Parameters_r12 }, - { &hf_lte_rrc_measParameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasParameters_v12xy }, + { &hf_lte_rrc_measParameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasParameters_v1250 }, { &hf_lte_rrc_dc_Parameters_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_DC_Parameters_r12 }, - { &hf_lte_rrc_mbms_Parameters_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBMS_Parameters_v12xy }, + { &hf_lte_rrc_mbms_Parameters_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBMS_Parameters_v1250 }, { &hf_lte_rrc_mac_Parameters_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MAC_Parameters_r12 }, - { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy }, - { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy }, - { &hf_lte_rrc_nonCriticalExtension_141, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_49 }, + { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250 }, + { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1250, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250 }, + { &hf_lte_rrc_sl_Parameters_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SL_Parameters_r12 }, + { &hf_lte_rrc_nonCriticalExtension_149, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_54 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_UE_EUTRA_Capability_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_UE_EUTRA_Capability_v1250_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UE_EUTRA_Capability_v12xy_IEs, UE_EUTRA_Capability_v12xy_IEs_sequence); + ett_lte_rrc_UE_EUTRA_Capability_v1250_IEs, UE_EUTRA_Capability_v1250_IEs_sequence); return offset; } @@ -40223,7 +43146,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v11a0_IEs_sequence[] = { { &hf_lte_rrc_ue_Category_v11a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_11_12 }, { &hf_lte_rrc_measParameters_v11a0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MeasParameters_v11a0 }, - { &hf_lte_rrc_nonCriticalExtension_140, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v12xy_IEs }, + { &hf_lte_rrc_nonCriticalExtension_148, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1250_IEs }, { NULL, 0, 0, NULL } }; @@ -40241,7 +43164,7 @@ static const per_sequence_t UE_EUTRA_Capability_v1180_IEs_sequence[] = { { &hf_lte_rrc_mbms_Parameters_r11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_MBMS_Parameters_r11 }, { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1180, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1180 }, { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1180, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1180 }, - { &hf_lte_rrc_nonCriticalExtension_139, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v11a0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_147, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v11a0_IEs }, { NULL, 0, 0, NULL } }; @@ -40257,7 +43180,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v1180_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v1170_IEs_sequence[] = { { &hf_lte_rrc_phyLayerParameters_v1170, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v1170 }, { &hf_lte_rrc_ue_Category_v1170, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_INTEGER_9_10 }, - { &hf_lte_rrc_nonCriticalExtension_138, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1180_IEs }, + { &hf_lte_rrc_nonCriticalExtension_146, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1180_IEs }, { NULL, 0, 0, NULL } }; @@ -40279,7 +43202,7 @@ static const per_sequence_t UE_EUTRA_Capability_v1130_IEs_sequence[] = { { &hf_lte_rrc_otherParameters_r11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Other_Parameters_r11 }, { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1130 }, { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1130 }, - { &hf_lte_rrc_nonCriticalExtension_137, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1170_IEs }, + { &hf_lte_rrc_nonCriticalExtension_145, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1170_IEs }, { NULL, 0, 0, NULL } }; @@ -40294,7 +43217,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v1090_IEs_sequence[] = { { &hf_lte_rrc_rf_Parameters_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v1090 }, - { &hf_lte_rrc_nonCriticalExtension_136, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1130_IEs }, + { &hf_lte_rrc_nonCriticalExtension_144, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1130_IEs }, { NULL, 0, 0, NULL } }; @@ -40311,7 +43234,7 @@ static const per_sequence_t UE_EUTRA_Capability_v1060_IEs_sequence[] = { { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1060, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1060 }, { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1060, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1060 }, { &hf_lte_rrc_rf_Parameters_v1060, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v1060 }, - { &hf_lte_rrc_nonCriticalExtension_135, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1090_IEs }, + { &hf_lte_rrc_nonCriticalExtension_143, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1090_IEs }, { NULL, 0, 0, NULL } }; @@ -40333,7 +43256,7 @@ static const per_sequence_t UE_EUTRA_Capability_v1020_IEs_sequence[] = { { &hf_lte_rrc_interRAT_ParametersCDMA2000_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IRAT_ParametersCDMA2000_1XRTT_v1020 }, { &hf_lte_rrc_ue_BasedNetwPerfMeasParameters_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_BasedNetwPerfMeasParameters_r10 }, { &hf_lte_rrc_interRAT_ParametersUTRA_TDD_v1020, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IRAT_ParametersUTRA_TDD_v1020 }, - { &hf_lte_rrc_nonCriticalExtension_134, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1060_IEs }, + { &hf_lte_rrc_nonCriticalExtension_142, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1060_IEs }, { NULL, 0, 0, NULL } }; @@ -40348,7 +43271,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v1020_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v940_IEs_sequence[] = { { &hf_lte_rrc_lateNonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_lateNonCriticalExtension_06 }, - { &hf_lte_rrc_nonCriticalExtension_133, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1020_IEs }, + { &hf_lte_rrc_nonCriticalExtension_141, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v1020_IEs }, { NULL, 0, 0, NULL } }; @@ -40370,7 +43293,7 @@ static const per_sequence_t UE_EUTRA_Capability_v920_IEs_sequence[] = { { &hf_lte_rrc_csg_ProximityIndicationParameters_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CSG_ProximityIndicationParameters_r9 }, { &hf_lte_rrc_neighCellSI_AcquisitionParameters_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_NeighCellSI_AcquisitionParameters_r9 }, { &hf_lte_rrc_son_Parameters_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SON_Parameters_r9 }, - { &hf_lte_rrc_nonCriticalExtension_132, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v940_IEs }, + { &hf_lte_rrc_nonCriticalExtension_140, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v940_IEs }, { NULL, 0, 0, NULL } }; @@ -40392,7 +43315,7 @@ static const per_sequence_t UE_EUTRA_Capability_sequence[] = { { &hf_lte_rrc_measParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_measParameters }, { &hf_lte_rrc_featureGroupIndicators, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_featureGroupIndicators }, { &hf_lte_rrc_interRAT_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_interRAT_Parameters }, - { &hf_lte_rrc_nonCriticalExtension_124, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v920_IEs }, + { &hf_lte_rrc_nonCriticalExtension_132, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v920_IEs }, { NULL, 0, 0, NULL } }; @@ -40764,14 +43687,14 @@ dissect_lte_rrc_RF_Parameters_v10f0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } -static const per_sequence_t T_nonCriticalExtension_48_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_53_sequence[] = { { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_T_nonCriticalExtension_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_nonCriticalExtension_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_48, T_nonCriticalExtension_48_sequence); + ett_lte_rrc_T_nonCriticalExtension_53, T_nonCriticalExtension_53_sequence); return offset; } @@ -40779,7 +43702,7 @@ dissect_lte_rrc_T_nonCriticalExtension_48(tvbuff_t *tvb _U_, int offset _U_, asn static const per_sequence_t UE_EUTRA_Capability_v10f0_IEs_sequence[] = { { &hf_lte_rrc_rf_Parameters_v10f0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v10f0 }, - { &hf_lte_rrc_nonCriticalExtension_131, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_48 }, + { &hf_lte_rrc_nonCriticalExtension_139, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_53 }, { NULL, 0, 0, NULL } }; @@ -40794,7 +43717,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v10f0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v10c0_IEs_sequence[] = { { &hf_lte_rrc_otdoa_PositioningCapabilities_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OTDOA_PositioningCapabilities_r10 }, - { &hf_lte_rrc_nonCriticalExtension_130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v10f0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_138, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v10f0_IEs }, { NULL, 0, 0, NULL } }; @@ -40810,7 +43733,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v10c0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v9h0_IEs_sequence[] = { { &hf_lte_rrc_interRAT_ParametersUTRA_v9h0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IRAT_ParametersUTRA_v9h0 }, { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_129, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v10c0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_137, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v10c0_IEs }, { NULL, 0, 0, NULL } }; @@ -40825,7 +43748,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v9h0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v9e0_IEs_sequence[] = { { &hf_lte_rrc_rf_Parameters_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RF_Parameters_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_128, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9h0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_136, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9h0_IEs }, { NULL, 0, 0, NULL } }; @@ -40840,7 +43763,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v9e0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v9d0_IEs_sequence[] = { { &hf_lte_rrc_phyLayerParameters_v9d0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_PhyLayerParameters_v9d0 }, - { &hf_lte_rrc_nonCriticalExtension_127, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9e0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_135, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9e0_IEs }, { NULL, 0, 0, NULL } }; @@ -40855,7 +43778,7 @@ dissect_lte_rrc_UE_EUTRA_Capability_v9d0_IEs(tvbuff_t *tvb _U_, int offset _U_, static const per_sequence_t UE_EUTRA_Capability_v9c0_IEs_sequence[] = { { &hf_lte_rrc_interRAT_ParametersUTRA_v9c0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_IRAT_ParametersUTRA_v9c0 }, - { &hf_lte_rrc_nonCriticalExtension_126, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9d0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_134, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9d0_IEs }, { NULL, 0, 0, NULL } }; @@ -40872,7 +43795,7 @@ static const per_sequence_t UE_EUTRA_Capability_v9a0_IEs_sequence[] = { { &hf_lte_rrc_featureGroupIndRel9Add_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_featureGroupIndRel9Add_r9 }, { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_r9 }, { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_r9 }, - { &hf_lte_rrc_nonCriticalExtension_125, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9c0_IEs }, + { &hf_lte_rrc_nonCriticalExtension_133, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_UE_EUTRA_Capability_v9c0_IEs }, { NULL, 0, 0, NULL } }; @@ -40885,958 +43808,106 @@ dissect_lte_rrc_UE_EUTRA_Capability_v9a0_IEs(tvbuff_t *tvb _U_, int offset _U_, } - -static int -dissect_lte_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_DL_DCCH_Message_PDU); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_50_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_50, T_nonCriticalExtension_50_sequence); - - return offset; -} - - -static const per_sequence_t HandoverCommand_r8_IEs_sequence[] = { - { &hf_lte_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_handoverCommandMessage }, - { &hf_lte_rrc_nonCriticalExtension_142, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_50 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverCommand_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverCommand_r8_IEs, HandoverCommand_r8_IEs_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_35_vals[] = { - { 0, "handoverCommand-r8" }, - { 1, "spare7" }, - { 2, "spare6" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, +static const value_string lte_rrc_T_sl_Bandwidth_r12_vals[] = { + { 0, "n6" }, + { 1, "n15" }, + { 2, "n25" }, + { 3, "n50" }, + { 4, "n75" }, + { 5, "n100" }, { 0, NULL } }; -static const per_choice_t T_c1_35_choice[] = { - { 0, &hf_lte_rrc_handoverCommand_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverCommand_r8_IEs }, - { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; static int -dissect_lte_rrc_T_c1_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_35, T_c1_35_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_39_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_39, T_criticalExtensionsFuture_39_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_39_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_39_choice[] = { - { 0, &hf_lte_rrc_c1_35 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_35 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_39, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_39 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_39, T_criticalExtensions_39_choice, - NULL); - - return offset; -} - - -static const per_sequence_t HandoverCommand_sequence[] = { - { &hf_lte_rrc_criticalExtensions_39, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_39 }, - { NULL, 0, 0, NULL } -}; - -int -dissect_lte_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverCommand, HandoverCommand_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_sourceSystemInformationBlockType1Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformationBlockType1_v890_IEs_PDU); - - return offset; -} - - -static const per_sequence_t AS_Config_eag_1_sequence[] = { - { &hf_lte_rrc_sourceSystemInformationBlockType1Ext, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_sourceSystemInformationBlockType1Ext }, - { &hf_lte_rrc_sourceOtherConfig_r9, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_OtherConfig_r9 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t AS_Config_eag_2_sequence[] = { - { &hf_lte_rrc_sourceSCellConfigList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCellToAddModList_r10 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_2_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_52_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_52(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_52, T_nonCriticalExtension_52_sequence); - - return offset; -} - - -static const per_sequence_t SCG_Config_r12_IEs_sequence[] = { - { &hf_lte_rrc_scg_RadioConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_ConfigPartSCG_r12 }, - { &hf_lte_rrc_nonCriticalExtension_149, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_52 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SCG_Config_r12_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCG_Config_r12_IEs, SCG_Config_r12_IEs_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_37_vals[] = { - { 0, "scg-Config-r12" }, - { 1, "spare7" }, - { 2, "spare6" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - -static const per_choice_t T_c1_37_choice[] = { - { 0, &hf_lte_rrc_scg_Config_r12, ASN1_NO_EXTENSIONS , dissect_lte_rrc_SCG_Config_r12_IEs }, - { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_c1_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_37, T_c1_37_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_41_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_41, T_criticalExtensionsFuture_41_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_41_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_41_choice[] = { - { 0, &hf_lte_rrc_c1_37 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_37 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_41, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_41 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_41(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_41, T_criticalExtensions_41_choice, - NULL); - - return offset; -} - - -static const per_sequence_t SCG_Config_r12_sequence[] = { - { &hf_lte_rrc_criticalExtensions_41, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_41 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_SCG_Config_r12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_SCG_Config_r12, SCG_Config_r12_sequence); - - return offset; -} - - -static const per_sequence_t AS_Config_eag_3_sequence[] = { - { &hf_lte_rrc_sourceConfigSCG_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_SCG_Config_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_3_sequence); - - return offset; -} - - -static const per_sequence_t AS_Config_sequence[] = { - { &hf_lte_rrc_sourceMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MeasConfig }, - { &hf_lte_rrc_sourceRadioResourceConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_RadioResourceConfigDedicated }, - { &hf_lte_rrc_sourceSecurityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SecurityAlgorithmConfig }, - { &hf_lte_rrc_sourceUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_C_RNTI }, - { &hf_lte_rrc_sourceMasterInformationBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_MasterInformationBlock }, - { &hf_lte_rrc_sourceSystemInformationBlockType1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType1 }, - { &hf_lte_rrc_sourceSystemInformationBlockType2, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SystemInformationBlockType2 }, - { &hf_lte_rrc_antennaInfoCommon, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AntennaInfoCommon }, - { &hf_lte_rrc_sourceDl_CarrierFreq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_2 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_AS_Config_eag_3 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AS_Config, AS_Config_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ue_InactiveTime_vals[] = { - { 0, "s1" }, - { 1, "s2" }, - { 2, "s3" }, - { 3, "s5" }, - { 4, "s7" }, - { 5, "s10" }, - { 6, "s15" }, - { 7, "s20" }, - { 8, "s25" }, - { 9, "s30" }, - { 10, "s40" }, - { 11, "s50" }, - { 12, "min1" }, - { 13, "min1s20c" }, - { 14, "min1s40" }, - { 15, "min2" }, - { 16, "min2s30" }, - { 17, "min3" }, - { 18, "min3s30" }, - { 19, "min4" }, - { 20, "min5" }, - { 21, "min6" }, - { 22, "min7" }, - { 23, "min8" }, - { 24, "min9" }, - { 25, "min10" }, - { 26, "min12" }, - { 27, "min14" }, - { 28, "min17" }, - { 29, "min20" }, - { 30, "min24" }, - { 31, "min28" }, - { 32, "min33" }, - { 33, "min38" }, - { 34, "min44" }, - { 35, "min50" }, - { 36, "hr1" }, - { 37, "hr1min30" }, - { 38, "hr2" }, - { 39, "hr2min30" }, - { 40, "hr3" }, - { 41, "hr3min30" }, - { 42, "hr4" }, - { 43, "hr5" }, - { 44, "hr6" }, - { 45, "hr8" }, - { 46, "hr10" }, - { 47, "hr13" }, - { 48, "hr16" }, - { 49, "hr20" }, - { 50, "day1" }, - { 51, "day1hr12" }, - { 52, "day2" }, - { 53, "day2hr12" }, - { 54, "day3" }, - { 55, "day4" }, - { 56, "day5" }, - { 57, "day7" }, - { 58, "day10" }, - { 59, "day14" }, - { 60, "day19" }, - { 61, "day24" }, - { 62, "day30" }, - { 63, "dayMoreThan30" }, - { 0, NULL } -}; - -static value_string_ext lte_rrc_T_ue_InactiveTime_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_T_ue_InactiveTime_vals); - - -static int -dissect_lte_rrc_T_ue_InactiveTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_T_sl_Bandwidth_r12(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, - 64, NULL, FALSE, 0, NULL); + 6, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t CandidateCellInfo_r10_eag_1_sequence[] = { - { &hf_lte_rrc_dl_CarrierFreq_v1090, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; static int -dissect_lte_rrc_CandidateCellInfo_r10_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CandidateCellInfo_r10_eag_1_sequence); +dissect_lte_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 9U, NULL, FALSE); return offset; } -static const per_sequence_t CandidateCellInfo_r10_eag_2_sequence[] = { - { &hf_lte_rrc_rsrqResult_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range_v12xy }, +static const per_sequence_t MasterInformationBlock_SL_sequence[] = { + { &hf_lte_rrc_sl_Bandwidth_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_sl_Bandwidth_r12 }, + { &hf_lte_rrc_tdd_ConfigSL_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_TDD_ConfigSL_r12 }, + { &hf_lte_rrc_directFrameNumber_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_10 }, + { &hf_lte_rrc_directSubframeNumber_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_INTEGER_0_9 }, + { &hf_lte_rrc_inCoverage_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BOOLEAN }, + { &hf_lte_rrc_reserved_r12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_BIT_STRING_SIZE_19 }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_CandidateCellInfo_r10_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CandidateCellInfo_r10_eag_2_sequence); +dissect_lte_rrc_MasterInformationBlock_SL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - return offset; -} + col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock-SL"); - -static const per_sequence_t CandidateCellInfo_r10_sequence[] = { - { &hf_lte_rrc_physCellId_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_dl_CarrierFreq_r10, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA }, - { &hf_lte_rrc_rsrpResult_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RSRP_Range }, - { &hf_lte_rrc_rsrqResult_r10, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_RSRQ_Range }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10_eag_1 }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10_eag_2 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_CandidateCellInfo_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CandidateCellInfo_r10, CandidateCellInfo_r10_sequence); + ett_lte_rrc_MasterInformationBlock_SL, MasterInformationBlock_SL_sequence); return offset; } -static const per_sequence_t CandidateCellInfoList_r10_sequence_of[1] = { - { &hf_lte_rrc_CandidateCellInfoList_r10_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CandidateCellInfo_r10 }, -}; static int -dissect_lte_rrc_CandidateCellInfoList_r10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_CandidateCellInfoList_r10, CandidateCellInfoList_r10_sequence_of, - 1, maxFreq, FALSE); +dissect_lte_rrc_SBCCH_SL_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_lte_rrc_MasterInformationBlock_SL(tvb, offset, actx, tree, hf_index); return offset; } -static const per_sequence_t RRM_Config_eag_1_sequence[] = { - { &hf_lte_rrc_candidateCellInfoList_r10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_CandidateCellInfoList_r10 }, +static const per_sequence_t SBCCH_SL_BCH_Message_sequence[] = { + { &hf_lte_rrc_message_08 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_SBCCH_SL_BCH_MessageType }, { NULL, 0, 0, NULL } }; static int -dissect_lte_rrc_RRM_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RRM_Config_eag_1_sequence); - - return offset; -} - - -static const per_sequence_t RRM_Config_sequence[] = { - { &hf_lte_rrc_ue_InactiveTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_InactiveTime }, - { &dummy_hf_lte_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_lte_rrc_RRM_Config_eag_1 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_RRM_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_lte_rrc_SBCCH_SL_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_RRM_Config, RRM_Config_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_Key_eNodeB_Star(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 256, 256, FALSE, NULL, NULL); - - return offset; -} - - -static const per_sequence_t AdditionalReestabInfo_sequence[] = { - { &hf_lte_rrc_cellIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_CellIdentity }, - { &hf_lte_rrc_key_eNodeB_Star, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_Key_eNodeB_Star }, - { &hf_lte_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ShortMAC_I }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AdditionalReestabInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AdditionalReestabInfo, AdditionalReestabInfo_sequence); - - return offset; -} - - -static const per_sequence_t AdditionalReestabInfoList_sequence_of[1] = { - { &hf_lte_rrc_AdditionalReestabInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_AdditionalReestabInfo }, -}; - -static int -dissect_lte_rrc_AdditionalReestabInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AdditionalReestabInfoList, AdditionalReestabInfoList_sequence_of, - 1, maxReestabInfo, FALSE); - - return offset; -} - - -static const per_sequence_t ReestablishmentInfo_sequence[] = { - { &hf_lte_rrc_sourcePhysCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_PhysCellId }, - { &hf_lte_rrc_targetCellShortMAC_I, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ShortMAC_I }, - { &hf_lte_rrc_additionalReestabInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_AdditionalReestabInfoList }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_ReestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_ReestablishmentInfo, ReestablishmentInfo_sequence); - - return offset; -} - - -static const per_sequence_t AS_Context_sequence[] = { - { &hf_lte_rrc_reestablishmentInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ReestablishmentInfo }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AS_Context, AS_Context_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_ue_ConfigRelease_r9_vals[] = { - { 0, "rel9" }, - { 1, "rel10" }, - { 2, "rel11" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - - -static int -dissect_lte_rrc_T_ue_ConfigRelease_r9(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); - - return offset; -} - - -static const per_sequence_t AS_Config_v9e0_sequence[] = { - { &hf_lte_rrc_sourceDl_CarrierFreq_v9e0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_ARFCN_ValueEUTRA_v9e0 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config_v9e0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AS_Config_v9e0, AS_Config_v9e0_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_idc_Indication_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_InDeviceCoexIndication_r11_PDU); - - return offset; -} - - - -static int -dissect_lte_rrc_T_mbmsInterestIndication_r11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_MBMSInterestIndication_r11_PDU); - - return offset; -} - - - -static int -dissect_lte_rrc_T_powerPrefIndication_r11_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_UEAssistanceInformation_r11_PDU); - - return offset; -} - - -static const per_sequence_t AS_Context_v1130_sequence[] = { - { &hf_lte_rrc_idc_Indication_r11_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_idc_Indication_r11_01 }, - { &hf_lte_rrc_mbmsInterestIndication_r11_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_mbmsInterestIndication_r11 }, - { &hf_lte_rrc_powerPrefIndication_r11_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_lte_rrc_T_powerPrefIndication_r11_01 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Context_v1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AS_Context_v1130, AS_Context_v1130_sequence); - - return offset; -} - - -static const per_sequence_t AS_Config_v12xy_sequence[] = { - { &hf_lte_rrc_sourceWlan_OffloadConfig_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_WLAN_OffloadConfig_r12 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_AS_Config_v12xy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_AS_Config_v12xy, AS_Config_v12xy_sequence); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_51_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_51(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_51, T_nonCriticalExtension_51_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_v12xy_IEs_sequence[] = { - { &hf_lte_rrc_ue_SupportedEARFCN_r12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_ARFCN_ValueEUTRA_r9 }, - { &hf_lte_rrc_as_Config_v12xy, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config_v12xy }, - { &hf_lte_rrc_nonCriticalExtension_148, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_51 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_v12xy_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_v12xy_IEs, HandoverPreparationInformation_v12xy_IEs_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_v1130_IEs_sequence[] = { - { &hf_lte_rrc_as_Context_v1130, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Context_v1130 }, - { &hf_lte_rrc_nonCriticalExtension_147, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v12xy_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_v1130_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_v1130_IEs, HandoverPreparationInformation_v1130_IEs_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_v9e0_IEs_sequence[] = { - { &hf_lte_rrc_as_Config_v9e0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config_v9e0 }, - { &hf_lte_rrc_nonCriticalExtension_146, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v1130_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_v9e0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs, HandoverPreparationInformation_v9e0_IEs_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_v9d0_IEs_sequence[] = { - { &hf_lte_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_OCTET_STRING }, - { &hf_lte_rrc_nonCriticalExtension_145, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v9e0_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_v9d0_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs, HandoverPreparationInformation_v9d0_IEs_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_v920_IEs_sequence[] = { - { &hf_lte_rrc_ue_ConfigRelease_r9, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_ue_ConfigRelease_r9 }, - { &hf_lte_rrc_nonCriticalExtension_144, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v9d0_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_v920_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_v920_IEs, HandoverPreparationInformation_v920_IEs_sequence); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_r8_IEs_sequence[] = { - { &hf_lte_rrc_ue_RadioAccessCapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_UE_CapabilityRAT_ContainerList }, - { &hf_lte_rrc_as_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Config }, - { &hf_lte_rrc_rrm_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_RRM_Config }, - { &hf_lte_rrc_as_Context , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_AS_Context }, - { &hf_lte_rrc_nonCriticalExtension_143, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_HandoverPreparationInformation_v920_IEs }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_HandoverPreparationInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation_r8_IEs, HandoverPreparationInformation_r8_IEs_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_36_vals[] = { - { 0, "handoverPreparationInformation-r8" }, - { 1, "spare7" }, - { 2, "spare6" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - -static const per_choice_t T_c1_36_choice[] = { - { 0, &hf_lte_rrc_handoverPreparationInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_HandoverPreparationInformation_r8_IEs }, - { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_c1_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_36, T_c1_36_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_40_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_40, T_criticalExtensionsFuture_40_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_40_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_40_choice[] = { - { 0, &hf_lte_rrc_c1_36 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_36 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_40, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_40 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_40, T_criticalExtensions_40_choice, - NULL); - - return offset; -} - - -static const per_sequence_t HandoverPreparationInformation_sequence[] = { - { &hf_lte_rrc_criticalExtensions_40, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_40 }, - { NULL, 0, 0, NULL } -}; - -int -dissect_lte_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_HandoverPreparationInformation, HandoverPreparationInformation_sequence); - - return offset; -} - - - -static int -dissect_lte_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityInformation_PDU); - - return offset; -} - - -static const per_sequence_t T_nonCriticalExtension_53_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_nonCriticalExtension_53(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_nonCriticalExtension_53, T_nonCriticalExtension_53_sequence); - - return offset; -} - - -static const per_sequence_t UERadioAccessCapabilityInformation_r8_IEs_sequence[] = { - { &hf_lte_rrc_ue_RadioAccessCapabilityInfo_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_ue_RadioAccessCapabilityInfo }, - { &hf_lte_rrc_nonCriticalExtension_150, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_lte_rrc_T_nonCriticalExtension_53 }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs, UERadioAccessCapabilityInformation_r8_IEs_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_c1_38_vals[] = { - { 0, "ueRadioAccessCapabilityInformation-r8" }, - { 1, "spare7" }, - { 2, "spare6" }, - { 3, "spare5" }, - { 4, "spare4" }, - { 5, "spare3" }, - { 6, "spare2" }, - { 7, "spare1" }, - { 0, NULL } -}; - -static const per_choice_t T_c1_38_choice[] = { - { 0, &hf_lte_rrc_ueRadioAccessCapabilityInformation_r8, ASN1_NO_EXTENSIONS , dissect_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs }, - { 1, &hf_lte_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 2, &hf_lte_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 3, &hf_lte_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 4, &hf_lte_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 5, &hf_lte_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 6, &hf_lte_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 7, &hf_lte_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_NULL }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_c1_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_c1_38, T_c1_38_choice, - NULL); - - return offset; -} - - -static const per_sequence_t T_criticalExtensionsFuture_42_sequence[] = { - { NULL, 0, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensionsFuture_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensionsFuture_42, T_criticalExtensionsFuture_42_sequence); - - return offset; -} - - -static const value_string lte_rrc_T_criticalExtensions_42_vals[] = { - { 0, "c1" }, - { 1, "criticalExtensionsFuture" }, - { 0, NULL } -}; - -static const per_choice_t T_criticalExtensions_42_choice[] = { - { 0, &hf_lte_rrc_c1_38 , ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_c1_38 }, - { 1, &hf_lte_rrc_criticalExtensionsFuture_42, ASN1_NO_EXTENSIONS , dissect_lte_rrc_T_criticalExtensionsFuture_42 }, - { 0, NULL, 0, NULL } -}; - -static int -dissect_lte_rrc_T_criticalExtensions_42(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_T_criticalExtensions_42, T_criticalExtensions_42_choice, - NULL); - - return offset; -} - - -static const per_sequence_t UERadioAccessCapabilityInformation_sequence[] = { - { &hf_lte_rrc_criticalExtensions_42, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_lte_rrc_T_criticalExtensions_42 }, - { NULL, 0, 0, NULL } -}; - -int -dissect_lte_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_lte_rrc_UERadioAccessCapabilityInformation, UERadioAccessCapabilityInformation_sequence); + ett_lte_rrc_SBCCH_SL_BCH_Message, SBCCH_SL_BCH_Message_sequence); return offset; } /*--- PDUs ---*/ +int dissect_lte_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_HandoverCommand_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} +int dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UERadioAccessCapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -41917,27 +43988,51 @@ int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinf offset += 7; offset >>= 3; return offset; } -int dissect_lte_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SBCCH_SL_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_HandoverCommand_PDU); + offset = dissect_lte_rrc_SBCCH_SL_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_SBCCH_SL_BCH_Message_PDU); offset += 7; offset >>= 3; return offset; } -int dissect_lte_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU); + offset = dissect_lte_rrc_SystemInformationBlockType1_v890_IEs(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU); offset += 7; offset >>= 3; return offset; } -int dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_UERadioAccessCapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU); + offset = dissect_lte_rrc_InDeviceCoexIndication_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_InDeviceCoexIndication_r11_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_MBMSInterestIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_MBMSInterestIndication_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_MBMSInterestIndication_r11_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_UEAssistanceInformation_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_UEAssistanceInformation_r11_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_SidelinkUEInformation_r12_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + offset = dissect_lte_rrc_SidelinkUEInformation_r12(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_SidelinkUEInformation_r12_PDU); offset += 7; offset >>= 3; return offset; } @@ -42005,42 +44100,10 @@ static int dissect_UE_EUTRA_Capability_v9a0_IEs_PDU(tvbuff_t *tvb _U_, packet_in offset += 7; offset >>= 3; return offset; } -static int dissect_SystemInformationBlockType1_v890_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_SystemInformationBlockType1_v890_IEs(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU); - offset += 7; offset >>= 3; - return offset; -} -static int dissect_InDeviceCoexIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_InDeviceCoexIndication_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_InDeviceCoexIndication_r11_PDU); - offset += 7; offset >>= 3; - return offset; -} -static int dissect_MBMSInterestIndication_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_MBMSInterestIndication_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_MBMSInterestIndication_r11_PDU); - offset += 7; offset >>= 3; - return offset; -} -static int dissect_UEAssistanceInformation_r11_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { - int offset = 0; - asn1_ctx_t asn1_ctx; - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); - offset = dissect_lte_rrc_UEAssistanceInformation_r11(tvb, offset, &asn1_ctx, tree, hf_lte_rrc_UEAssistanceInformation_r11_PDU); - offset += 7; offset >>= 3; - return offset; -} /*--- End of included file: packet-lte-rrc-fn.c ---*/ -#line 2490 "../../asn1/lte-rrc/packet-lte-rrc-template.c" +#line 2560 "../../asn1/lte-rrc/packet-lte-rrc-template.c" static void dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) @@ -42213,6 +44276,18 @@ void proto_register_lte_rrc(void) { /*--- Included file: packet-lte-rrc-hfarr.c ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-hfarr.c" + { &hf_lte_rrc_lte_rrc_HandoverCommand_PDU, + { "HandoverCommand", "lte-rrc.HandoverCommand_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU, + { "HandoverPreparationInformation", "lte-rrc.HandoverPreparationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU, + { "UERadioAccessCapabilityInformation", "lte-rrc.UERadioAccessCapabilityInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_BCCH_BCH_Message_PDU, { "BCCH-BCH-Message", "lte-rrc.BCCH_BCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42253,16 +44328,28 @@ void proto_register_lte_rrc(void) { { "UE-EUTRA-Capability", "lte-rrc.UE_EUTRA_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_lte_rrc_HandoverCommand_PDU, - { "HandoverCommand", "lte-rrc.HandoverCommand_element", + { &hf_lte_rrc_SBCCH_SL_BCH_Message_PDU, + { "SBCCH-SL-BCH-Message", "lte-rrc.SBCCH_SL_BCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_lte_rrc_HandoverPreparationInformation_PDU, - { "HandoverPreparationInformation", "lte-rrc.HandoverPreparationInformation_element", + { &hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU, + { "SystemInformationBlockType1-v890-IEs", "lte-rrc.SystemInformationBlockType1_v890_IEs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_lte_rrc_UERadioAccessCapabilityInformation_PDU, - { "UERadioAccessCapabilityInformation", "lte-rrc.UERadioAccessCapabilityInformation_element", + { &hf_lte_rrc_InDeviceCoexIndication_r11_PDU, + { "InDeviceCoexIndication-r11", "lte-rrc.InDeviceCoexIndication_r11_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_MBMSInterestIndication_r11_PDU, + { "MBMSInterestIndication-r11", "lte-rrc.MBMSInterestIndication_r11_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_UEAssistanceInformation_r11_PDU, + { "UEAssistanceInformation-r11", "lte-rrc.UEAssistanceInformation_r11_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_SidelinkUEInformation_r12_PDU, + { "SidelinkUEInformation-r12", "lte-rrc.SidelinkUEInformation_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_SystemInformationBlockType1_PDU, @@ -42297,22 +44384,338 @@ void proto_register_lte_rrc(void) { { "UE-EUTRA-Capability-v9a0-IEs", "lte-rrc.UE_EUTRA_Capability_v9a0_IEs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_SystemInformationBlockType1_v890_IEs_PDU, - { "SystemInformationBlockType1-v890-IEs", "lte-rrc.SystemInformationBlockType1_v890_IEs_element", + { &hf_lte_rrc_criticalExtensions, + { "criticalExtensions", "lte-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_c1, + { "c1", "lte-rrc.c1", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_handoverCommand_r8, + { "handoverCommand-r8", "lte-rrc.handoverCommand_r8_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverCommand_r8_IEs", HFILL }}, + { &hf_lte_rrc_spare7, + { "spare7", "lte-rrc.spare7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_InDeviceCoexIndication_r11_PDU, - { "InDeviceCoexIndication-r11", "lte-rrc.InDeviceCoexIndication_r11_element", + { &hf_lte_rrc_spare6, + { "spare6", "lte-rrc.spare6_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_MBMSInterestIndication_r11_PDU, - { "MBMSInterestIndication-r11", "lte-rrc.MBMSInterestIndication_r11_element", + { &hf_lte_rrc_spare5, + { "spare5", "lte-rrc.spare5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_UEAssistanceInformation_r11_PDU, - { "UEAssistanceInformation-r11", "lte-rrc.UEAssistanceInformation_r11_element", + { &hf_lte_rrc_spare4, + { "spare4", "lte-rrc.spare4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_spare3, + { "spare3", "lte-rrc.spare3_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_spare2, + { "spare2", "lte-rrc.spare2_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_spare1, + { "spare1", "lte-rrc.spare1_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_criticalExtensionsFuture, + { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_handoverCommandMessage, + { "handoverCommandMessage", "lte-rrc.handoverCommandMessage", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_criticalExtensions_01, + { "criticalExtensions", "lte-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_01_vals), 0, + "T_criticalExtensions_01", HFILL }}, + { &hf_lte_rrc_c1_01, + { "c1", "lte-rrc.c1", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_01_vals), 0, + "T_c1_01", HFILL }}, + { &hf_lte_rrc_handoverPreparationInformation_r8, + { "handoverPreparationInformation-r8", "lte-rrc.handoverPreparationInformation_r8_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_r8_IEs", HFILL }}, + { &hf_lte_rrc_criticalExtensionsFuture_01, + { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_01", HFILL }}, + { &hf_lte_rrc_ue_RadioAccessCapabilityInfo, + { "ue-RadioAccessCapabilityInfo", "lte-rrc.ue_RadioAccessCapabilityInfo", + FT_UINT32, BASE_DEC, NULL, 0, + "UE_CapabilityRAT_ContainerList", HFILL }}, + { &hf_lte_rrc_as_Config, + { "as-Config", "lte-rrc.as_Config_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_rrm_Config, + { "rrm-Config", "lte-rrc.rrm_Config_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_as_Context, + { "as-Context", "lte-rrc.as_Context_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_01, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_v920_IEs", HFILL }}, + { &hf_lte_rrc_ue_ConfigRelease_r9, + { "ue-ConfigRelease-r9", "lte-rrc.ue_ConfigRelease_r9", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ue_ConfigRelease_r9_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_02, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_v9d0_IEs", HFILL }}, + { &hf_lte_rrc_lateNonCriticalExtension, + { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_03, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_v9e0_IEs", HFILL }}, + { &hf_lte_rrc_as_Config_v9e0, + { "as-Config-v9e0", "lte-rrc.as_Config_v9e0_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_04, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_v1130_IEs", HFILL }}, + { &hf_lte_rrc_as_Context_v1130, + { "as-Context-v1130", "lte-rrc.as_Context_v1130_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_05, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "HandoverPreparationInformation_v1250_IEs", HFILL }}, + { &hf_lte_rrc_ue_SupportedEARFCN_r12, + { "ue-SupportedEARFCN-r12", "lte-rrc.ue_SupportedEARFCN_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA_r9", HFILL }}, + { &hf_lte_rrc_as_Config_v1250, + { "as-Config-v1250", "lte-rrc.as_Config_v1250_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_06, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_01", HFILL }}, + { &hf_lte_rrc_criticalExtensions_02, + { "criticalExtensions", "lte-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_02_vals), 0, + "T_criticalExtensions_02", HFILL }}, + { &hf_lte_rrc_c1_02, + { "c1", "lte-rrc.c1", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_02_vals), 0, + "T_c1_02", HFILL }}, + { &hf_lte_rrc_scg_Config_r12, + { "scg-Config-r12", "lte-rrc.scg_Config_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SCG_Config_r12_IEs", HFILL }}, + { &hf_lte_rrc_criticalExtensionsFuture_02, + { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_02", HFILL }}, + { &hf_lte_rrc_scg_RadioConfig_r12, + { "scg-RadioConfig-r12", "lte-rrc.scg_RadioConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SCG_ConfigPartSCG_r12", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_07, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_02", HFILL }}, + { &hf_lte_rrc_criticalExtensions_03, + { "criticalExtensions", "lte-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_03_vals), 0, + "T_criticalExtensions_03", HFILL }}, + { &hf_lte_rrc_c1_03, + { "c1", "lte-rrc.c1", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_03_vals), 0, + "T_c1_03", HFILL }}, + { &hf_lte_rrc_ueRadioAccessCapabilityInformation_r8, + { "ueRadioAccessCapabilityInformation-r8", "lte-rrc.ueRadioAccessCapabilityInformation_r8_element", + FT_NONE, BASE_NONE, NULL, 0, + "UERadioAccessCapabilityInformation_r8_IEs", HFILL }}, + { &hf_lte_rrc_criticalExtensionsFuture_03, + { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_03", HFILL }}, + { &hf_lte_rrc_ue_RadioAccessCapabilityInfo_01, + { "ue-RadioAccessCapabilityInfo", "lte-rrc.ue_RadioAccessCapabilityInfo", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_08, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_03", HFILL }}, + { &hf_lte_rrc_sourceMeasConfig, + { "sourceMeasConfig", "lte-rrc.sourceMeasConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + "MeasConfig", HFILL }}, + { &hf_lte_rrc_sourceRadioResourceConfig, + { "sourceRadioResourceConfig", "lte-rrc.sourceRadioResourceConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + "RadioResourceConfigDedicated", HFILL }}, + { &hf_lte_rrc_sourceSecurityAlgorithmConfig, + { "sourceSecurityAlgorithmConfig", "lte-rrc.sourceSecurityAlgorithmConfig_element", + FT_NONE, BASE_NONE, NULL, 0, + "SecurityAlgorithmConfig", HFILL }}, + { &hf_lte_rrc_sourceUE_Identity, + { "sourceUE-Identity", "lte-rrc.sourceUE_Identity", + FT_BYTES, BASE_NONE, NULL, 0, + "C_RNTI", HFILL }}, + { &hf_lte_rrc_sourceMasterInformationBlock, + { "sourceMasterInformationBlock", "lte-rrc.sourceMasterInformationBlock_element", + FT_NONE, BASE_NONE, NULL, 0, + "MasterInformationBlock", HFILL }}, + { &hf_lte_rrc_sourceSystemInformationBlockType1, + { "sourceSystemInformationBlockType1", "lte-rrc.sourceSystemInformationBlockType1_element", + FT_NONE, BASE_NONE, NULL, 0, + "SystemInformationBlockType1", HFILL }}, + { &hf_lte_rrc_sourceSystemInformationBlockType2, + { "sourceSystemInformationBlockType2", "lte-rrc.sourceSystemInformationBlockType2_element", + FT_NONE, BASE_NONE, NULL, 0, + "SystemInformationBlockType2", HFILL }}, + { &hf_lte_rrc_antennaInfoCommon, + { "antennaInfoCommon", "lte-rrc.antennaInfoCommon_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sourceDl_CarrierFreq, + { "sourceDl-CarrierFreq", "lte-rrc.sourceDl_CarrierFreq", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA", HFILL }}, + { &hf_lte_rrc_sourceSystemInformationBlockType1Ext, + { "sourceSystemInformationBlockType1Ext", "lte-rrc.sourceSystemInformationBlockType1Ext", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sourceOtherConfig_r9, + { "sourceOtherConfig-r9", "lte-rrc.sourceOtherConfig_r9_element", + FT_NONE, BASE_NONE, NULL, 0, + "OtherConfig_r9", HFILL }}, + { &hf_lte_rrc_sourceSCellConfigList_r10, + { "sourceSCellConfigList-r10", "lte-rrc.sourceSCellConfigList_r10", + FT_UINT32, BASE_DEC, NULL, 0, + "SCellToAddModList_r10", HFILL }}, + { &hf_lte_rrc_sourceConfigSCG_r12, + { "sourceConfigSCG-r12", "lte-rrc.sourceConfigSCG_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SCG_Config_r12", HFILL }}, + { &hf_lte_rrc_sourceDl_CarrierFreq_v9e0, + { "sourceDl-CarrierFreq-v9e0", "lte-rrc.sourceDl_CarrierFreq_v9e0", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA_v9e0", HFILL }}, + { &hf_lte_rrc_sourceWlan_OffloadConfig_r12, + { "sourceWlan-OffloadConfig-r12", "lte-rrc.sourceWlan_OffloadConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "WLAN_OffloadConfig_r12", HFILL }}, + { &hf_lte_rrc_sourceSL_CommConfig_r12, + { "sourceSL-CommConfig-r12", "lte-rrc.sourceSL_CommConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_CommConfig_r12", HFILL }}, + { &hf_lte_rrc_sourceSL_DiscConfig_r12, + { "sourceSL-DiscConfig-r12", "lte-rrc.sourceSL_DiscConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_DiscConfig_r12", HFILL }}, + { &hf_lte_rrc_reestablishmentInfo, + { "reestablishmentInfo", "lte-rrc.reestablishmentInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_idc_Indication_r11, + { "idc-Indication-r11", "lte-rrc.idc_Indication_r11", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_mbmsInterestIndication_r11, + { "mbmsInterestIndication-r11", "lte-rrc.mbmsInterestIndication_r11", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_powerPrefIndication_r11, + { "powerPrefIndication-r11", "lte-rrc.powerPrefIndication_r11", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sidelinkUEInformation_r12, + { "sidelinkUEInformation-r12", "lte-rrc.sidelinkUEInformation_r12", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sourcePhysCellId, + { "sourcePhysCellId", "lte-rrc.sourcePhysCellId", + FT_UINT32, BASE_DEC, NULL, 0, + "PhysCellId", HFILL }}, + { &hf_lte_rrc_targetCellShortMAC_I, + { "targetCellShortMAC-I", "lte-rrc.targetCellShortMAC_I", + FT_BYTES, BASE_NONE, NULL, 0, + "ShortMAC_I", HFILL }}, + { &hf_lte_rrc_additionalReestabInfoList, + { "additionalReestabInfoList", "lte-rrc.additionalReestabInfoList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_AdditionalReestabInfoList_item, + { "AdditionalReestabInfo", "lte-rrc.AdditionalReestabInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_cellIdentity, + { "cellIdentity", "lte-rrc.cellIdentity", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_key_eNodeB_Star, + { "key-eNodeB-Star", "lte-rrc.key_eNodeB_Star", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_shortMAC_I, + { "shortMAC-I", "lte-rrc.shortMAC_I", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_ue_InactiveTime, + { "ue-InactiveTime", "lte-rrc.ue_InactiveTime", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_ue_InactiveTime_vals_ext, 0, + NULL, HFILL }}, + { &hf_lte_rrc_candidateCellInfoList_r10, + { "candidateCellInfoList-r10", "lte-rrc.candidateCellInfoList_r10", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_CandidateCellInfoList_r10_item, + { "CandidateCellInfo-r10", "lte-rrc.CandidateCellInfo_r10_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_physCellId_r10, + { "physCellId-r10", "lte-rrc.physCellId_r10", + FT_UINT32, BASE_DEC, NULL, 0, + "PhysCellId", HFILL }}, + { &hf_lte_rrc_dl_CarrierFreq_r10, + { "dl-CarrierFreq-r10", "lte-rrc.dl_CarrierFreq_r10", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA", HFILL }}, + { &hf_lte_rrc_rsrpResult_r10, + { "rsrpResult-r10", "lte-rrc.rsrpResult_r10", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRP_Range_vals_ext, 0, + "RSRP_Range", HFILL }}, + { &hf_lte_rrc_rsrqResult_r10, + { "rsrqResult-r10", "lte-rrc.rsrqResult_r10", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, + "RSRQ_Range", HFILL }}, + { &hf_lte_rrc_dl_CarrierFreq_v1090, + { "dl-CarrierFreq-v1090", "lte-rrc.dl_CarrierFreq_v1090", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA_v9e0", HFILL }}, + { &hf_lte_rrc_rsrqResult_v1250, + { "rsrqResult-v1250", "lte-rrc.rsrqResult_v1250", + FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_message, { "message", "lte-rrc.message_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42321,10 +44724,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_BCCH_DL_SCH_MessageType_vals), 0, "BCCH_DL_SCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1, + { &hf_lte_rrc_c1_04, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_04_vals), 0, + "T_c1_04", HFILL }}, { &hf_lte_rrc_systemInformation, { "systemInformation", "lte-rrc.systemInformation_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42341,10 +44744,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_MCCH_MessageType_vals), 0, "MCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_01, + { &hf_lte_rrc_c1_05, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_01_vals), 0, - "T_c1_01", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_05_vals), 0, + "T_c1_05", HFILL }}, { &hf_lte_rrc_mbsfnAreaConfiguration_r9, { "mbsfnAreaConfiguration-r9", "lte-rrc.mbsfnAreaConfiguration_r9_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42369,10 +44772,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_PCCH_MessageType_vals), 0, "PCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_02, + { &hf_lte_rrc_c1_06, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_02_vals), 0, - "T_c1_02", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_06_vals), 0, + "T_c1_06", HFILL }}, { &hf_lte_rrc_paging, { "paging", "lte-rrc.paging_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42385,10 +44788,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_DL_CCCH_MessageType_vals), 0, "DL_CCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_03, + { &hf_lte_rrc_c1_07, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_03_vals), 0, - "T_c1_03", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_07_vals), 0, + "T_c1_07", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishment, { "rrcConnectionReestablishment", "lte-rrc.rrcConnectionReestablishment_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42413,10 +44816,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_DL_DCCH_MessageType_vals), 0, "DL_DCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_04, + { &hf_lte_rrc_c1_08, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_04_vals), 0, - "T_c1_04", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_08_vals), 0, + "T_c1_08", HFILL }}, { &hf_lte_rrc_csfbParametersResponseCDMA2000, { "csfbParametersResponseCDMA2000", "lte-rrc.csfbParametersResponseCDMA2000_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42465,22 +44868,6 @@ void proto_register_lte_rrc(void) { { "rnReconfiguration-r10", "lte-rrc.rnReconfiguration_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_spare4, - { "spare4", "lte-rrc.spare4_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_spare3, - { "spare3", "lte-rrc.spare3_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_spare2, - { "spare2", "lte-rrc.spare2_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_spare1, - { "spare1", "lte-rrc.spare1_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_messageClassExtension_04, { "messageClassExtension", "lte-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42489,10 +44876,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_UL_CCCH_MessageType_vals), 0, "UL_CCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_05, + { &hf_lte_rrc_c1_09, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_05_vals), 0, - "T_c1_05", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_09_vals), 0, + "T_c1_09", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishmentRequest, { "rrcConnectionReestablishmentRequest", "lte-rrc.rrcConnectionReestablishmentRequest_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42509,10 +44896,10 @@ void proto_register_lte_rrc(void) { { "message", "lte-rrc.message", FT_UINT32, BASE_DEC, VALS(lte_rrc_UL_DCCH_MessageType_vals), 0, "UL_DCCH_MessageType", HFILL }}, - { &hf_lte_rrc_c1_06, + { &hf_lte_rrc_c1_10, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_06_vals), 0, - "T_c1_06", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_10_vals), 0, + "T_c1_10", HFILL }}, { &hf_lte_rrc_csfbParametersRequestCDMA2000, { "csfbParametersRequestCDMA2000", "lte-rrc.csfbParametersRequestCDMA2000_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42593,7 +44980,7 @@ void proto_register_lte_rrc(void) { { "inDeviceCoexIndication-r11", "lte-rrc.inDeviceCoexIndication_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_mbmsInterestIndication_r11, + { &hf_lte_rrc_mbmsInterestIndication_r11_01, { "mbmsInterestIndication-r11", "lte-rrc.mbmsInterestIndication_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -42601,8 +44988,8 @@ void proto_register_lte_rrc(void) { { "scgFailureInformation-r12", "lte-rrc.scgFailureInformation_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_spare12, - { "spare12", "lte-rrc.spare12_element", + { &hf_lte_rrc_sidelinkUEInformation_r12_01, + { "sidelinkUEInformation-r12", "lte-rrc.sidelinkUEInformation_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_spare11, @@ -42621,18 +45008,6 @@ void proto_register_lte_rrc(void) { { "spare8", "lte-rrc.spare8_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_spare7, - { "spare7", "lte-rrc.spare7_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_spare6, - { "spare6", "lte-rrc.spare6_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_spare5, - { "spare5", "lte-rrc.spare5_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_messageClassExtensionFuture_r11, { "messageClassExtensionFuture-r11", "lte-rrc.messageClassExtensionFuture_r11_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42641,38 +45016,34 @@ void proto_register_lte_rrc(void) { { "rrc-TransactionIdentifier", "lte-rrc.rrc_TransactionIdentifier", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions, + { &hf_lte_rrc_criticalExtensions_04, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_c1_07, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_04_vals), 0, + "T_criticalExtensions_04", HFILL }}, + { &hf_lte_rrc_c1_11, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_07_vals), 0, - "T_c1_07", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_11_vals), 0, + "T_c1_11", HFILL }}, { &hf_lte_rrc_counterCheck_r8, { "counterCheck-r8", "lte-rrc.counterCheck_r8_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheck_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture, + { &hf_lte_rrc_criticalExtensionsFuture_04, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, + "T_criticalExtensionsFuture_04", HFILL }}, { &hf_lte_rrc_drb_CountMSB_InfoList, { "drb-CountMSB-InfoList", "lte-rrc.drb_CountMSB_InfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension, + { &hf_lte_rrc_nonCriticalExtension_09, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheck_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_lateNonCriticalExtension, - { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", - FT_BYTES, BASE_NONE, NULL, 0, - "OCTET_STRING", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_01, + { &hf_lte_rrc_nonCriticalExtension_10, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, + "T_nonCriticalExtension_04", HFILL }}, { &hf_lte_rrc_DRB_CountMSB_InfoList_item, { "DRB-CountMSB-Info", "lte-rrc.DRB_CountMSB_Info_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42689,30 +45060,30 @@ void proto_register_lte_rrc(void) { { "countMSB-Downlink", "lte-rrc.countMSB_Downlink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_33554431", HFILL }}, - { &hf_lte_rrc_criticalExtensions_01, + { &hf_lte_rrc_criticalExtensions_05, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_01_vals), 0, - "T_criticalExtensions_01", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_05_vals), 0, + "T_criticalExtensions_05", HFILL }}, { &hf_lte_rrc_counterCheckResponse_r8, { "counterCheckResponse-r8", "lte-rrc.counterCheckResponse_r8_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheckResponse_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_01, + { &hf_lte_rrc_criticalExtensionsFuture_05, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_01", HFILL }}, + "T_criticalExtensionsFuture_05", HFILL }}, { &hf_lte_rrc_drb_CountInfoList, { "drb-CountInfoList", "lte-rrc.drb_CountInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_02, + { &hf_lte_rrc_nonCriticalExtension_11, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheckResponse_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_03, + { &hf_lte_rrc_nonCriticalExtension_12, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_01", HFILL }}, + "T_nonCriticalExtension_05", HFILL }}, { &hf_lte_rrc_DRB_CountInfoList_item, { "DRB-CountInfo", "lte-rrc.DRB_CountInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42725,38 +45096,38 @@ void proto_register_lte_rrc(void) { { "count-Downlink", "lte-rrc.count_Downlink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, - { &hf_lte_rrc_criticalExtensions_02, + { &hf_lte_rrc_criticalExtensions_06, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_02_vals), 0, - "T_criticalExtensions_02", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_06_vals), 0, + "T_criticalExtensions_06", HFILL }}, { &hf_lte_rrc_csfbParametersRequestCDMA2000_r8, { "csfbParametersRequestCDMA2000-r8", "lte-rrc.csfbParametersRequestCDMA2000_r8_element", FT_NONE, BASE_NONE, NULL, 0, "CSFBParametersRequestCDMA2000_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_02, + { &hf_lte_rrc_criticalExtensionsFuture_06, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_02", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_04, + "T_criticalExtensionsFuture_06", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_13, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CSFBParametersRequestCDMA2000_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_05, + { &hf_lte_rrc_nonCriticalExtension_14, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_02", HFILL }}, - { &hf_lte_rrc_criticalExtensions_03, + "T_nonCriticalExtension_06", HFILL }}, + { &hf_lte_rrc_criticalExtensions_07, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_03_vals), 0, - "T_criticalExtensions_03", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_07_vals), 0, + "T_criticalExtensions_07", HFILL }}, { &hf_lte_rrc_csfbParametersResponseCDMA2000_r8, { "csfbParametersResponseCDMA2000-r8", "lte-rrc.csfbParametersResponseCDMA2000_r8_element", FT_NONE, BASE_NONE, NULL, 0, "CSFBParametersResponseCDMA2000_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_03, + { &hf_lte_rrc_criticalExtensionsFuture_07, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_03", HFILL }}, + "T_criticalExtensionsFuture_07", HFILL }}, { &hf_lte_rrc_rand, { "rand", "lte-rrc.rand", FT_BYTES, BASE_NONE, NULL, 0, @@ -42765,30 +45136,30 @@ void proto_register_lte_rrc(void) { { "mobilityParameters", "lte-rrc.mobilityParameters", FT_BYTES, BASE_NONE, NULL, 0, "MobilityParametersCDMA2000", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_06, + { &hf_lte_rrc_nonCriticalExtension_15, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CSFBParametersResponseCDMA2000_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_07, + { &hf_lte_rrc_nonCriticalExtension_16, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_03", HFILL }}, - { &hf_lte_rrc_criticalExtensions_04, + "T_nonCriticalExtension_07", HFILL }}, + { &hf_lte_rrc_criticalExtensions_08, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_04_vals), 0, - "T_criticalExtensions_04", HFILL }}, - { &hf_lte_rrc_c1_08, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_08_vals), 0, + "T_criticalExtensions_08", HFILL }}, + { &hf_lte_rrc_c1_12, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_08_vals), 0, - "T_c1_08", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_12_vals), 0, + "T_c1_12", HFILL }}, { &hf_lte_rrc_dlInformationTransfer_r8, { "dlInformationTransfer-r8", "lte-rrc.dlInformationTransfer_r8_element", FT_NONE, BASE_NONE, NULL, 0, "DLInformationTransfer_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_04, + { &hf_lte_rrc_criticalExtensionsFuture_08, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_04", HFILL }}, + "T_criticalExtensionsFuture_08", HFILL }}, { &hf_lte_rrc_dedicatedInfoType, { "dedicatedInfoType", "lte-rrc.dedicatedInfoType", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dedicatedInfoType_vals), 0, @@ -42805,39 +45176,39 @@ void proto_register_lte_rrc(void) { { "dedicatedInfoCDMA2000-HRPD", "lte-rrc.dedicatedInfoCDMA2000_HRPD", FT_BYTES, BASE_NONE, NULL, 0, "DedicatedInfoCDMA2000", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_08, + { &hf_lte_rrc_nonCriticalExtension_17, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "DLInformationTransfer_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_09, + { &hf_lte_rrc_nonCriticalExtension_18, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_04", HFILL }}, - { &hf_lte_rrc_criticalExtensions_05, + "T_nonCriticalExtension_08", HFILL }}, + { &hf_lte_rrc_criticalExtensions_09, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_05_vals), 0, - "T_criticalExtensions_05", HFILL }}, - { &hf_lte_rrc_c1_09, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_09_vals), 0, + "T_criticalExtensions_09", HFILL }}, + { &hf_lte_rrc_c1_13, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_09_vals), 0, - "T_c1_09", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_13_vals), 0, + "T_c1_13", HFILL }}, { &hf_lte_rrc_handoverFromEUTRAPreparationRequest_r8, { "handoverFromEUTRAPreparationRequest-r8", "lte-rrc.handoverFromEUTRAPreparationRequest_r8_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverFromEUTRAPreparationRequest_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_05, + { &hf_lte_rrc_criticalExtensionsFuture_09, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_05", HFILL }}, + "T_criticalExtensionsFuture_09", HFILL }}, { &hf_lte_rrc_cdma2000_Type, { "cdma2000-Type", "lte-rrc.cdma2000_Type", FT_UINT32, BASE_DEC, VALS(lte_rrc_CDMA2000_Type_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_10, + { &hf_lte_rrc_nonCriticalExtension_19, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverFromEUTRAPreparationRequest_v890_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_11, + { &hf_lte_rrc_nonCriticalExtension_20, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverFromEUTRAPreparationRequest_v920_IEs", HFILL }}, @@ -42845,7 +45216,7 @@ void proto_register_lte_rrc(void) { { "concurrPrepCDMA2000-HRPD-r9", "lte-rrc.concurrPrepCDMA2000_HRPD_r9", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_12, + { &hf_lte_rrc_nonCriticalExtension_21, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverFromEUTRAPreparationRequest_v1020_IEs", HFILL }}, @@ -42857,26 +45228,26 @@ void proto_register_lte_rrc(void) { { "redirectCarrierCDMA2000-1XRTT-r10", "lte-rrc.redirectCarrierCDMA2000_1XRTT_r10_element", FT_NONE, BASE_NONE, NULL, 0, "CarrierFreqCDMA2000", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_13, + { &hf_lte_rrc_nonCriticalExtension_22, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_05", HFILL }}, - { &hf_lte_rrc_criticalExtensions_06, + "T_nonCriticalExtension_09", HFILL }}, + { &hf_lte_rrc_criticalExtensions_10, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_06_vals), 0, - "T_criticalExtensions_06", HFILL }}, - { &hf_lte_rrc_c1_10, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_10_vals), 0, + "T_criticalExtensions_10", HFILL }}, + { &hf_lte_rrc_c1_14, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_10_vals), 0, - "T_c1_10", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_14_vals), 0, + "T_c1_14", HFILL }}, { &hf_lte_rrc_inDeviceCoexIndication_r11_01, { "inDeviceCoexIndication-r11", "lte-rrc.inDeviceCoexIndication_r11_element", FT_NONE, BASE_NONE, NULL, 0, "InDeviceCoexIndication_r11_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_06, + { &hf_lte_rrc_criticalExtensionsFuture_10, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_06", HFILL }}, + "T_criticalExtensionsFuture_10", HFILL }}, { &hf_lte_rrc_affectedCarrierFreqList_r11, { "affectedCarrierFreqList-r11", "lte-rrc.affectedCarrierFreqList_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -42885,10 +45256,10 @@ void proto_register_lte_rrc(void) { { "tdm-AssistanceInfo-r11", "lte-rrc.tdm_AssistanceInfo_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_TDM_AssistanceInfo_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_14, + { &hf_lte_rrc_nonCriticalExtension_23, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_06", HFILL }}, + "T_nonCriticalExtension_10", HFILL }}, { &hf_lte_rrc_AffectedCarrierFreqList_r11_item, { "AffectedCarrierFreq-r11", "lte-rrc.AffectedCarrierFreq_r11_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42945,22 +45316,22 @@ void proto_register_lte_rrc(void) { { "subframeConfig6-r11", "lte-rrc.subframeConfig6_r11", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_60", HFILL }}, - { &hf_lte_rrc_criticalExtensions_07, + { &hf_lte_rrc_criticalExtensions_11, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_07_vals), 0, - "T_criticalExtensions_07", HFILL }}, - { &hf_lte_rrc_c1_11, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_11_vals), 0, + "T_criticalExtensions_11", HFILL }}, + { &hf_lte_rrc_c1_15, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_11_vals), 0, - "T_c1_11", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_15_vals), 0, + "T_c1_15", HFILL }}, { &hf_lte_rrc_interFreqRSTDMeasurementIndication_r10_01, { "interFreqRSTDMeasurementIndication-r10", "lte-rrc.interFreqRSTDMeasurementIndication_r10_element", FT_NONE, BASE_NONE, NULL, 0, "InterFreqRSTDMeasurementIndication_r10_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_07, + { &hf_lte_rrc_criticalExtensionsFuture_11, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_07", HFILL }}, + "T_criticalExtensionsFuture_11", HFILL }}, { &hf_lte_rrc_rstd_InterFreqIndication_r10, { "rstd-InterFreqIndication-r10", "lte-rrc.rstd_InterFreqIndication_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_rstd_InterFreqIndication_r10_vals), 0, @@ -42977,10 +45348,10 @@ void proto_register_lte_rrc(void) { { "stop", "lte-rrc.stop_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_15, + { &hf_lte_rrc_nonCriticalExtension_24, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_07", HFILL }}, + "T_nonCriticalExtension_11", HFILL }}, { &hf_lte_rrc_RSTD_InterFreqInfoList_r10_item, { "RSTD-InterFreqInfo-r10", "lte-rrc.RSTD_InterFreqInfo_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -42997,22 +45368,22 @@ void proto_register_lte_rrc(void) { { "carrierFreq-v1090", "lte-rrc.carrierFreq_v1090", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA_v9e0", HFILL }}, - { &hf_lte_rrc_criticalExtensions_08, + { &hf_lte_rrc_criticalExtensions_12, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_08_vals), 0, - "T_criticalExtensions_08", HFILL }}, - { &hf_lte_rrc_c1_12, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_12_vals), 0, + "T_criticalExtensions_12", HFILL }}, + { &hf_lte_rrc_c1_16, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_12_vals), 0, - "T_c1_12", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_16_vals), 0, + "T_c1_16", HFILL }}, { &hf_lte_rrc_loggedMeasurementConfiguration_r10_01, { "loggedMeasurementConfiguration-r10", "lte-rrc.loggedMeasurementConfiguration_r10_element", FT_NONE, BASE_NONE, NULL, 0, "LoggedMeasurementConfiguration_r10_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_08, + { &hf_lte_rrc_criticalExtensionsFuture_12, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_08", HFILL }}, + "T_criticalExtensionsFuture_12", HFILL }}, { &hf_lte_rrc_traceReference_r10, { "traceReference-r10", "lte-rrc.traceReference_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43041,7 +45412,7 @@ void proto_register_lte_rrc(void) { { "loggingInterval-r10", "lte-rrc.loggingInterval_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_LoggingInterval_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_16, + { &hf_lte_rrc_nonCriticalExtension_25, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "LoggedMeasurementConfiguration_v1080_IEs", HFILL }}, @@ -43049,7 +45420,7 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension-r10", "lte-rrc.lateNonCriticalExtension_r10", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_17, + { &hf_lte_rrc_nonCriticalExtension_26, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "LoggedMeasurementConfiguration_v1130_IEs", HFILL }}, @@ -43061,18 +45432,18 @@ void proto_register_lte_rrc(void) { { "areaConfiguration-v1130", "lte-rrc.areaConfiguration_v1130_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_18, + { &hf_lte_rrc_nonCriticalExtension_27, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "LoggedMeasurementConfiguration_v12xy_IEs", HFILL }}, + "LoggedMeasurementConfiguration_v1250_IEs", HFILL }}, { &hf_lte_rrc_targetMBSFN_AreaList_r12, { "targetMBSFN-AreaList-r12", "lte-rrc.targetMBSFN_AreaList_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_19, + { &hf_lte_rrc_nonCriticalExtension_28, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_08", HFILL }}, + "T_nonCriticalExtension_12", HFILL }}, { &hf_lte_rrc_TargetMBSFN_AreaList_r12_item, { "TargetMBSFN-Area-r12", "lte-rrc.TargetMBSFN_Area_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43080,7 +45451,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_mbsfn_AreaId_r12, { "mbsfn-AreaId-r12", "lte-rrc.mbsfn_AreaId_r12", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_255", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_carrierFreq_r12, { "carrierFreq-r12", "lte-rrc.carrierFreq_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -43105,10 +45476,10 @@ void proto_register_lte_rrc(void) { { "countingRequestList-r10", "lte-rrc.countingRequestList_r10", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_20, + { &hf_lte_rrc_nonCriticalExtension_29, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_09", HFILL }}, + "T_nonCriticalExtension_13", HFILL }}, { &hf_lte_rrc_CountingRequestList_r10_item, { "CountingRequestInfo-r10", "lte-rrc.CountingRequestInfo_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43117,22 +45488,22 @@ void proto_register_lte_rrc(void) { { "tmgi-r10", "lte-rrc.tmgi_r10_element", FT_NONE, BASE_NONE, NULL, 0, "TMGI_r9", HFILL }}, - { &hf_lte_rrc_criticalExtensions_09, + { &hf_lte_rrc_criticalExtensions_13, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_09_vals), 0, - "T_criticalExtensions_09", HFILL }}, - { &hf_lte_rrc_c1_13, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_13_vals), 0, + "T_criticalExtensions_13", HFILL }}, + { &hf_lte_rrc_c1_17, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_13_vals), 0, - "T_c1_13", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_17_vals), 0, + "T_c1_17", HFILL }}, { &hf_lte_rrc_countingResponse_r10, { "countingResponse-r10", "lte-rrc.countingResponse_r10_element", FT_NONE, BASE_NONE, NULL, 0, "MBMSCountingResponse_r10_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_09, + { &hf_lte_rrc_criticalExtensionsFuture_13, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_09", HFILL }}, + "T_criticalExtensionsFuture_13", HFILL }}, { &hf_lte_rrc_mbsfn_AreaIndex_r10, { "mbsfn-AreaIndex-r10", "lte-rrc.mbsfn_AreaIndex_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -43141,10 +45512,10 @@ void proto_register_lte_rrc(void) { { "countingResponseList-r10", "lte-rrc.countingResponseList_r10", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_21, + { &hf_lte_rrc_nonCriticalExtension_30, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_10", HFILL }}, + "T_nonCriticalExtension_14", HFILL }}, { &hf_lte_rrc_CountingResponseList_r10_item, { "CountingResponseInfo-r10", "lte-rrc.CountingResponseInfo_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43153,22 +45524,22 @@ void proto_register_lte_rrc(void) { { "countingResponseService-r10", "lte-rrc.countingResponseService_r10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxServiceCount_1", HFILL }}, - { &hf_lte_rrc_criticalExtensions_10, + { &hf_lte_rrc_criticalExtensions_14, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_10_vals), 0, - "T_criticalExtensions_10", HFILL }}, - { &hf_lte_rrc_c1_14, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_14_vals), 0, + "T_criticalExtensions_14", HFILL }}, + { &hf_lte_rrc_c1_18, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_14_vals), 0, - "T_c1_14", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_18_vals), 0, + "T_c1_18", HFILL }}, { &hf_lte_rrc_interestIndication_r11, { "interestIndication-r11", "lte-rrc.interestIndication_r11_element", FT_NONE, BASE_NONE, NULL, 0, "MBMSInterestIndication_r11_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_10, + { &hf_lte_rrc_criticalExtensionsFuture_14, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_10", HFILL }}, + "T_criticalExtensionsFuture_14", HFILL }}, { &hf_lte_rrc_mbms_FreqList_r11, { "mbms-FreqList-r11", "lte-rrc.mbms_FreqList_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -43177,10 +45548,10 @@ void proto_register_lte_rrc(void) { { "mbms-Priority-r11", "lte-rrc.mbms_Priority_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mbms_Priority_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_22, + { &hf_lte_rrc_nonCriticalExtension_31, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_11", HFILL }}, + "T_nonCriticalExtension_15", HFILL }}, { &hf_lte_rrc_commonSF_Alloc_r9, { "commonSF-Alloc-r9", "lte-rrc.commonSF_Alloc_r9", FT_UINT32, BASE_DEC, NULL, 0, @@ -43193,62 +45564,62 @@ void proto_register_lte_rrc(void) { { "pmch-InfoList-r9", "lte-rrc.pmch_InfoList_r9", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_23, + { &hf_lte_rrc_nonCriticalExtension_32, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MBSFNAreaConfiguration_v930_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_24, + { &hf_lte_rrc_nonCriticalExtension_33, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "MBSFNAreaConfiguration_v12xy_IEs", HFILL }}, + "MBSFNAreaConfiguration_v1250_IEs", HFILL }}, { &hf_lte_rrc_pmch_InfoListExt_r12, { "pmch-InfoListExt-r12", "lte-rrc.pmch_InfoListExt_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_25, + { &hf_lte_rrc_nonCriticalExtension_34, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_12", HFILL }}, + "T_nonCriticalExtension_16", HFILL }}, { &hf_lte_rrc_CommonSF_AllocPatternList_r9_item, { "MBSFN-SubframeConfig", "lte-rrc.MBSFN_SubframeConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_11, + { &hf_lte_rrc_criticalExtensions_15, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_11_vals), 0, - "T_criticalExtensions_11", HFILL }}, - { &hf_lte_rrc_c1_15, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_15_vals), 0, + "T_criticalExtensions_15", HFILL }}, + { &hf_lte_rrc_c1_19, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_15_vals), 0, - "T_c1_15", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_19_vals), 0, + "T_c1_19", HFILL }}, { &hf_lte_rrc_measurementReport_r8, { "measurementReport-r8", "lte-rrc.measurementReport_r8_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementReport_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_11, + { &hf_lte_rrc_criticalExtensionsFuture_15, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_11", HFILL }}, + "T_criticalExtensionsFuture_15", HFILL }}, { &hf_lte_rrc_measResults, { "measResults", "lte-rrc.measResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_26, + { &hf_lte_rrc_nonCriticalExtension_35, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementReport_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_27, + { &hf_lte_rrc_nonCriticalExtension_36, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_13", HFILL }}, - { &hf_lte_rrc_criticalExtensions_12, + "T_nonCriticalExtension_17", HFILL }}, + { &hf_lte_rrc_criticalExtensions_16, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_12_vals), 0, - "T_criticalExtensions_12", HFILL }}, - { &hf_lte_rrc_c1_16, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_16_vals), 0, + "T_criticalExtensions_16", HFILL }}, + { &hf_lte_rrc_c1_20, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_16_vals), 0, - "T_c1_16", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_20_vals), 0, + "T_c1_20", HFILL }}, { &hf_lte_rrc_mobilityFromEUTRACommand_r8, { "mobilityFromEUTRACommand-r8", "lte-rrc.mobilityFromEUTRACommand_r8_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43257,10 +45628,10 @@ void proto_register_lte_rrc(void) { { "mobilityFromEUTRACommand-r9", "lte-rrc.mobilityFromEUTRACommand_r9_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromEUTRACommand_r9_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_12, + { &hf_lte_rrc_criticalExtensionsFuture_16, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_12", HFILL }}, + "T_criticalExtensionsFuture_16", HFILL }}, { &hf_lte_rrc_cs_FallbackIndicator, { "cs-FallbackIndicator", "lte-rrc.cs_FallbackIndicator", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -43277,11 +45648,11 @@ void proto_register_lte_rrc(void) { { "cellChangeOrder", "lte-rrc.cellChangeOrder_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_28, + { &hf_lte_rrc_nonCriticalExtension_37, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromEUTRACommand_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_29, + { &hf_lte_rrc_nonCriticalExtension_38, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromEUTRACommand_v8d0_IEs", HFILL }}, @@ -43289,10 +45660,10 @@ void proto_register_lte_rrc(void) { { "bandIndicator", "lte-rrc.bandIndicator", FT_UINT32, BASE_DEC, VALS(lte_rrc_BandIndicatorGERAN_vals), 0, "BandIndicatorGERAN", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_30, + { &hf_lte_rrc_nonCriticalExtension_39, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_14", HFILL }}, + "T_nonCriticalExtension_18", HFILL }}, { &hf_lte_rrc_purpose_01, { "purpose", "lte-rrc.purpose", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_purpose_01_vals), 0, @@ -43301,18 +45672,18 @@ void proto_register_lte_rrc(void) { { "e-CSFB-r9", "lte-rrc.e_CSFB_r9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_31, + { &hf_lte_rrc_nonCriticalExtension_40, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromEUTRACommand_v930_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_32, + { &hf_lte_rrc_nonCriticalExtension_41, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromEUTRACommand_v960_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_33, + { &hf_lte_rrc_nonCriticalExtension_42, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_15", HFILL }}, + "T_nonCriticalExtension_19", HFILL }}, { &hf_lte_rrc_targetRAT_Type, { "targetRAT-Type", "lte-rrc.targetRAT_Type", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_targetRAT_Type_vals), 0, @@ -43389,11 +45760,11 @@ void proto_register_lte_rrc(void) { { "etws-Indication", "lte-rrc.etws_Indication", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_etws_Indication_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_34, + { &hf_lte_rrc_nonCriticalExtension_43, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "Paging_v890_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_35, + { &hf_lte_rrc_nonCriticalExtension_44, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "Paging_v920_IEs", HFILL }}, @@ -43401,7 +45772,7 @@ void proto_register_lte_rrc(void) { { "cmas-Indication-r9", "lte-rrc.cmas_Indication_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_cmas_Indication_r9_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_36, + { &hf_lte_rrc_nonCriticalExtension_45, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "Paging_v1130_IEs", HFILL }}, @@ -43409,10 +45780,10 @@ void proto_register_lte_rrc(void) { { "eab-ParamModification-r11", "lte-rrc.eab_ParamModification_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_eab_ParamModification_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_37, + { &hf_lte_rrc_nonCriticalExtension_46, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_16", HFILL }}, + "T_nonCriticalExtension_20", HFILL }}, { &hf_lte_rrc_PagingRecordList_item, { "PagingRecord", "lte-rrc.PagingRecord_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43437,22 +45808,22 @@ void proto_register_lte_rrc(void) { { "IMSI-Digit", "lte-rrc.IMSI_Digit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_13, + { &hf_lte_rrc_criticalExtensions_17, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_13_vals), 0, - "T_criticalExtensions_13", HFILL }}, - { &hf_lte_rrc_c1_17, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_17_vals), 0, + "T_criticalExtensions_17", HFILL }}, + { &hf_lte_rrc_c1_21, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_17_vals), 0, - "T_c1_17", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_21_vals), 0, + "T_c1_21", HFILL }}, { &hf_lte_rrc_proximityIndication_r9_01, { "proximityIndication-r9", "lte-rrc.proximityIndication_r9_element", FT_NONE, BASE_NONE, NULL, 0, "ProximityIndication_r9_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_13, + { &hf_lte_rrc_criticalExtensionsFuture_17, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_13", HFILL }}, + "T_criticalExtensionsFuture_17", HFILL }}, { &hf_lte_rrc_type_r9, { "type-r9", "lte-rrc.type_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_type_r9_vals), 0, @@ -43473,30 +45844,30 @@ void proto_register_lte_rrc(void) { { "eutra2-v9e0", "lte-rrc.eutra2_v9e0", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA_v9e0", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_38, + { &hf_lte_rrc_nonCriticalExtension_47, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "ProximityIndication_v930_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_39, + { &hf_lte_rrc_nonCriticalExtension_48, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_17", HFILL }}, - { &hf_lte_rrc_criticalExtensions_14, + "T_nonCriticalExtension_21", HFILL }}, + { &hf_lte_rrc_criticalExtensions_18, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_14_vals), 0, - "T_criticalExtensions_14", HFILL }}, - { &hf_lte_rrc_c1_18, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_18_vals), 0, + "T_criticalExtensions_18", HFILL }}, + { &hf_lte_rrc_c1_22, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_18_vals), 0, - "T_c1_18", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_22_vals), 0, + "T_c1_22", HFILL }}, { &hf_lte_rrc_rnReconfiguration_r10_01, { "rnReconfiguration-r10", "lte-rrc.rnReconfiguration_r10_element", FT_NONE, BASE_NONE, NULL, 0, "RNReconfiguration_r10_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_14, + { &hf_lte_rrc_criticalExtensionsFuture_18, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_14", HFILL }}, + "T_criticalExtensionsFuture_18", HFILL }}, { &hf_lte_rrc_rn_SystemInfo_r10, { "rn-SystemInfo-r10", "lte-rrc.rn_SystemInfo_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43505,10 +45876,10 @@ void proto_register_lte_rrc(void) { { "rn-SubframeConfig-r10", "lte-rrc.rn_SubframeConfig_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_40, + { &hf_lte_rrc_nonCriticalExtension_49, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_18", HFILL }}, + "T_nonCriticalExtension_22", HFILL }}, { &hf_lte_rrc_systemInformationBlockType1_r10, { "systemInformationBlockType1-r10", "lte-rrc.systemInformationBlockType1_r10", FT_BYTES, BASE_NONE, NULL, 0, @@ -43517,42 +45888,42 @@ void proto_register_lte_rrc(void) { { "systemInformationBlockType2-r10", "lte-rrc.systemInformationBlockType2_r10_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType2", HFILL }}, - { &hf_lte_rrc_criticalExtensions_15, + { &hf_lte_rrc_criticalExtensions_19, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_15_vals), 0, - "T_criticalExtensions_15", HFILL }}, - { &hf_lte_rrc_c1_19, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_19_vals), 0, + "T_criticalExtensions_19", HFILL }}, + { &hf_lte_rrc_c1_23, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_19_vals), 0, - "T_c1_19", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_23_vals), 0, + "T_c1_23", HFILL }}, { &hf_lte_rrc_rnReconfigurationComplete_r10_01, { "rnReconfigurationComplete-r10", "lte-rrc.rnReconfigurationComplete_r10_element", FT_NONE, BASE_NONE, NULL, 0, "RNReconfigurationComplete_r10_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_15, + { &hf_lte_rrc_criticalExtensionsFuture_19, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_15", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_41, + "T_criticalExtensionsFuture_19", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_50, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_19", HFILL }}, - { &hf_lte_rrc_criticalExtensions_16, + "T_nonCriticalExtension_23", HFILL }}, + { &hf_lte_rrc_criticalExtensions_20, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_16_vals), 0, - "T_criticalExtensions_16", HFILL }}, - { &hf_lte_rrc_c1_20, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_20_vals), 0, + "T_criticalExtensions_20", HFILL }}, + { &hf_lte_rrc_c1_24, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_20_vals), 0, - "T_c1_20", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_24_vals), 0, + "T_c1_24", HFILL }}, { &hf_lte_rrc_rrcConnectionReconfiguration_r8, { "rrcConnectionReconfiguration-r8", "lte-rrc.rrcConnectionReconfiguration_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfiguration_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_16, + { &hf_lte_rrc_criticalExtensionsFuture_20, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_16", HFILL }}, + "T_criticalExtensionsFuture_20", HFILL }}, { &hf_lte_rrc_measConfig, { "measConfig", "lte-rrc.measConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43577,11 +45948,11 @@ void proto_register_lte_rrc(void) { { "securityConfigHO", "lte-rrc.securityConfigHO_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_42, + { &hf_lte_rrc_nonCriticalExtension_51, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfiguration_v890_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_43, + { &hf_lte_rrc_nonCriticalExtension_52, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfiguration_v920_IEs", HFILL }}, @@ -43593,7 +45964,7 @@ void proto_register_lte_rrc(void) { { "fullConfig-r9", "lte-rrc.fullConfig_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_fullConfig_r9_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_44, + { &hf_lte_rrc_nonCriticalExtension_53, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfiguration_v1020_IEs", HFILL }}, @@ -43605,7 +45976,7 @@ void proto_register_lte_rrc(void) { { "sCellToAddModList-r10", "lte-rrc.sCellToAddModList_r10", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_45, + { &hf_lte_rrc_nonCriticalExtension_54, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfiguration_v1130_IEs", HFILL }}, @@ -43613,13 +45984,13 @@ void proto_register_lte_rrc(void) { { "systemInfomationBlockType1Dedicated-r11", "lte-rrc.systemInfomationBlockType1Dedicated_r11", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_46, + { &hf_lte_rrc_nonCriticalExtension_55, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "RRCConnectionReconfiguration_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_wlan_OffloadDedicated_r12, - { "wlan-OffloadDedicated-r12", "lte-rrc.wlan_OffloadDedicated_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_wlan_OffloadDedicated_r12_vals), 0, + "RRCConnectionReconfiguration_v1250_IEs", HFILL }}, + { &hf_lte_rrc_wlan_OffloadInfo_r12, + { "wlan-OffloadInfo-r12", "lte-rrc.wlan_OffloadInfo_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_wlan_OffloadInfo_r12_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_release, { "release", "lte-rrc.release_element", @@ -43629,10 +46000,10 @@ void proto_register_lte_rrc(void) { { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_wlan_OffloadConfig_r12, - { "wlan-OffloadConfig-r12", "lte-rrc.wlan_OffloadConfig_r12_element", + { &hf_lte_rrc_wlan_OffloadConfigDedicated_r12, + { "wlan-OffloadConfigDedicated-r12", "lte-rrc.wlan_OffloadConfigDedicated_r12_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, + "WLAN_OffloadConfig_r12", HFILL }}, { &hf_lte_rrc_t350_r12, { "t350-r12", "lte-rrc.t350_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t350_r12_vals), 0, @@ -43641,10 +46012,26 @@ void proto_register_lte_rrc(void) { { "scg-Configuration-r12", "lte-rrc.scg_Configuration_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_SCG_Configuration_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_47, + { &hf_lte_rrc_sl_SyncTxControl_r12, + { "sl-SyncTxControl-r12", "lte-rrc.sl_SyncTxControl_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sl_DiscConfig_r12, + { "sl-DiscConfig-r12", "lte-rrc.sl_DiscConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sl_CommConfig_r12, + { "sl-CommConfig-r12", "lte-rrc.sl_CommConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_56, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_20", HFILL }}, + "T_nonCriticalExtension_24", HFILL }}, + { &hf_lte_rrc_networkControlledSyncTx_r12, + { "networkControlledSyncTx-r12", "lte-rrc.networkControlledSyncTx_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_networkControlledSyncTx_r12_vals), 0, + NULL, HFILL }}, { &hf_lte_rrc_sCellIndex_r12, { "sCellIndex-r12", "lte-rrc.sCellIndex_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -43693,14 +46080,6 @@ void proto_register_lte_rrc(void) { { "cellIdentification-r10", "lte-rrc.cellIdentification_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_physCellId_r10, - { "physCellId-r10", "lte-rrc.physCellId_r10", - FT_UINT32, BASE_DEC, NULL, 0, - "PhysCellId", HFILL }}, - { &hf_lte_rrc_dl_CarrierFreq_r10, - { "dl-CarrierFreq-r10", "lte-rrc.dl_CarrierFreq_r10", - FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueEUTRA", HFILL }}, { &hf_lte_rrc_radioResourceConfigCommonSCell_r10, { "radioResourceConfigCommonSCell-r10", "lte-rrc.radioResourceConfigCommonSCell_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43709,10 +46088,6 @@ void proto_register_lte_rrc(void) { { "radioResourceConfigDedicatedSCell-r10", "lte-rrc.radioResourceConfigDedicatedSCell_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_dl_CarrierFreq_v1090, - { "dl-CarrierFreq-v1090", "lte-rrc.dl_CarrierFreq_v1090", - FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueEUTRA_v9e0", HFILL }}, { &hf_lte_rrc_SCellToReleaseList_r10_item, { "SCellIndex-r10", "lte-rrc.SCellIndex_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -43721,8 +46096,8 @@ void proto_register_lte_rrc(void) { { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_01", HFILL }}, - { &hf_lte_rrc_scg_ConfigPartMCG, - { "scg-ConfigPartMCG", "lte-rrc.scg_ConfigPartMCG_element", + { &hf_lte_rrc_scg_ConfigPartMCG_r12, + { "scg-ConfigPartMCG-r12", "lte-rrc.scg_ConfigPartMCG_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_scg_Counter_r12, @@ -43733,14 +46108,10 @@ void proto_register_lte_rrc(void) { { "powerCoordinationInfo-r12", "lte-rrc.powerCoordinationInfo_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_scg_ConfigPartSCG, - { "scg-ConfigPartSCG", "lte-rrc.scg_ConfigPartSCG_element", + { &hf_lte_rrc_scg_ConfigPartSCG_r12, + { "scg-ConfigPartSCG-r12", "lte-rrc.scg_ConfigPartSCG_r12_element", FT_NONE, BASE_NONE, NULL, 0, - "SCG_ConfigPartSCG_r12", HFILL }}, - { &hf_lte_rrc_cipheringAlgorithmSCG_r12, - { "cipheringAlgorithmSCG-r12", "lte-rrc.cipheringAlgorithmSCG_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_CipheringAlgorithm_r12_vals), 0, - "CipheringAlgorithm_r12", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_radioResourceConfigDedicatedSCG_r12, { "radioResourceConfigDedicatedSCG-r12", "lte-rrc.radioResourceConfigDedicatedSCG_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43749,10 +46120,10 @@ void proto_register_lte_rrc(void) { { "sCellToReleaseListSCG-r12", "lte-rrc.sCellToReleaseListSCG_r12", FT_UINT32, BASE_DEC, NULL, 0, "SCellToReleaseList_r10", HFILL }}, - { &hf_lte_rrc_psCellToAddMod_r12, - { "psCellToAddMod-r12", "lte-rrc.psCellToAddMod_r12_element", + { &hf_lte_rrc_pSCellToAddMod_r12, + { "pSCellToAddMod-r12", "lte-rrc.pSCellToAddMod_r12_element", FT_NONE, BASE_NONE, NULL, 0, - "PSCell_r12", HFILL }}, + NULL, HFILL }}, { &hf_lte_rrc_sCellToAddModListSCG_r12, { "sCellToAddModListSCG-r12", "lte-rrc.sCellToAddModListSCG_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -43789,23 +46160,23 @@ void proto_register_lte_rrc(void) { { "nas-SecurityParamToEUTRA", "lte-rrc.nas_SecurityParamToEUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_17, + { &hf_lte_rrc_criticalExtensions_21, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_17_vals), 0, - "T_criticalExtensions_17", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_21_vals), 0, + "T_criticalExtensions_21", HFILL }}, { &hf_lte_rrc_rrcConnectionReconfigurationComplete_r8, { "rrcConnectionReconfigurationComplete-r8", "lte-rrc.rrcConnectionReconfigurationComplete_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfigurationComplete_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_17, + { &hf_lte_rrc_criticalExtensionsFuture_21, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_17", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_48, + "T_criticalExtensionsFuture_21", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_57, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfigurationComplete_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_49, + { &hf_lte_rrc_nonCriticalExtension_58, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfigurationComplete_v1020_IEs", HFILL }}, @@ -43817,7 +46188,7 @@ void proto_register_lte_rrc(void) { { "logMeasAvailable-r10", "lte-rrc.logMeasAvailable_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasAvailable_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_50, + { &hf_lte_rrc_nonCriticalExtension_59, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReconfigurationComplete_v1130_IEs", HFILL }}, @@ -43825,55 +46196,55 @@ void proto_register_lte_rrc(void) { { "connEstFailInfoAvailable-r11", "lte-rrc.connEstFailInfoAvailable_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_connEstFailInfoAvailable_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_51, + { &hf_lte_rrc_nonCriticalExtension_60, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "RRCConnectionReconfigurationComplete_v12xy_IEs", HFILL }}, + "RRCConnectionReconfigurationComplete_v1250_IEs", HFILL }}, { &hf_lte_rrc_logMeasAvailableMBSFN_r12, { "logMeasAvailableMBSFN-r12", "lte-rrc.logMeasAvailableMBSFN_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasAvailableMBSFN_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_52, + { &hf_lte_rrc_nonCriticalExtension_61, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_21", HFILL }}, - { &hf_lte_rrc_criticalExtensions_18, + "T_nonCriticalExtension_25", HFILL }}, + { &hf_lte_rrc_criticalExtensions_22, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_18_vals), 0, - "T_criticalExtensions_18", HFILL }}, - { &hf_lte_rrc_c1_21, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_22_vals), 0, + "T_criticalExtensions_22", HFILL }}, + { &hf_lte_rrc_c1_25, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_21_vals), 0, - "T_c1_21", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_25_vals), 0, + "T_c1_25", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishment_r8, { "rrcConnectionReestablishment-r8", "lte-rrc.rrcConnectionReestablishment_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishment_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_18, + { &hf_lte_rrc_criticalExtensionsFuture_22, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_18", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_53, + "T_criticalExtensionsFuture_22", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_62, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishment_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_54, + { &hf_lte_rrc_nonCriticalExtension_63, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_22", HFILL }}, - { &hf_lte_rrc_criticalExtensions_19, + "T_nonCriticalExtension_26", HFILL }}, + { &hf_lte_rrc_criticalExtensions_23, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_19_vals), 0, - "T_criticalExtensions_19", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_23_vals), 0, + "T_criticalExtensions_23", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishmentComplete_r8, { "rrcConnectionReestablishmentComplete-r8", "lte-rrc.rrcConnectionReestablishmentComplete_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentComplete_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_19, + { &hf_lte_rrc_criticalExtensionsFuture_23, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_19", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_55, + "T_criticalExtensionsFuture_23", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_64, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentComplete_v920_IEs", HFILL }}, @@ -43881,11 +46252,11 @@ void proto_register_lte_rrc(void) { { "rlf-InfoAvailable-r9", "lte-rrc.rlf_InfoAvailable_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_rlf_InfoAvailable_r9_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_56, + { &hf_lte_rrc_nonCriticalExtension_65, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentComplete_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_57, + { &hf_lte_rrc_nonCriticalExtension_66, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentComplete_v1020_IEs", HFILL }}, @@ -43893,7 +46264,7 @@ void proto_register_lte_rrc(void) { { "logMeasAvailable-r10", "lte-rrc.logMeasAvailable_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasAvailable_r10_01_vals), 0, "T_logMeasAvailable_r10_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_58, + { &hf_lte_rrc_nonCriticalExtension_67, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentComplete_v1130_IEs", HFILL }}, @@ -43901,50 +46272,50 @@ void proto_register_lte_rrc(void) { { "connEstFailInfoAvailable-r11", "lte-rrc.connEstFailInfoAvailable_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_connEstFailInfoAvailable_r11_01_vals), 0, "T_connEstFailInfoAvailable_r11_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_59, + { &hf_lte_rrc_nonCriticalExtension_68, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "RRCConnectionReestablishmentComplete_v12xy_IEs", HFILL }}, + "RRCConnectionReestablishmentComplete_v1250_IEs", HFILL }}, { &hf_lte_rrc_logMeasAvailableMBSFN_r12_01, { "logMeasAvailableMBSFN-r12", "lte-rrc.logMeasAvailableMBSFN_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasAvailableMBSFN_r12_01_vals), 0, "T_logMeasAvailableMBSFN_r12_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_60, + { &hf_lte_rrc_nonCriticalExtension_69, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_23", HFILL }}, - { &hf_lte_rrc_criticalExtensions_20, + "T_nonCriticalExtension_27", HFILL }}, + { &hf_lte_rrc_criticalExtensions_24, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_20_vals), 0, - "T_criticalExtensions_20", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_24_vals), 0, + "T_criticalExtensions_24", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishmentReject_r8, { "rrcConnectionReestablishmentReject-r8", "lte-rrc.rrcConnectionReestablishmentReject_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentReject_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_20, + { &hf_lte_rrc_criticalExtensionsFuture_24, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_20", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_61, + "T_criticalExtensionsFuture_24", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_70, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentReject_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_62, + { &hf_lte_rrc_nonCriticalExtension_71, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_24", HFILL }}, - { &hf_lte_rrc_criticalExtensions_21, + "T_nonCriticalExtension_28", HFILL }}, + { &hf_lte_rrc_criticalExtensions_25, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_21_vals), 0, - "T_criticalExtensions_21", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_25_vals), 0, + "T_criticalExtensions_25", HFILL }}, { &hf_lte_rrc_rrcConnectionReestablishmentRequest_r8, { "rrcConnectionReestablishmentRequest-r8", "lte-rrc.rrcConnectionReestablishmentRequest_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReestablishmentRequest_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_21, + { &hf_lte_rrc_criticalExtensionsFuture_25, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_21", HFILL }}, + "T_criticalExtensionsFuture_25", HFILL }}, { &hf_lte_rrc_ue_Identity_01, { "ue-Identity", "lte-rrc.ue_Identity_element", FT_NONE, BASE_NONE, NULL, 0, @@ -43965,35 +46336,31 @@ void proto_register_lte_rrc(void) { { "physCellId", "lte-rrc.physCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_shortMAC_I, - { "shortMAC-I", "lte-rrc.shortMAC_I", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_22, + { &hf_lte_rrc_criticalExtensions_26, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_22_vals), 0, - "T_criticalExtensions_22", HFILL }}, - { &hf_lte_rrc_c1_22, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_26_vals), 0, + "T_criticalExtensions_26", HFILL }}, + { &hf_lte_rrc_c1_26, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_22_vals), 0, - "T_c1_22", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_26_vals), 0, + "T_c1_26", HFILL }}, { &hf_lte_rrc_rrcConnectionReject_r8, { "rrcConnectionReject-r8", "lte-rrc.rrcConnectionReject_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReject_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_22, + { &hf_lte_rrc_criticalExtensionsFuture_26, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_22", HFILL }}, + "T_criticalExtensionsFuture_26", HFILL }}, { &hf_lte_rrc_waitTime, { "waitTime", "lte-rrc.waitTime", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_63, + { &hf_lte_rrc_nonCriticalExtension_72, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReject_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_64, + { &hf_lte_rrc_nonCriticalExtension_73, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReject_v1020_IEs", HFILL }}, @@ -44001,7 +46368,7 @@ void proto_register_lte_rrc(void) { { "extendedWaitTime-r10", "lte-rrc.extendedWaitTime_r10", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_65, + { &hf_lte_rrc_nonCriticalExtension_74, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionReject_v1130_IEs", HFILL }}, @@ -44017,26 +46384,26 @@ void proto_register_lte_rrc(void) { { "deprioritisationTimer-r11", "lte-rrc.deprioritisationTimer_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deprioritisationTimer_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_66, + { &hf_lte_rrc_nonCriticalExtension_75, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_25", HFILL }}, - { &hf_lte_rrc_criticalExtensions_23, + "T_nonCriticalExtension_29", HFILL }}, + { &hf_lte_rrc_criticalExtensions_27, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_23_vals), 0, - "T_criticalExtensions_23", HFILL }}, - { &hf_lte_rrc_c1_23, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_27_vals), 0, + "T_criticalExtensions_27", HFILL }}, + { &hf_lte_rrc_c1_27, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_23_vals), 0, - "T_c1_23", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_27_vals), 0, + "T_c1_27", HFILL }}, { &hf_lte_rrc_rrcConnectionRelease_r8, { "rrcConnectionRelease-r8", "lte-rrc.rrcConnectionRelease_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionRelease_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_23, + { &hf_lte_rrc_criticalExtensionsFuture_27, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_23", HFILL }}, + "T_criticalExtensionsFuture_27", HFILL }}, { &hf_lte_rrc_releaseCause, { "releaseCause", "lte-rrc.releaseCause", FT_UINT32, BASE_DEC, VALS(lte_rrc_ReleaseCause_vals), 0, @@ -44049,7 +46416,7 @@ void proto_register_lte_rrc(void) { { "idleModeMobilityControlInfo", "lte-rrc.idleModeMobilityControlInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_67, + { &hf_lte_rrc_nonCriticalExtension_76, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionRelease_v890_IEs", HFILL }}, @@ -44057,7 +46424,7 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_68, + { &hf_lte_rrc_nonCriticalExtension_77, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionRelease_v920_IEs", HFILL }}, @@ -44069,10 +46436,10 @@ void proto_register_lte_rrc(void) { { "idleModeMobilityControlInfo-v9e0", "lte-rrc.idleModeMobilityControlInfo_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_69, + { &hf_lte_rrc_nonCriticalExtension_78, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_26", HFILL }}, + "T_nonCriticalExtension_30", HFILL }}, { &hf_lte_rrc_cellInfoList_r9, { "cellInfoList-r9", "lte-rrc.cellInfoList_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_cellInfoList_r9_vals), 0, @@ -44093,7 +46460,7 @@ void proto_register_lte_rrc(void) { { "utra-TDD-r10", "lte-rrc.utra_TDD_r10", FT_UINT32, BASE_DEC, NULL, 0, "CellInfoListUTRA_TDD_r10", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_70, + { &hf_lte_rrc_nonCriticalExtension_79, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionRelease_v1020_IEs", HFILL }}, @@ -44101,10 +46468,10 @@ void proto_register_lte_rrc(void) { { "extendedWaitTime-r10", "lte-rrc.extendedWaitTime_r10", FT_UINT32, BASE_DEC, NULL, 0, "T_extendedWaitTime_r10_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_71, + { &hf_lte_rrc_nonCriticalExtension_80, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_27", HFILL }}, + "T_nonCriticalExtension_31", HFILL }}, { &hf_lte_rrc_eutra, { "eutra", "lte-rrc.eutra", FT_UINT32, BASE_DEC, NULL, 0, @@ -44293,18 +46660,18 @@ void proto_register_lte_rrc(void) { { "utra-BCCH-Container-r10", "lte-rrc.utra_BCCH_Container_r10", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_24, + { &hf_lte_rrc_criticalExtensions_28, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_24_vals), 0, - "T_criticalExtensions_24", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_28_vals), 0, + "T_criticalExtensions_28", HFILL }}, { &hf_lte_rrc_rrcConnectionRequest_r8, { "rrcConnectionRequest-r8", "lte-rrc.rrcConnectionRequest_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionRequest_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_24, + { &hf_lte_rrc_criticalExtensionsFuture_28, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_24", HFILL }}, + "T_criticalExtensionsFuture_28", HFILL }}, { &hf_lte_rrc_ue_Identity_02, { "ue-Identity", "lte-rrc.ue_Identity", FT_UINT32, BASE_DEC, VALS(lte_rrc_InitialUE_Identity_vals), 0, @@ -44321,46 +46688,46 @@ void proto_register_lte_rrc(void) { { "randomValue", "lte-rrc.randomValue", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, - { &hf_lte_rrc_criticalExtensions_25, + { &hf_lte_rrc_criticalExtensions_29, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_25_vals), 0, - "T_criticalExtensions_25", HFILL }}, - { &hf_lte_rrc_c1_24, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_29_vals), 0, + "T_criticalExtensions_29", HFILL }}, + { &hf_lte_rrc_c1_28, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_24_vals), 0, - "T_c1_24", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_28_vals), 0, + "T_c1_28", HFILL }}, { &hf_lte_rrc_rrcConnectionSetup_r8, { "rrcConnectionSetup-r8", "lte-rrc.rrcConnectionSetup_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetup_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_25, + { &hf_lte_rrc_criticalExtensionsFuture_29, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_25", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_72, + "T_criticalExtensionsFuture_29", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_81, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetup_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_73, + { &hf_lte_rrc_nonCriticalExtension_82, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_28", HFILL }}, - { &hf_lte_rrc_criticalExtensions_26, + "T_nonCriticalExtension_32", HFILL }}, + { &hf_lte_rrc_criticalExtensions_30, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_26_vals), 0, - "T_criticalExtensions_26", HFILL }}, - { &hf_lte_rrc_c1_25, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_30_vals), 0, + "T_criticalExtensions_30", HFILL }}, + { &hf_lte_rrc_c1_29, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_25_vals), 0, - "T_c1_25", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_29_vals), 0, + "T_c1_29", HFILL }}, { &hf_lte_rrc_rrcConnectionSetupComplete_r8, { "rrcConnectionSetupComplete-r8", "lte-rrc.rrcConnectionSetupComplete_r8_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetupComplete_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_26, + { &hf_lte_rrc_criticalExtensionsFuture_30, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_26", HFILL }}, + "T_criticalExtensionsFuture_30", HFILL }}, { &hf_lte_rrc_selectedPLMN_Identity, { "selectedPLMN-Identity", "lte-rrc.selectedPLMN_Identity", FT_UINT32, BASE_DEC, NULL, 0, @@ -44369,11 +46736,11 @@ void proto_register_lte_rrc(void) { { "registeredMME", "lte-rrc.registeredMME_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_74, + { &hf_lte_rrc_nonCriticalExtension_83, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetupComplete_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_75, + { &hf_lte_rrc_nonCriticalExtension_84, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetupComplete_v1020_IEs", HFILL }}, @@ -44393,7 +46760,7 @@ void proto_register_lte_rrc(void) { { "rn-SubframeConfigReq-r10", "lte-rrc.rn_SubframeConfigReq_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_rn_SubframeConfigReq_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_76, + { &hf_lte_rrc_nonCriticalExtension_85, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCConnectionSetupComplete_v1130_IEs", HFILL }}, @@ -44401,10 +46768,10 @@ void proto_register_lte_rrc(void) { { "connEstFailInfoAvailable-r11", "lte-rrc.connEstFailInfoAvailable_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_connEstFailInfoAvailable_r11_02_vals), 0, "T_connEstFailInfoAvailable_r11_02", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_77, + { &hf_lte_rrc_nonCriticalExtension_86, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "RRCConnectionSetupComplete_v12xy_IEs", HFILL }}, + "RRCConnectionSetupComplete_v1250_IEs", HFILL }}, { &hf_lte_rrc_mobilityState_r12, { "mobilityState-r12", "lte-rrc.mobilityState_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mobilityState_r12_vals), 0, @@ -44417,10 +46784,10 @@ void proto_register_lte_rrc(void) { { "logMeasAvailableMBSFN-r12", "lte-rrc.logMeasAvailableMBSFN_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasAvailableMBSFN_r12_02_vals), 0, "T_logMeasAvailableMBSFN_r12_02", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_78, + { &hf_lte_rrc_nonCriticalExtension_87, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_29", HFILL }}, + "T_nonCriticalExtension_33", HFILL }}, { &hf_lte_rrc_plmn_Identity, { "plmn-Identity", "lte-rrc.plmn_Identity_element", FT_NONE, BASE_NONE, NULL, 0, @@ -44433,30 +46800,30 @@ void proto_register_lte_rrc(void) { { "mmec", "lte-rrc.mmec", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_27, + { &hf_lte_rrc_criticalExtensions_31, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_27_vals), 0, - "T_criticalExtensions_27", HFILL }}, - { &hf_lte_rrc_c1_26, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_31_vals), 0, + "T_criticalExtensions_31", HFILL }}, + { &hf_lte_rrc_c1_30, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_26_vals), 0, - "T_c1_26", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_30_vals), 0, + "T_c1_30", HFILL }}, { &hf_lte_rrc_scgFailureInformation_r12_01, { "scgFailureInformation-r12", "lte-rrc.scgFailureInformation_r12_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformation_r12_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_27, + { &hf_lte_rrc_criticalExtensionsFuture_31, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_27", HFILL }}, + "T_criticalExtensionsFuture_31", HFILL }}, { &hf_lte_rrc_failureReportSCG_r12, { "failureReportSCG-r12", "lte-rrc.failureReportSCG_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_79, + { &hf_lte_rrc_nonCriticalExtension_88, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_30", HFILL }}, + "T_nonCriticalExtension_34", HFILL }}, { &hf_lte_rrc_failureType_r12, { "failureType-r12", "lte-rrc.failureType_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_failureType_r12_vals), 0, @@ -44466,93 +46833,133 @@ void proto_register_lte_rrc(void) { FT_UINT32, BASE_DEC, NULL, 0, "MeasResultServFreqList_r10", HFILL }}, { &hf_lte_rrc_measResultNeighCells_r12, - { "measResultNeighCells-r12", "lte-rrc.measResultNeighCells_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_measResultListEUTRA_r12, - { "measResultListEUTRA-r12", "lte-rrc.measResultListEUTRA_r12", + { "measResultNeighCells-r12", "lte-rrc.measResultNeighCells_r12", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2EUTRA_r9", HFILL }}, - { &hf_lte_rrc_criticalExtensions_28, + { &hf_lte_rrc_criticalExtensions_32, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_28_vals), 0, - "T_criticalExtensions_28", HFILL }}, - { &hf_lte_rrc_c1_27, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_32_vals), 0, + "T_criticalExtensions_32", HFILL }}, + { &hf_lte_rrc_c1_31, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_27_vals), 0, - "T_c1_27", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_31_vals), 0, + "T_c1_31", HFILL }}, { &hf_lte_rrc_securityModeCommand_r8, { "securityModeCommand-r8", "lte-rrc.securityModeCommand_r8_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeCommand_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_28, + { &hf_lte_rrc_criticalExtensionsFuture_32, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_28", HFILL }}, + "T_criticalExtensionsFuture_32", HFILL }}, { &hf_lte_rrc_securityConfigSMC, { "securityConfigSMC", "lte-rrc.securityConfigSMC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_80, + { &hf_lte_rrc_nonCriticalExtension_89, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeCommand_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_81, + { &hf_lte_rrc_nonCriticalExtension_90, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_31", HFILL }}, - { &hf_lte_rrc_criticalExtensions_29, + "T_nonCriticalExtension_35", HFILL }}, + { &hf_lte_rrc_criticalExtensions_33, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_29_vals), 0, - "T_criticalExtensions_29", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_33_vals), 0, + "T_criticalExtensions_33", HFILL }}, { &hf_lte_rrc_securityModeComplete_r8, { "securityModeComplete-r8", "lte-rrc.securityModeComplete_r8_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeComplete_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_29, + { &hf_lte_rrc_criticalExtensionsFuture_33, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_29", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_82, + "T_criticalExtensionsFuture_33", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_91, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeComplete_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_83, + { &hf_lte_rrc_nonCriticalExtension_92, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_32", HFILL }}, - { &hf_lte_rrc_criticalExtensions_30, + "T_nonCriticalExtension_36", HFILL }}, + { &hf_lte_rrc_criticalExtensions_34, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_30_vals), 0, - "T_criticalExtensions_30", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_34_vals), 0, + "T_criticalExtensions_34", HFILL }}, { &hf_lte_rrc_securityModeFailure_r8, { "securityModeFailure-r8", "lte-rrc.securityModeFailure_r8_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeFailure_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_30, + { &hf_lte_rrc_criticalExtensionsFuture_34, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_30", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_84, + "T_criticalExtensionsFuture_34", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_93, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeFailure_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_85, + { &hf_lte_rrc_nonCriticalExtension_94, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_33", HFILL }}, - { &hf_lte_rrc_criticalExtensions_31, + "T_nonCriticalExtension_37", HFILL }}, + { &hf_lte_rrc_criticalExtensions_35, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_31_vals), 0, - "T_criticalExtensions_31", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_35_vals), 0, + "T_criticalExtensions_35", HFILL }}, + { &hf_lte_rrc_c1_32, + { "c1", "lte-rrc.c1", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_32_vals), 0, + "T_c1_32", HFILL }}, + { &hf_lte_rrc_sidelinkUEInformation_r12_02, + { "sidelinkUEInformation-r12", "lte-rrc.sidelinkUEInformation_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SidelinkUEInformation_r12_IEs", HFILL }}, + { &hf_lte_rrc_criticalExtensionsFuture_35, + { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_criticalExtensionsFuture_35", HFILL }}, + { &hf_lte_rrc_commRxInterestedFreq_r12, + { "commRxInterestedFreq-r12", "lte-rrc.commRxInterestedFreq_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueEUTRA_r9", HFILL }}, + { &hf_lte_rrc_commTxResourceReq_r12, + { "commTxResourceReq-r12", "lte-rrc.commTxResourceReq_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_CommTxResourceReq_r12", HFILL }}, + { &hf_lte_rrc_discRxInterest_r12, + { "discRxInterest-r12", "lte-rrc.discRxInterest_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discRxInterest_r12_vals), 0, + "T_discRxInterest_r12", HFILL }}, + { &hf_lte_rrc_discTxResourceReq_r12, + { "discTxResourceReq-r12", "lte-rrc.discTxResourceReq_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_63", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_95, + { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_nonCriticalExtension_38", HFILL }}, + { &hf_lte_rrc_destinationInfoList_r12, + { "destinationInfoList-r12", "lte-rrc.destinationInfoList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_DestinationInfoList_r12", HFILL }}, + { &hf_lte_rrc_SL_DestinationInfoList_r12_item, + { "SL-DestinationIdentity-r12", "lte-rrc.SL_DestinationIdentity_r12", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_criticalExtensions_36, + { "criticalExtensions", "lte-rrc.criticalExtensions", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_36_vals), 0, + "T_criticalExtensions_36", HFILL }}, { &hf_lte_rrc_systemInformation_r8, { "systemInformation-r8", "lte-rrc.systemInformation_r8_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformation_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_31, + { &hf_lte_rrc_criticalExtensionsFuture_36, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_31", HFILL }}, + "T_criticalExtensionsFuture_36", HFILL }}, { &hf_lte_rrc_sib_TypeAndInfo, { "sib-TypeAndInfo", "lte-rrc.sib_TypeAndInfo", FT_UINT32, BASE_DEC, NULL, 0, @@ -44621,18 +47028,26 @@ void proto_register_lte_rrc(void) { { "sib16-v1130", "lte-rrc.sib16_v1130_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType16_r11", HFILL }}, - { &hf_lte_rrc_sib17_v12xy, - { "sib17-v12xy", "lte-rrc.sib17_v12xy_element", + { &hf_lte_rrc_sib17_v1250, + { "sib17-v1250", "lte-rrc.sib17_v1250_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType17_r12", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_86, + { &hf_lte_rrc_sib18_v1250, + { "sib18-v1250", "lte-rrc.sib18_v1250_element", + FT_NONE, BASE_NONE, NULL, 0, + "SystemInformationBlockType18_r12", HFILL }}, + { &hf_lte_rrc_sib19_v1250, + { "sib19-v1250", "lte-rrc.sib19_v1250_element", + FT_NONE, BASE_NONE, NULL, 0, + "SystemInformationBlockType19_r12", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_96, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformation_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_87, + { &hf_lte_rrc_nonCriticalExtension_97, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_34", HFILL }}, + "T_nonCriticalExtension_39", HFILL }}, { &hf_lte_rrc_cellAccessRelatedInfo, { "cellAccessRelatedInfo", "lte-rrc.cellAccessRelatedInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -44645,10 +47060,6 @@ void proto_register_lte_rrc(void) { { "trackingAreaCode", "lte-rrc.trackingAreaCode", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_cellIdentity, - { "cellIdentity", "lte-rrc.cellIdentity", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_cellBarred, { "cellBarred", "lte-rrc.cellBarred", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_cellBarred_vals), 0, @@ -44701,7 +47112,7 @@ void proto_register_lte_rrc(void) { { "systemInfoValueTag", "lte-rrc.systemInfoValueTag", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_88, + { &hf_lte_rrc_nonCriticalExtension_98, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType1_v890_IEs", HFILL }}, @@ -44709,7 +47120,7 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "T_lateNonCriticalExtension_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_89, + { &hf_lte_rrc_nonCriticalExtension_99, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType1_v920_IEs", HFILL }}, @@ -44717,7 +47128,7 @@ void proto_register_lte_rrc(void) { { "multiBandInfoList", "lte-rrc.multiBandInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_90, + { &hf_lte_rrc_nonCriticalExtension_100, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType1_v9e0_IEs", HFILL }}, @@ -44729,10 +47140,10 @@ void proto_register_lte_rrc(void) { { "multiBandInfoList-v9e0", "lte-rrc.multiBandInfoList_v9e0", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_91, + { &hf_lte_rrc_nonCriticalExtension_101, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_35", HFILL }}, + "T_nonCriticalExtension_40", HFILL }}, { &hf_lte_rrc_ims_EmergencySupport_r9, { "ims-EmergencySupport-r9", "lte-rrc.ims_EmergencySupport_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ims_EmergencySupport_r9_vals), 0, @@ -44741,7 +47152,7 @@ void proto_register_lte_rrc(void) { { "cellSelectionInfo-v920", "lte-rrc.cellSelectionInfo_v920_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_92, + { &hf_lte_rrc_nonCriticalExtension_102, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType1_v1130_IEs", HFILL }}, @@ -44753,26 +47164,30 @@ void proto_register_lte_rrc(void) { { "cellSelectionInfo-v1130", "lte-rrc.cellSelectionInfo_v1130_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_93, + { &hf_lte_rrc_nonCriticalExtension_103, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "SystemInformationBlockType1_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_cellAccessRelatedInfo_v12xy, - { "cellAccessRelatedInfo-v12xy", "lte-rrc.cellAccessRelatedInfo_v12xy_element", + "SystemInformationBlockType1_v1250_IEs", HFILL }}, + { &hf_lte_rrc_cellAccessRelatedInfo_v1250, + { "cellAccessRelatedInfo-v1250", "lte-rrc.cellAccessRelatedInfo_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_category0Allowed_r12, { "category0Allowed-r12", "lte-rrc.category0Allowed_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_category0Allowed_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_cellSelectionInfo_v12xy, - { "cellSelectionInfo-v12xy", "lte-rrc.cellSelectionInfo_v12xy_element", + { &hf_lte_rrc_cellSelectionInfo_v1250, + { "cellSelectionInfo-v1250", "lte-rrc.cellSelectionInfo_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_94, + { &hf_lte_rrc_freqBandIndicatorPriority_r12, + { "freqBandIndicatorPriority-r12", "lte-rrc.freqBandIndicatorPriority_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_freqBandIndicatorPriority_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_104, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_36", HFILL }}, + "T_nonCriticalExtension_41", HFILL }}, { &hf_lte_rrc_PLMN_IdentityList_item, { "PLMN-IdentityInfo", "lte-rrc.PLMN_IdentityInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -44795,7 +47210,7 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_SIB_MappingInfo_item, { "SIB-Type", "lte-rrc.SIB_Type", - FT_UINT32, BASE_DEC, VALS(lte_rrc_SIB_Type_vals), 0, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_SIB_Type_vals_ext, 0, NULL, HFILL }}, { &hf_lte_rrc_q_QualMin_r9, { "q-QualMin-r9", "lte-rrc.q_QualMin_r9", @@ -44813,55 +47228,55 @@ void proto_register_lte_rrc(void) { { "q-QualMinRSRQ-OnAllSymbols-r12", "lte-rrc.q_QualMinRSRQ_OnAllSymbols_r12", FT_INT32, BASE_DEC, NULL, 0, "Q_QualMin_r9", HFILL }}, - { &hf_lte_rrc_criticalExtensions_32, + { &hf_lte_rrc_criticalExtensions_37, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_32_vals), 0, - "T_criticalExtensions_32", HFILL }}, - { &hf_lte_rrc_c1_28, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_37_vals), 0, + "T_criticalExtensions_37", HFILL }}, + { &hf_lte_rrc_c1_33, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_28_vals), 0, - "T_c1_28", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_33_vals), 0, + "T_c1_33", HFILL }}, { &hf_lte_rrc_ueAssistanceInformation_r11_01, { "ueAssistanceInformation-r11", "lte-rrc.ueAssistanceInformation_r11_element", FT_NONE, BASE_NONE, NULL, 0, "UEAssistanceInformation_r11_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_32, + { &hf_lte_rrc_criticalExtensionsFuture_37, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_32", HFILL }}, - { &hf_lte_rrc_powerPrefIndication_r11, + "T_criticalExtensionsFuture_37", HFILL }}, + { &hf_lte_rrc_powerPrefIndication_r11_01, { "powerPrefIndication-r11", "lte-rrc.powerPrefIndication_r11", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_powerPrefIndication_r11_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_95, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_powerPrefIndication_r11_01_vals), 0, + "T_powerPrefIndication_r11_01", HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_105, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_37", HFILL }}, - { &hf_lte_rrc_criticalExtensions_33, + "T_nonCriticalExtension_42", HFILL }}, + { &hf_lte_rrc_criticalExtensions_38, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_33_vals), 0, - "T_criticalExtensions_33", HFILL }}, - { &hf_lte_rrc_c1_29, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_38_vals), 0, + "T_criticalExtensions_38", HFILL }}, + { &hf_lte_rrc_c1_34, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_29_vals), 0, - "T_c1_29", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_34_vals), 0, + "T_c1_34", HFILL }}, { &hf_lte_rrc_ueCapabilityEnquiry_r8, { "ueCapabilityEnquiry-r8", "lte-rrc.ueCapabilityEnquiry_r8_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityEnquiry_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_33, + { &hf_lte_rrc_criticalExtensionsFuture_38, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_33", HFILL }}, + "T_criticalExtensionsFuture_38", HFILL }}, { &hf_lte_rrc_ue_CapabilityRequest, { "ue-CapabilityRequest", "lte-rrc.ue_CapabilityRequest", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_96, + { &hf_lte_rrc_nonCriticalExtension_106, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityEnquiry_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_97, + { &hf_lte_rrc_nonCriticalExtension_107, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityEnquiry_v1180_IEs", HFILL }}, @@ -44873,66 +47288,66 @@ void proto_register_lte_rrc(void) { { "FreqBandIndicator-r11", "lte-rrc.FreqBandIndicator_r11", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_98, + { &hf_lte_rrc_nonCriticalExtension_108, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_38", HFILL }}, + "T_nonCriticalExtension_43", HFILL }}, { &hf_lte_rrc_UE_CapabilityRequest_item, { "RAT-Type", "lte-rrc.RAT_Type", FT_UINT32, BASE_DEC, VALS(lte_rrc_RAT_Type_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_criticalExtensions_34, + { &hf_lte_rrc_criticalExtensions_39, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_34_vals), 0, - "T_criticalExtensions_34", HFILL }}, - { &hf_lte_rrc_c1_30, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_39_vals), 0, + "T_criticalExtensions_39", HFILL }}, + { &hf_lte_rrc_c1_35, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_30_vals), 0, - "T_c1_30", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_35_vals), 0, + "T_c1_35", HFILL }}, { &hf_lte_rrc_ueCapabilityInformation_r8, { "ueCapabilityInformation-r8", "lte-rrc.ueCapabilityInformation_r8_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityInformation_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_34, + { &hf_lte_rrc_criticalExtensionsFuture_39, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_34", HFILL }}, + "T_criticalExtensionsFuture_39", HFILL }}, { &hf_lte_rrc_ue_CapabilityRAT_ContainerList, { "ue-CapabilityRAT-ContainerList", "lte-rrc.ue_CapabilityRAT_ContainerList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_99, + { &hf_lte_rrc_nonCriticalExtension_109, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityInformation_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_100, + { &hf_lte_rrc_nonCriticalExtension_110, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "UECapabilityInformation_v12xy_IEs", HFILL }}, + "UECapabilityInformation_v1250_IEs", HFILL }}, { &hf_lte_rrc_ue_RadioPagingInfo_r12, { "ue-RadioPagingInfo-r12", "lte-rrc.ue_RadioPagingInfo_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_101, + { &hf_lte_rrc_nonCriticalExtension_111, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_39", HFILL }}, - { &hf_lte_rrc_criticalExtensions_35, + "T_nonCriticalExtension_44", HFILL }}, + { &hf_lte_rrc_criticalExtensions_40, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_35_vals), 0, - "T_criticalExtensions_35", HFILL }}, - { &hf_lte_rrc_c1_31, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_40_vals), 0, + "T_criticalExtensions_40", HFILL }}, + { &hf_lte_rrc_c1_36, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_31_vals), 0, - "T_c1_31", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_36_vals), 0, + "T_c1_36", HFILL }}, { &hf_lte_rrc_ueInformationRequest_r9_01, { "ueInformationRequest-r9", "lte-rrc.ueInformationRequest_r9_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationRequest_r9_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_35, + { &hf_lte_rrc_criticalExtensionsFuture_40, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_35", HFILL }}, + "T_criticalExtensionsFuture_40", HFILL }}, { &hf_lte_rrc_rach_ReportReq_r9, { "rach-ReportReq-r9", "lte-rrc.rach_ReportReq_r9", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -44941,11 +47356,11 @@ void proto_register_lte_rrc(void) { { "rlf-ReportReq-r9", "lte-rrc.rlf_ReportReq_r9", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_102, + { &hf_lte_rrc_nonCriticalExtension_112, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationRequest_v930_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_103, + { &hf_lte_rrc_nonCriticalExtension_113, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationRequest_v1020_IEs", HFILL }}, @@ -44953,7 +47368,7 @@ void proto_register_lte_rrc(void) { { "logMeasReportReq-r10", "lte-rrc.logMeasReportReq_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logMeasReportReq_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_104, + { &hf_lte_rrc_nonCriticalExtension_114, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationRequest_v1130_IEs", HFILL }}, @@ -44961,34 +47376,34 @@ void proto_register_lte_rrc(void) { { "connEstFailReportReq-r11", "lte-rrc.connEstFailReportReq_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_connEstFailReportReq_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_105, + { &hf_lte_rrc_nonCriticalExtension_115, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "UEInformationRequest_v12xy_IEs", HFILL }}, + "UEInformationRequest_v1250_IEs", HFILL }}, { &hf_lte_rrc_mobilityHistoryReportReq_r12, { "mobilityHistoryReportReq-r12", "lte-rrc.mobilityHistoryReportReq_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mobilityHistoryReportReq_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_106, + { &hf_lte_rrc_nonCriticalExtension_116, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_40", HFILL }}, - { &hf_lte_rrc_criticalExtensions_36, + "T_nonCriticalExtension_45", HFILL }}, + { &hf_lte_rrc_criticalExtensions_41, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_36_vals), 0, - "T_criticalExtensions_36", HFILL }}, - { &hf_lte_rrc_c1_32, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_41_vals), 0, + "T_criticalExtensions_41", HFILL }}, + { &hf_lte_rrc_c1_37, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_32_vals), 0, - "T_c1_32", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_37_vals), 0, + "T_c1_37", HFILL }}, { &hf_lte_rrc_ueInformationResponse_r9_01, { "ueInformationResponse-r9", "lte-rrc.ueInformationResponse_r9_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationResponse_r9_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_36, + { &hf_lte_rrc_criticalExtensionsFuture_41, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_36", HFILL }}, + "T_criticalExtensionsFuture_41", HFILL }}, { &hf_lte_rrc_rach_Report_r9, { "rach-Report-r9", "lte-rrc.rach_Report_r9_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45005,7 +47420,7 @@ void proto_register_lte_rrc(void) { { "rlf-Report-r9", "lte-rrc.rlf_Report_r9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_107, + { &hf_lte_rrc_nonCriticalExtension_117, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationResponse_v930_IEs", HFILL }}, @@ -45013,15 +47428,15 @@ void proto_register_lte_rrc(void) { { "rlf-Report-v9e0", "lte-rrc.rlf_Report_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_108, + { &hf_lte_rrc_nonCriticalExtension_118, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_41", HFILL }}, + "T_nonCriticalExtension_46", HFILL }}, { &hf_lte_rrc_lateNonCriticalExtension_03, { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "T_lateNonCriticalExtension_02", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_109, + { &hf_lte_rrc_nonCriticalExtension_119, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationResponse_v1020_IEs", HFILL }}, @@ -45029,7 +47444,7 @@ void proto_register_lte_rrc(void) { { "logMeasReport-r10", "lte-rrc.logMeasReport_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_110, + { &hf_lte_rrc_nonCriticalExtension_120, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEInformationResponse_v1130_IEs", HFILL }}, @@ -45037,18 +47452,18 @@ void proto_register_lte_rrc(void) { { "connEstFailReport-r11", "lte-rrc.connEstFailReport_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_111, + { &hf_lte_rrc_nonCriticalExtension_121, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "UEInformationResponse_v12xy_IEs", HFILL }}, + "UEInformationResponse_v1250_IEs", HFILL }}, { &hf_lte_rrc_mobilityHistoryReport_r12, { "mobilityHistoryReport-r12", "lte-rrc.mobilityHistoryReport_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_112, + { &hf_lte_rrc_nonCriticalExtension_122, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_42", HFILL }}, + "T_nonCriticalExtension_47", HFILL }}, { &hf_lte_rrc_measResultLastServCell_r9, { "measResultLastServCell-r9", "lte-rrc.measResultLastServCell_r9_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45165,26 +47580,26 @@ void proto_register_lte_rrc(void) { { "physCellId-r11", "lte-rrc.physCellId_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_physCellId_r11_01_vals), 0, "T_physCellId_r11_01", HFILL }}, - { &hf_lte_rrc_failedPCellId_v12xy, - { "failedPCellId-v12xy", "lte-rrc.failedPCellId_v12xy_element", + { &hf_lte_rrc_failedPCellId_v1250, + { "failedPCellId-v1250", "lte-rrc.failedPCellId_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_tac_FailedPCell_r12, { "tac-FailedPCell-r12", "lte-rrc.tac_FailedPCell_r12", FT_BYTES, BASE_NONE, NULL, 0, "TrackingAreaCode", HFILL }}, - { &hf_lte_rrc_measResultLastServCell_v12xy, - { "measResultLastServCell-v12xy", "lte-rrc.measResultLastServCell_v12xy", + { &hf_lte_rrc_measResultLastServCell_v1250, + { "measResultLastServCell-v1250", "lte-rrc.measResultLastServCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_lastServCellRSRQ_Type_r12, - { "lastServCellRSRQ-Type-r12", "lte-rrc.lastServCellRSRQ_Type_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_Type_r12_vals), 0, + { "lastServCellRSRQ-Type-r12", "lte-rrc.lastServCellRSRQ_Type_r12_element", + FT_NONE, BASE_NONE, NULL, 0, "RSRQ_Type_r12", HFILL }}, - { &hf_lte_rrc_measResultListEUTRA_v12xy, - { "measResultListEUTRA-v12xy", "lte-rrc.measResultListEUTRA_v12xy", + { &hf_lte_rrc_measResultListEUTRA_v1250, + { "measResultListEUTRA-v1250", "lte-rrc.measResultListEUTRA_v1250", FT_UINT32, BASE_DEC, NULL, 0, - "MeasResultList2EUTRA_v12xy", HFILL }}, + "MeasResultList2EUTRA_v1250", HFILL }}, { &hf_lte_rrc_measResultListEUTRA_v9e0, { "measResultListEUTRA-v9e0", "lte-rrc.measResultListEUTRA_v9e0", FT_UINT32, BASE_DEC, NULL, 0, @@ -45197,8 +47612,8 @@ void proto_register_lte_rrc(void) { { "MeasResult2EUTRA-v9e0", "lte-rrc.MeasResult2EUTRA_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_MeasResultList2EUTRA_v12xy_item, - { "MeasResult2EUTRA-v12xy", "lte-rrc.MeasResult2EUTRA_v12xy_element", + { &hf_lte_rrc_MeasResultList2EUTRA_v1250_item, + { "MeasResult2EUTRA-v1250", "lte-rrc.MeasResult2EUTRA_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_carrierFreq_r9_02, @@ -45209,10 +47624,10 @@ void proto_register_lte_rrc(void) { { "measResultList-r9", "lte-rrc.measResultList_r9", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultListEUTRA", HFILL }}, - { &hf_lte_rrc_rsrqType_r12, - { "rsrqType-r12", "lte-rrc.rsrqType_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_Type_r12_vals), 0, - "RSRQ_Type_r12", HFILL }}, + { &hf_lte_rrc_rsrq_Type_r12, + { "rsrq-Type-r12", "lte-rrc.rsrq_Type_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_MeasResultList2UTRA_r9_item, { "MeasResult2UTRA-r9", "lte-rrc.MeasResult2UTRA_r9_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45265,14 +47680,6 @@ void proto_register_lte_rrc(void) { { "measResultServCell-r10", "lte-rrc.measResultServCell_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_rsrpResult_r10, - { "rsrpResult-r10", "lte-rrc.rsrpResult_r10", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRP_Range_vals_ext, 0, - "RSRP_Range", HFILL }}, - { &hf_lte_rrc_rsrqResult_r10, - { "rsrqResult-r10", "lte-rrc.rsrqResult_r10", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range", HFILL }}, { &hf_lte_rrc_measResultNeighCells_r10, { "measResultNeighCells-r10", "lte-rrc.measResultNeighCells_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45301,13 +47708,13 @@ void proto_register_lte_rrc(void) { { "measResultListMBSFN-r12", "lte-rrc.measResultListMBSFN_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_measResultServCell_v12xy, - { "measResultServCell-v12xy", "lte-rrc.measResultServCell_v12xy", + { &hf_lte_rrc_measResultServCell_v1250, + { "measResultServCell-v1250", "lte-rrc.measResultServCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_servCellRSRQ_Type_r12, - { "servCellRSRQ-Type-r12", "lte-rrc.servCellRSRQ_Type_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_Type_r12_vals), 0, + { "servCellRSRQ-Type-r12", "lte-rrc.servCellRSRQ_Type_r12_element", + FT_NONE, BASE_NONE, NULL, 0, "RSRQ_Type_r12", HFILL }}, { &hf_lte_rrc_MeasResultListMBSFN_r12_item, { "MeasResultMBSFN-r12", "lte-rrc.MeasResultMBSFN_r12_element", @@ -45350,9 +47757,17 @@ void proto_register_lte_rrc(void) { FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_BLER_Range_r12_vals_ext, 0, "BLER_Range_r12", HFILL }}, { &hf_lte_rrc_blocksReceived_r12, - { "blocksReceived-r12", "lte-rrc.blocksReceived_r12", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_11", HFILL }}, + { "blocksReceived-r12", "lte-rrc.blocksReceived_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_n_r12, + { "n-r12", "lte-rrc.n_r12", + FT_UINT8, BASE_CUSTOM, VALS(lte_rrc_n_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_m_r12, + { "m-r12", "lte-rrc.m_r12", + FT_UINT8, BASE_DEC, CF_FUNC(lte_rrc_m_r12_fmt), 0, + NULL, HFILL }}, { &hf_lte_rrc_MeasResultList2GERAN_r10_item, { "MeasResultListGERAN", "lte-rrc.MeasResultListGERAN", FT_UINT32, BASE_DEC, NULL, 0, @@ -45413,30 +47828,30 @@ void proto_register_lte_rrc(void) { { "measResultListEUTRA-v1130", "lte-rrc.measResultListEUTRA_v1130", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2EUTRA_v9e0", HFILL }}, - { &hf_lte_rrc_measResultFailedCell_v12xy, - { "measResultFailedCell-v12xy", "lte-rrc.measResultFailedCell_v12xy", + { &hf_lte_rrc_measResultFailedCell_v1250, + { "measResultFailedCell-v1250", "lte-rrc.measResultFailedCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_failedCellRSRQ_Type_r12, - { "failedCellRSRQ-Type-r12", "lte-rrc.failedCellRSRQ_Type_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_Type_r12_vals), 0, + { "failedCellRSRQ-Type-r12", "lte-rrc.failedCellRSRQ_Type_r12_element", + FT_NONE, BASE_NONE, NULL, 0, "RSRQ_Type_r12", HFILL }}, - { &hf_lte_rrc_criticalExtensions_37, + { &hf_lte_rrc_criticalExtensions_42, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_37_vals), 0, - "T_criticalExtensions_37", HFILL }}, - { &hf_lte_rrc_c1_33, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_42_vals), 0, + "T_criticalExtensions_42", HFILL }}, + { &hf_lte_rrc_c1_38, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_33_vals), 0, - "T_c1_33", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_38_vals), 0, + "T_c1_38", HFILL }}, { &hf_lte_rrc_ulHandoverPreparationTransfer_r8, { "ulHandoverPreparationTransfer-r8", "lte-rrc.ulHandoverPreparationTransfer_r8_element", FT_NONE, BASE_NONE, NULL, 0, "ULHandoverPreparationTransfer_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_37, + { &hf_lte_rrc_criticalExtensionsFuture_42, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_37", HFILL }}, + "T_criticalExtensionsFuture_42", HFILL }}, { &hf_lte_rrc_meid, { "meid", "lte-rrc.meid", FT_BYTES, BASE_NONE, NULL, 0, @@ -45445,42 +47860,42 @@ void proto_register_lte_rrc(void) { { "dedicatedInfo", "lte-rrc.dedicatedInfo", FT_BYTES, BASE_NONE, NULL, 0, "DedicatedInfoCDMA2000", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_113, + { &hf_lte_rrc_nonCriticalExtension_123, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "ULHandoverPreparationTransfer_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_114, + { &hf_lte_rrc_nonCriticalExtension_124, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_43", HFILL }}, - { &hf_lte_rrc_criticalExtensions_38, + "T_nonCriticalExtension_48", HFILL }}, + { &hf_lte_rrc_criticalExtensions_43, { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_38_vals), 0, - "T_criticalExtensions_38", HFILL }}, - { &hf_lte_rrc_c1_34, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_43_vals), 0, + "T_criticalExtensions_43", HFILL }}, + { &hf_lte_rrc_c1_39, { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_34_vals), 0, - "T_c1_34", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_39_vals), 0, + "T_c1_39", HFILL }}, { &hf_lte_rrc_ulInformationTransfer_r8, { "ulInformationTransfer-r8", "lte-rrc.ulInformationTransfer_r8_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransfer_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_38, + { &hf_lte_rrc_criticalExtensionsFuture_43, { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_38", HFILL }}, + "T_criticalExtensionsFuture_43", HFILL }}, { &hf_lte_rrc_dedicatedInfoType_01, { "dedicatedInfoType", "lte-rrc.dedicatedInfoType", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dedicatedInfoType_01_vals), 0, "T_dedicatedInfoType_01", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_115, + { &hf_lte_rrc_nonCriticalExtension_125, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransfer_v8a0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_116, + { &hf_lte_rrc_nonCriticalExtension_126, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_44", HFILL }}, + "T_nonCriticalExtension_49", HFILL }}, { &hf_lte_rrc_ac_BarringInfo, { "ac-BarringInfo", "lte-rrc.ac_BarringInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -45557,8 +47972,8 @@ void proto_register_lte_rrc(void) { { "ac-BarringSkipForSMS-r12", "lte-rrc.ac_BarringSkipForSMS_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ac_BarringSkipForSMS_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_ac_BarringPerPLMNList_r12, - { "ac-BarringPerPLMNList-r12", "lte-rrc.ac_BarringPerPLMNList_r12", + { &hf_lte_rrc_ac_BarringPerPLMN_List_r12, + { "ac-BarringPerPLMN-List-r12", "lte-rrc.ac_BarringPerPLMN_List_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_multiBandInfoList_01, @@ -45569,7 +47984,7 @@ void proto_register_lte_rrc(void) { { "AdditionalSpectrumEmission", "lte-rrc.AdditionalSpectrumEmission", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_117, + { &hf_lte_rrc_nonCriticalExtension_127, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType2_v9e0_IEs", HFILL }}, @@ -45577,10 +47992,10 @@ void proto_register_lte_rrc(void) { { "ul-CarrierFreq-v9e0", "lte-rrc.ul_CarrierFreq_v9e0", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA_v9e0", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_118, + { &hf_lte_rrc_nonCriticalExtension_128, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_45", HFILL }}, + "T_nonCriticalExtension_50", HFILL }}, { &hf_lte_rrc_ac_BarringFactor, { "ac-BarringFactor", "lte-rrc.ac_BarringFactor", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ac_BarringFactor_vals), 0, @@ -45597,7 +48012,7 @@ void proto_register_lte_rrc(void) { { "MBSFN-SubframeConfig", "lte-rrc.MBSFN_SubframeConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_AC_BarringPerPLMNList_r12_item, + { &hf_lte_rrc_AC_BarringPerPLMN_List_r12_item, { "AC-BarringPerPLMN-r12", "lte-rrc.AC_BarringPerPLMN_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, @@ -45773,6 +48188,14 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "T_lateNonCriticalExtension_04", HFILL }}, + { &hf_lte_rrc_interFreqCarrierFreqList_v1250, + { "interFreqCarrierFreqList-v1250", "lte-rrc.interFreqCarrierFreqList_v1250", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_interFreqCarrierFreqListExt_r12, + { "interFreqCarrierFreqListExt-r12", "lte-rrc.interFreqCarrierFreqListExt_r12", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_lte_rrc_interFreqCarrierFreqList_v8h0, { "interFreqCarrierFreqList-v8h0", "lte-rrc.interFreqCarrierFreqList_v8h0", FT_UINT32, BASE_DEC, NULL, 0, @@ -45781,7 +48204,7 @@ void proto_register_lte_rrc(void) { { "InterFreqCarrierFreqInfo-v8h0", "lte-rrc.InterFreqCarrierFreqInfo_v8h0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_119, + { &hf_lte_rrc_nonCriticalExtension_129, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformationBlockType5_v9e0_IEs", HFILL }}, @@ -45793,28 +48216,16 @@ void proto_register_lte_rrc(void) { { "InterFreqCarrierFreqInfo-v9e0", "lte-rrc.InterFreqCarrierFreqInfo_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_120, + { &hf_lte_rrc_nonCriticalExtension_130, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "SystemInformationBlockType5_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_interFreqCarrierFreqList_v12xy, - { "interFreqCarrierFreqList-v12xy", "lte-rrc.interFreqCarrierFreqList_v12xy", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_interFreqCarrierFreqListExt_r12, - { "interFreqCarrierFreqListExt-r12", "lte-rrc.interFreqCarrierFreqListExt_r12", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_121, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_46", HFILL }}, + "T_nonCriticalExtension_51", HFILL }}, { &hf_lte_rrc_InterFreqCarrierFreqList_item, { "InterFreqCarrierFreqInfo", "lte-rrc.InterFreqCarrierFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_InterFreqCarrierFreqList_v12xy_item, - { "InterFreqCarrierFreqInfo-v12xy", "lte-rrc.InterFreqCarrierFreqInfo_v12xy_element", + { &hf_lte_rrc_InterFreqCarrierFreqList_v1250_item, + { "InterFreqCarrierFreqInfo-v1250", "lte-rrc.InterFreqCarrierFreqInfo_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_InterFreqCarrierFreqListExt_r12_item, @@ -45969,32 +48380,20 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "T_lateNonCriticalExtension_05", HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0, - { "carrierFreqListUTRA-FDD-v8h0", "lte-rrc.carrierFreqListUTRA_FDD_v8h0", + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v1250, + { "carrierFreqListUTRA-FDD-v1250", "lte-rrc.carrierFreqListUTRA_FDD_v1250", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0", HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0_item, - { "CarrierFreqInfoUTRA-FDD-v8h0", "lte-rrc.CarrierFreqInfoUTRA_FDD_v8h0_element", + "SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250", HFILL }}, + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v1250_item, + { "CarrierFreqInfoUTRA-v1250", "lte-rrc.CarrierFreqInfoUTRA_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_122, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "SystemInformationBlockType6_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy, - { "carrierFreqListUTRA-FDD-v12xy", "lte-rrc.carrierFreqListUTRA_FDD_v12xy", + { &hf_lte_rrc_carrierFreqListUTRA_TDD_v1250, + { "carrierFreqListUTRA-TDD-v1250", "lte-rrc.carrierFreqListUTRA_TDD_v1250", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy", HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_FDD_v12xy_item, - { "CarrierFreqInfoUTRA-v12xy", "lte-rrc.CarrierFreqInfoUTRA_v12xy_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy, - { "carrierFreqListUTRA-TDD-v12xy", "lte-rrc.carrierFreqListUTRA_TDD_v12xy", - FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy", HFILL }}, - { &hf_lte_rrc_carrierFreqListUTRA_TDD_v12xy_item, - { "CarrierFreqInfoUTRA-v12xy", "lte-rrc.CarrierFreqInfoUTRA_v12xy_element", + "SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250", HFILL }}, + { &hf_lte_rrc_carrierFreqListUTRA_TDD_v1250_item, + { "CarrierFreqInfoUTRA-v1250", "lte-rrc.CarrierFreqInfoUTRA_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_carrierFreqListUTRA_FDD_Ext_r12, @@ -46005,10 +48404,18 @@ void proto_register_lte_rrc(void) { { "carrierFreqListUTRA-TDD-Ext-r12", "lte-rrc.carrierFreqListUTRA_TDD_Ext_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_123, + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0, + { "carrierFreqListUTRA-FDD-v8h0", "lte-rrc.carrierFreqListUTRA_FDD_v8h0", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0", HFILL }}, + { &hf_lte_rrc_carrierFreqListUTRA_FDD_v8h0_item, + { "CarrierFreqInfoUTRA-FDD-v8h0", "lte-rrc.CarrierFreqInfoUTRA_FDD_v8h0_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_131, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_47", HFILL }}, + "T_nonCriticalExtension_52", HFILL }}, { &hf_lte_rrc_reducedMeasPerformance_r12_02, { "reducedMeasPerformance-r12", "lte-rrc.reducedMeasPerformance_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_reducedMeasPerformance_r12_02_vals), 0, @@ -46569,12 +48976,12 @@ void proto_register_lte_rrc(void) { { "localTimeOffset-r11", "lte-rrc.localTimeOffset_r11", FT_INT32, BASE_CUSTOM, CF_FUNC(lte_rrc_localTimeOffset_fmt), 0, "INTEGER_M63_64", HFILL }}, - { &hf_lte_rrc_wlan_OffloadPerPLMN_List_r12, - { "wlan-OffloadPerPLMN-List-r12", "lte-rrc.wlan_OffloadPerPLMN_List_r12", + { &hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12, + { "wlan-OffloadInfoPerPLMN-List-r12", "lte-rrc.wlan_OffloadInfoPerPLMN_List_r12", FT_UINT32, BASE_DEC, NULL, 0, - "SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12", HFILL }}, - { &hf_lte_rrc_wlan_OffloadPerPLMN_List_r12_item, - { "WLAN-OffloadPerPLMN-r12", "lte-rrc.WLAN_OffloadPerPLMN_r12_element", + "SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12", HFILL }}, + { &hf_lte_rrc_wlan_OffloadInfoPerPLMN_List_r12_item, + { "WLAN-OffloadInfoPerPLMN-r12", "lte-rrc.WLAN_OffloadInfoPerPLMN_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_wlan_OffloadConfigCommon_r12, @@ -46586,25 +48993,85 @@ void proto_register_lte_rrc(void) { FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_WLAN_Id_List_r12_item, - { "WLAN-Id-r12", "lte-rrc.WLAN_Id_r12_element", + { "WLAN-Identifiers-r12", "lte-rrc.WLAN_Identifiers_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_wlan_Identifiers, - { "wlan-Identifiers", "lte-rrc.wlan_Identifiers", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_wlan_Identifiers_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_ssid, - { "ssid", "lte-rrc.ssid", + { &hf_lte_rrc_ssid_r12, + { "ssid-r12", "lte-rrc.ssid_r12", FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_bssid, - { "bssid", "lte-rrc.bssid", + { &hf_lte_rrc_bssid_r12, + { "bssid-r12", "lte-rrc.bssid_r12", FT_ETHER, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_6", HFILL }}, - { &hf_lte_rrc_hessid, - { "hessid", "lte-rrc.hessid", + { &hf_lte_rrc_hessid_r12, + { "hessid-r12", "lte-rrc.hessid_r12", FT_ETHER, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_6", HFILL }}, + { &hf_lte_rrc_commConfig_r12, + { "commConfig-r12", "lte-rrc.commConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_commRxPool_r12, + { "commRxPool-r12", "lte-rrc.commRxPool_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CommRxPoolList_r12", HFILL }}, + { &hf_lte_rrc_commTxPoolNormalCommon_r12, + { "commTxPoolNormalCommon-r12", "lte-rrc.commTxPoolNormalCommon_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CommTxPoolList_r12", HFILL }}, + { &hf_lte_rrc_commTxPoolExceptional_r12, + { "commTxPoolExceptional-r12", "lte-rrc.commTxPoolExceptional_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CommTxPoolList_r12", HFILL }}, + { &hf_lte_rrc_commSyncConfig_r12, + { "commSyncConfig-r12", "lte-rrc.commSyncConfig_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_SyncConfigList_r12", HFILL }}, + { &hf_lte_rrc_discConfig_r12, + { "discConfig-r12", "lte-rrc.discConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_discRxPool_r12, + { "discRxPool-r12", "lte-rrc.discRxPool_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_DiscRxPoolList_r12", HFILL }}, + { &hf_lte_rrc_discTxPoolCommon_r12, + { "discTxPoolCommon-r12", "lte-rrc.discTxPoolCommon_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_DiscTxPoolList_r12", HFILL }}, + { &hf_lte_rrc_discTxPowerInfo_r12, + { "discTxPowerInfo-r12", "lte-rrc.discTxPowerInfo_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_DiscTxPowerInfoList_r12", HFILL }}, + { &hf_lte_rrc_discSyncConfig_r12, + { "discSyncConfig-r12", "lte-rrc.discSyncConfig_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_SyncConfigList_r12", HFILL }}, + { &hf_lte_rrc_discInterFreqList_r12, + { "discInterFreqList-r12", "lte-rrc.discInterFreqList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CarrierFreqInfoList_r12", HFILL }}, + { &hf_lte_rrc_SL_CarrierFreqInfoList_r12_item, + { "SL-CarrierFreqInfo-r12", "lte-rrc.SL_CarrierFreqInfo_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_plmn_IdentityList_r12, + { "plmn-IdentityList-r12", "lte-rrc.plmn_IdentityList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "PLMN_IdentityList4_r12", HFILL }}, + { &hf_lte_rrc_PLMN_IdentityList4_r12_item, + { "PLMN-IdentityInfo2-r12", "lte-rrc.PLMN_IdentityInfo2_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_PLMN_IdentityInfo2_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_plmn_Index_r12, + { "plmn-Index-r12", "lte-rrc.plmn_Index_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxPLMN_r11", HFILL }}, + { &hf_lte_rrc_plmnIdentity_r12, + { "plmnIdentity-r12", "lte-rrc.plmnIdentity_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "PLMN_Identity", HFILL }}, { &hf_lte_rrc_antennaPortsCount, { "antennaPortsCount", "lte-rrc.antennaPortsCount", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_antennaPortsCount_vals), 0, @@ -46687,8 +49154,8 @@ void proto_register_lte_rrc(void) { "T_setup_03", HFILL }}, { &hf_lte_rrc_alternativeCodebookEnabledFor4TX_r12, { "alternativeCodebookEnabledFor4TX-r12", "lte-rrc.alternativeCodebookEnabledFor4TX_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alternativeCodebookEnabledFor4TX_r12_vals), 0, - NULL, HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_transmissionModeUL_r10, { "transmissionModeUL-r10", "lte-rrc.transmissionModeUL_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_transmissionModeUL_r10_vals), 0, @@ -46761,17 +49228,17 @@ void proto_register_lte_rrc(void) { { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_05", HFILL }}, - { &hf_lte_rrc_csi_MeasSubframeSet_r12, - { "csi-MeasSubframeSet-r12", "lte-rrc.csi_MeasSubframeSet_r12", + { &hf_lte_rrc_csi_MeasSubframeSets_r12, + { "csi-MeasSubframeSets-r12", "lte-rrc.csi_MeasSubframeSets_r12", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, - { &hf_lte_rrc_cqi_ReportBoth_r12, - { "cqi-ReportBoth-r12", "lte-rrc.cqi_ReportBoth_r12_element", + { &hf_lte_rrc_cqi_ReportBoth_v1250, + { "cqi-ReportBoth-v1250", "lte-rrc.cqi_ReportBoth_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_cqi_ReportAperiodic_v12x0, - { "cqi-ReportAperiodic-v12x0", "lte-rrc.cqi_ReportAperiodic_v12x0", - FT_UINT32, BASE_DEC, VALS(lte_rrc_CQI_ReportAperiodic_v12x0_vals), 0, + { &hf_lte_rrc_cqi_ReportAperiodic_v1250, + { "cqi-ReportAperiodic-v1250", "lte-rrc.cqi_ReportAperiodic_v1250", + FT_UINT32, BASE_DEC, VALS(lte_rrc_CQI_ReportAperiodic_v1250_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_altCQI_Table_r12, { "altCQI-Table-r12", "lte-rrc.altCQI_Table_r12", @@ -46969,8 +49436,8 @@ void proto_register_lte_rrc(void) { { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_11", HFILL }}, - { &hf_lte_rrc_aperiodicCSI_Trigger_r12, - { "aperiodicCSI-Trigger-r12", "lte-rrc.aperiodicCSI_Trigger_r12_element", + { &hf_lte_rrc_aperiodicCSI_Trigger_v1250, + { "aperiodicCSI-Trigger-v1250", "lte-rrc.aperiodicCSI_Trigger_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_trigger_SubframeSetIndicator_r12, @@ -47017,30 +49484,22 @@ void proto_register_lte_rrc(void) { { "csi-ProcessToAddModList-r11", "lte-rrc.csi_ProcessToAddModList_r11", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_csi_IM_ConfigToReleaseList_r12, - { "csi-IM-ConfigToReleaseList-r12", "lte-rrc.csi_IM_ConfigToReleaseList_r12", + { &hf_lte_rrc_csi_IM_ConfigToReleaseListExt_r12, + { "csi-IM-ConfigToReleaseListExt-r12", "lte-rrc.csi_IM_ConfigToReleaseListExt_r12", FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_csi_IM_ConfigToAddModList_r12, - { "csi-IM-ConfigToAddModList-r12", "lte-rrc.csi_IM_ConfigToAddModList_r12", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, + "CSI_IM_ConfigId_v1250", HFILL }}, + { &hf_lte_rrc_csi_IM_ConfigToAddModListExt_r12, + { "csi-IM-ConfigToAddModListExt-r12", "lte-rrc.csi_IM_ConfigToAddModListExt_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "CSI_IM_ConfigExt_r12", HFILL }}, { &hf_lte_rrc_CSI_IM_ConfigToAddModList_r11_item, { "CSI-IM-Config-r11", "lte-rrc.CSI_IM_Config_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_CSI_IM_ConfigToAddModList_r12_item, - { "CSI-IM-Config-r12", "lte-rrc.CSI_IM_Config_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_CSI_IM_ConfigToReleaseList_r11_item, { "CSI-IM-ConfigId-r11", "lte-rrc.CSI_IM_ConfigId_r11", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_CSI_IM_ConfigToReleaseList_r12_item, - { "CSI-IM-ConfigId-r12", "lte-rrc.CSI_IM_ConfigId_r12", - FT_UINT32, BASE_DEC, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_CSI_ProcessToAddModList_r11_item, { "CSI-Process-r11", "lte-rrc.CSI_Process_r11_element", FT_NONE, BASE_NONE, NULL, 0, @@ -47093,8 +49552,8 @@ void proto_register_lte_rrc(void) { { "subframeConfig-r11", "lte-rrc.subframeConfig_r11", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_154", HFILL }}, - { &hf_lte_rrc_csi_IM_ConfigId_r12, - { "csi-IM-ConfigId-r12", "lte-rrc.csi_IM_ConfigId_r12", + { &hf_lte_rrc_csi_IM_ConfigId_v1250, + { "csi-IM-ConfigId-v1250", "lte-rrc.csi_IM_ConfigId_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_resourceConfig_r12, @@ -47139,14 +49598,22 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_csi_IM_ConfigIdList_r12, { "csi-IM-ConfigIdList-r12", "lte-rrc.csi_IM_ConfigIdList_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_csi_IM_ConfigIdList_r12_vals), 0, + "T_csi_IM_ConfigIdList_r12", HFILL }}, + { &hf_lte_rrc_setup_12, + { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12", HFILL }}, - { &hf_lte_rrc_csi_IM_ConfigIdList_r12_item, + { &hf_lte_rrc_setup_item, { "CSI-IM-ConfigId-r12", "lte-rrc.CSI_IM_ConfigId_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_cqi_ReportAperiodicProcSecond_r12, - { "cqi-ReportAperiodicProcSecond-r12", "lte-rrc.cqi_ReportAperiodicProcSecond_r12_element", + { &hf_lte_rrc_cqi_ReportAperiodicProc2_r12, + { "cqi-ReportAperiodicProc2-r12", "lte-rrc.cqi_ReportAperiodicProc2_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_cqi_ReportAperiodicProc2_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_setup_13, + { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CQI_ReportAperiodicProc_r11", HFILL }}, { &hf_lte_rrc_p_C_r11, @@ -47161,7 +49628,7 @@ void proto_register_lte_rrc(void) { { "csi-RS-r10", "lte-rrc.csi_RS_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_csi_RS_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_12, + { &hf_lte_rrc_setup_14, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_12", HFILL }}, @@ -47183,36 +49650,12 @@ void proto_register_lte_rrc(void) { "INTEGER_M8_15", HFILL }}, { &hf_lte_rrc_zeroTxPowerCSI_RS_r10, { "zeroTxPowerCSI-RS-r10", "lte-rrc.zeroTxPowerCSI_RS_r10", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_zeroTxPowerCSI_RS_r10_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_setup_13, - { "setup", "lte-rrc.setup_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_setup_13", HFILL }}, - { &hf_lte_rrc_zeroTxPowerResourceConfigList_r10, - { "zeroTxPowerResourceConfigList-r10", "lte-rrc.zeroTxPowerResourceConfigList_r10", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_16", HFILL }}, - { &hf_lte_rrc_zeroTxPowerSubframeConfig_r10, - { "zeroTxPowerSubframeConfig-r10", "lte-rrc.zeroTxPowerSubframeConfig_r10", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_154", HFILL }}, - { &hf_lte_rrc_eimta_ZeroTxPowerCSI_RS_r12, - { "eimta-ZeroTxPowerCSI-RS-r12", "lte-rrc.eimta_ZeroTxPowerCSI_RS_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_setup_14, - { "setup", "lte-rrc.setup_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_setup_14", HFILL }}, - { &hf_lte_rrc_zeroTxPowerResourceConfigList_r12, - { "zeroTxPowerResourceConfigList-r12", "lte-rrc.zeroTxPowerResourceConfigList_r12", - FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_16", HFILL }}, - { &hf_lte_rrc_zeroTxPowerSubframeConfig_r12, - { "zeroTxPowerSubframeConfig-r12", "lte-rrc.zeroTxPowerSubframeConfig_r12", - FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_154", HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_ZeroTxPowerCSI_RS_Conf_r12_vals), 0, + "ZeroTxPowerCSI_RS_Conf_r12", HFILL }}, + { &hf_lte_rrc_zeroTxPowerCSI_RS2_r12, + { "zeroTxPowerCSI-RS2-r12", "lte-rrc.zeroTxPowerCSI_RS2_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_ZeroTxPowerCSI_RS_Conf_r12_vals), 0, + "ZeroTxPowerCSI_RS_Conf_r12", HFILL }}, { &hf_lte_rrc_ds_ZeroTxPowerCSI_RS_r12, { "ds-ZeroTxPowerCSI-RS-r12", "lte-rrc.ds_ZeroTxPowerCSI_RS_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12_vals), 0, @@ -47220,7 +49663,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_setup_15, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_15", HFILL }}, + "T_setup_13", HFILL }}, { &hf_lte_rrc_zeroTxPowerCSI_RS_List_r12, { "zeroTxPowerCSI-RS-List-r12", "lte-rrc.zeroTxPowerCSI_RS_List_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -47229,6 +49672,18 @@ void proto_register_lte_rrc(void) { { "ZeroTxPowerCSI-RS-r12", "lte-rrc.ZeroTxPowerCSI_RS_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_setup_16, + { "setup", "lte-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "ZeroTxPowerCSI_RS_r12", HFILL }}, + { &hf_lte_rrc_zeroTxPowerResourceConfigList_r12, + { "zeroTxPowerResourceConfigList-r12", "lte-rrc.zeroTxPowerResourceConfigList_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_16", HFILL }}, + { &hf_lte_rrc_zeroTxPowerSubframeConfig_r12, + { "zeroTxPowerSubframeConfig-r12", "lte-rrc.zeroTxPowerSubframeConfig_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_154", HFILL }}, { &hf_lte_rrc_antennaPortsCount_r11, { "antennaPortsCount-r11", "lte-rrc.antennaPortsCount_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_antennaPortsCount_r11_vals), 0, @@ -47253,10 +49708,10 @@ void proto_register_lte_rrc(void) { { "mbsfn-SubframeConfigList-r11", "lte-rrc.mbsfn_SubframeConfigList_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mbsfn_SubframeConfigList_r11_vals), 0, "T_mbsfn_SubframeConfigList_r11", HFILL }}, - { &hf_lte_rrc_setup_16, + { &hf_lte_rrc_setup_17, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_16", HFILL }}, + "T_setup_14", HFILL }}, { &hf_lte_rrc_subframeConfigList, { "subframeConfigList", "lte-rrc.subframeConfigList", FT_UINT32, BASE_DEC, NULL, 0, @@ -47269,10 +49724,10 @@ void proto_register_lte_rrc(void) { { "resourceConfigList-r11", "lte-rrc.resourceConfigList_r11", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, - { &hf_lte_rrc_setup_17, + { &hf_lte_rrc_setup_18, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_17", HFILL }}, + "T_setup_15", HFILL }}, { &hf_lte_rrc_scramblingIdentity2_r11, { "scramblingIdentity2-r11", "lte-rrc.scramblingIdentity2_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -47281,18 +49736,18 @@ void proto_register_lte_rrc(void) { { "config-r11", "lte-rrc.config_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_config_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_18, + { &hf_lte_rrc_setup_19, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_18", HFILL }}, + "T_setup_16", HFILL }}, { &hf_lte_rrc_subframePatternConfig_r11, { "subframePatternConfig-r11", "lte-rrc.subframePatternConfig_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_subframePatternConfig_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_19, + { &hf_lte_rrc_setup_20, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_19", HFILL }}, + "T_setup_17", HFILL }}, { &hf_lte_rrc_subframePattern_r11, { "subframePattern-r11", "lte-rrc.subframePattern_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_MeasSubframePattern_r10_vals), 0, @@ -47349,14 +49804,18 @@ void proto_register_lte_rrc(void) { { "re-MappingQCL-ConfigId-r11", "lte-rrc.re_MappingQCL_ConfigId_r11", FT_UINT32, BASE_DEC, NULL, 0, "PDSCH_RE_MappingQCL_ConfigId_r11", HFILL }}, - { &hf_lte_rrc_csi_RS_ConfigZPId_Second_r12, - { "csi-RS-ConfigZPId-Second-r12", "lte-rrc.csi_RS_ConfigZPId_Second_r12", + { &hf_lte_rrc_csi_RS_ConfigZPId2_r12, + { "csi-RS-ConfigZPId2-r12", "lte-rrc.csi_RS_ConfigZPId2_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_csi_RS_ConfigZPId2_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_setup_21, + { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_RS_ConfigZPId_r11", HFILL }}, - { &hf_lte_rrc_setup_20, + { &hf_lte_rrc_setup_22, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_20", HFILL }}, + "T_setup_18", HFILL }}, { &hf_lte_rrc_eimta_RNTI_r12, { "eimta-RNTI-r12", "lte-rrc.eimta_RNTI_r12", FT_BYTES, BASE_NONE, NULL, 0, @@ -47369,26 +49828,26 @@ void proto_register_lte_rrc(void) { { "eimta-CommandSubframeSet-r12", "lte-rrc.eimta_CommandSubframeSet_r12", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, - { &hf_lte_rrc_setup_21, + { &hf_lte_rrc_setup_23, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_21", HFILL }}, - { &hf_lte_rrc_eimta_ReConfigIndex_r12, - { "eimta-ReConfigIndex-r12", "lte-rrc.eimta_ReConfigIndex_r12", + "T_setup_19", HFILL }}, + { &hf_lte_rrc_eimta_UL_DL_ConfigIndex_r12, + { "eimta-UL-DL-ConfigIndex-r12", "lte-rrc.eimta_UL_DL_ConfigIndex_r12", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_5", HFILL }}, - { &hf_lte_rrc_eimta_HarqReferenceConfig_r12, - { "eimta-HarqReferenceConfig-r12", "lte-rrc.eimta_HarqReferenceConfig_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_eimta_HarqReferenceConfig_r12_vals), 0, + { &hf_lte_rrc_eimta_HARQ_ReferenceConfig_r12, + { "eimta-HARQ-ReferenceConfig-r12", "lte-rrc.eimta_HARQ_ReferenceConfig_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_eimta_HARQ_ReferenceConfig_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_mbsfn_SubframeConfigList_v12x0, - { "mbsfn-SubframeConfigList-v12x0", "lte-rrc.mbsfn_SubframeConfigList_v12x0", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mbsfn_SubframeConfigList_v12x0_vals), 0, - "T_mbsfn_SubframeConfigList_v12x0", HFILL }}, - { &hf_lte_rrc_setup_22, + { &hf_lte_rrc_mbsfn_SubframeConfigList_v1250, + { "mbsfn-SubframeConfigList-v1250", "lte-rrc.mbsfn_SubframeConfigList_v1250", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mbsfn_SubframeConfigList_v1250_vals), 0, + "T_mbsfn_SubframeConfigList_v1250", HFILL }}, + { &hf_lte_rrc_setup_24, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_22", HFILL }}, + "T_setup_20", HFILL }}, { &hf_lte_rrc_subframeConfigList_r12, { "subframeConfigList-r12", "lte-rrc.subframeConfigList_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -47431,12 +49890,12 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_periodicBSR_Timer, { "periodicBSR-Timer", "lte-rrc.periodicBSR_Timer", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_periodicBSR_Timer_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_PeriodicBSR_Timer_r12_vals), 0, + "PeriodicBSR_Timer_r12", HFILL }}, { &hf_lte_rrc_retxBSR_Timer, { "retxBSR-Timer", "lte-rrc.retxBSR_Timer", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_retxBSR_Timer_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_RetxBSR_Timer_r12_vals), 0, + "RetxBSR_Timer_r12", HFILL }}, { &hf_lte_rrc_ttiBundling, { "ttiBundling", "lte-rrc.ttiBundling", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -47453,10 +49912,10 @@ void proto_register_lte_rrc(void) { { "phr-Config", "lte-rrc.phr_Config", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phr_Config_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_23, + { &hf_lte_rrc_setup_25, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_23", HFILL }}, + "T_setup_21", HFILL }}, { &hf_lte_rrc_periodicPHR_Timer, { "periodicPHR-Timer", "lte-rrc.periodicPHR_Timer", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_periodicPHR_Timer_vals), 0, @@ -47509,10 +49968,10 @@ void proto_register_lte_rrc(void) { { "dualConnectivityPHR", "lte-rrc.dualConnectivityPHR", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dualConnectivityPHR_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_24, + { &hf_lte_rrc_setup_26, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_24", HFILL }}, + "T_setup_22", HFILL }}, { &hf_lte_rrc_phr_ModeOtherCG_r12, { "phr-ModeOtherCG-r12", "lte-rrc.phr_ModeOtherCG_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phr_ModeOtherCG_r12_vals), 0, @@ -47521,10 +49980,10 @@ void proto_register_lte_rrc(void) { { "logicalChannelSR-Config-r12", "lte-rrc.logicalChannelSR_Config_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logicalChannelSR_Config_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_25, + { &hf_lte_rrc_setup_27, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_25", HFILL }}, + "T_setup_23", HFILL }}, { &hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12, { "logicalChannelSR-ProhibitTimer-r12", "lte-rrc.logicalChannelSR_ProhibitTimer_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logicalChannelSR_ProhibitTimer_r12_vals), 0, @@ -47537,10 +49996,10 @@ void proto_register_lte_rrc(void) { { "release", "lte-rrc.release_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_26, + { &hf_lte_rrc_setup_28, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_26", HFILL }}, + "T_setup_24", HFILL }}, { &hf_lte_rrc_onDurationTimer, { "onDurationTimer", "lte-rrc.onDurationTimer", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_onDurationTimer_vals), 0, @@ -47749,10 +50208,10 @@ void proto_register_lte_rrc(void) { { "pdcp-SN-Size-v1130", "lte-rrc.pdcp_SN_Size_v1130", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_pdcp_SN_Size_v1130_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_ul_DataPath_r12, - { "ul-DataPath-r12", "lte-rrc.ul_DataPath_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ul_DataPath_r12_vals), 0, - NULL, HFILL }}, + { &hf_lte_rrc_ul_DataSplitDRB_ViaSCG_r12, + { "ul-DataSplitDRB-ViaSCG-r12", "lte-rrc.ul_DataSplitDRB_ViaSCG_r12", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_t_Reordering_r12, { "t-Reordering-r12", "lte-rrc.t_Reordering_r12", FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_t_Reordering_r12_vals_ext, 0, @@ -47813,10 +50272,10 @@ void proto_register_lte_rrc(void) { { "mbsfn-SubframeConfigList-r11", "lte-rrc.mbsfn_SubframeConfigList_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_mbsfn_SubframeConfigList_r11_01_vals), 0, "T_mbsfn_SubframeConfigList_r11_01", HFILL }}, - { &hf_lte_rrc_setup_27, + { &hf_lte_rrc_setup_29, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_27", HFILL }}, + "T_setup_25", HFILL }}, { &hf_lte_rrc_pdsch_Start_r11, { "pdsch-Start-r11", "lte-rrc.pdsch_Start_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_pdsch_Start_r11_vals), 0, @@ -47933,10 +50392,10 @@ void proto_register_lte_rrc(void) { { "additionalSpectrumEmissionCA-r10", "lte-rrc.additionalSpectrumEmissionCA_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_additionalSpectrumEmissionCA_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_28, + { &hf_lte_rrc_setup_30, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_28", HFILL }}, + "T_setup_26", HFILL }}, { &hf_lte_rrc_additionalSpectrumEmissionPCell_r10, { "additionalSpectrumEmissionPCell-r10", "lte-rrc.additionalSpectrumEmissionPCell_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -47981,10 +50440,10 @@ void proto_register_lte_rrc(void) { { "uplinkPowerControlDedicated-v1130", "lte-rrc.uplinkPowerControlDedicated_v1130_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_antennaInfo_v12xx, - { "antennaInfo-v12xx", "lte-rrc.antennaInfo_v12xx_element", + { &hf_lte_rrc_antennaInfo_v1250, + { "antennaInfo-v1250", "lte-rrc.antennaInfo_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "AntennaInfoDedicated_v12xx", HFILL }}, + "AntennaInfoDedicated_v1250", HFILL }}, { &hf_lte_rrc_eimta_MainConfig_r12, { "eimta-MainConfig-r12", "lte-rrc.eimta_MainConfig_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_EIMTA_MainConfig_r12_vals), 0, @@ -47993,24 +50452,24 @@ void proto_register_lte_rrc(void) { { "eimta-MainConfigPCell-r12", "lte-rrc.eimta_MainConfigPCell_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_EIMTA_MainConfigServCell_r12_vals), 0, "EIMTA_MainConfigServCell_r12", HFILL }}, - { &hf_lte_rrc_pucch_ConfigDedicated_v12x0, - { "pucch-ConfigDedicated-v12x0", "lte-rrc.pucch_ConfigDedicated_v12x0_element", + { &hf_lte_rrc_pucch_ConfigDedicated_v1250, + { "pucch-ConfigDedicated-v1250", "lte-rrc.pucch_ConfigDedicated_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_cqi_ReportConfigPCell_v12x0, - { "cqi-ReportConfigPCell-v12x0", "lte-rrc.cqi_ReportConfigPCell_v12x0_element", + { &hf_lte_rrc_cqi_ReportConfigPCell_v1250, + { "cqi-ReportConfigPCell-v1250", "lte-rrc.cqi_ReportConfigPCell_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "CQI_ReportConfig_v12x0", HFILL }}, - { &hf_lte_rrc_uplinkPowerControlDedicated_v12x0, - { "uplinkPowerControlDedicated-v12x0", "lte-rrc.uplinkPowerControlDedicated_v12x0_element", + "CQI_ReportConfig_v1250", HFILL }}, + { &hf_lte_rrc_uplinkPowerControlDedicated_v1250, + { "uplinkPowerControlDedicated-v1250", "lte-rrc.uplinkPowerControlDedicated_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_pusch_ConfigDedicated_v12x0, - { "pusch-ConfigDedicated-v12x0", "lte-rrc.pusch_ConfigDedicated_v12x0_element", + { &hf_lte_rrc_pusch_ConfigDedicated_v1250, + { "pusch-ConfigDedicated-v1250", "lte-rrc.pusch_ConfigDedicated_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_csi_RS_Config2_r12, - { "csi-RS-Config2-r12", "lte-rrc.csi_RS_Config2_r12_element", + { &hf_lte_rrc_csi_RS_Config_v1250, + { "csi-RS-Config-v1250", "lte-rrc.csi_RS_Config_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_nonUL_Configuration_r10, @@ -48057,14 +50516,14 @@ void proto_register_lte_rrc(void) { { "eimta-MainConfigSCell-r12", "lte-rrc.eimta_MainConfigSCell_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_EIMTA_MainConfigServCell_r12_vals), 0, "EIMTA_MainConfigServCell_r12", HFILL }}, - { &hf_lte_rrc_cqi_ReportConfigSCell_v12x0, - { "cqi-ReportConfigSCell-v12x0", "lte-rrc.cqi_ReportConfigSCell_v12x0_element", + { &hf_lte_rrc_cqi_ReportConfigSCell_v1250, + { "cqi-ReportConfigSCell-v1250", "lte-rrc.cqi_ReportConfigSCell_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "CQI_ReportConfig_v12x0", HFILL }}, - { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v12x0, - { "uplinkPowerControlDedicatedSCell-v12x0", "lte-rrc.uplinkPowerControlDedicatedSCell_v12x0_element", + "CQI_ReportConfig_v1250", HFILL }}, + { &hf_lte_rrc_uplinkPowerControlDedicatedSCell_v1250, + { "uplinkPowerControlDedicatedSCell-v1250", "lte-rrc.uplinkPowerControlDedicatedSCell_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "UplinkPowerControlDedicated_v12x0", HFILL }}, + "UplinkPowerControlDedicated_v1250", HFILL }}, { &hf_lte_rrc_CSI_RS_ConfigNZPToAddModList_r11_item, { "CSI-RS-ConfigNZP-r11", "lte-rrc.CSI_RS_ConfigNZP_r11_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48129,10 +50588,10 @@ void proto_register_lte_rrc(void) { { "ackNackRepetition", "lte-rrc.ackNackRepetition", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ackNackRepetition_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_29, + { &hf_lte_rrc_setup_31, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_29", HFILL }}, + "T_setup_27", HFILL }}, { &hf_lte_rrc_repetitionFactor, { "repetitionFactor", "lte-rrc.repetitionFactor", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_repetitionFactor_vals), 0, @@ -48165,10 +50624,10 @@ void proto_register_lte_rrc(void) { { "twoAntennaPortActivatedPUCCH-Format3-r10", "lte-rrc.twoAntennaPortActivatedPUCCH_Format3_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_30, + { &hf_lte_rrc_setup_32, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_30", HFILL }}, + "T_setup_28", HFILL }}, { &hf_lte_rrc_n3PUCCH_AN_ListP1_r10, { "n3PUCCH-AN-ListP1-r10", "lte-rrc.n3PUCCH_AN_ListP1_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -48185,10 +50644,10 @@ void proto_register_lte_rrc(void) { { "n1PUCCH-AN-CS-r10", "lte-rrc.n1PUCCH_AN_CS_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_n1PUCCH_AN_CS_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_31, + { &hf_lte_rrc_setup_33, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_31", HFILL }}, + "T_setup_29", HFILL }}, { &hf_lte_rrc_n1PUCCH_AN_CS_List_r10, { "n1PUCCH-AN-CS-List-r10", "lte-rrc.n1PUCCH_AN_CS_List_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -48213,10 +50672,10 @@ void proto_register_lte_rrc(void) { { "n1PUCCH-AN-CS-v1130", "lte-rrc.n1PUCCH_AN_CS_v1130", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_n1PUCCH_AN_CS_v1130_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_32, + { &hf_lte_rrc_setup_34, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_32", HFILL }}, + "T_setup_30", HFILL }}, { &hf_lte_rrc_n1PUCCH_AN_CS_ListP1_r11, { "n1PUCCH-AN-CS-ListP1-r11", "lte-rrc.n1PUCCH_AN_CS_ListP1_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -48229,10 +50688,10 @@ void proto_register_lte_rrc(void) { { "nPUCCH-Param-r11", "lte-rrc.nPUCCH_Param_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_nPUCCH_Param_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_33, + { &hf_lte_rrc_setup_35, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_33", HFILL }}, + "T_setup_31", HFILL }}, { &hf_lte_rrc_nPUCCH_Identity_r11, { "nPUCCH-Identity-r11", "lte-rrc.nPUCCH_Identity_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -48245,10 +50704,10 @@ void proto_register_lte_rrc(void) { { "nkaPUCCH-Param-r12", "lte-rrc.nkaPUCCH_Param_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_nkaPUCCH_Param_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_34, + { &hf_lte_rrc_setup_36, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_34", HFILL }}, + "T_setup_32", HFILL }}, { &hf_lte_rrc_nkaPUCCH_AN_r12, { "nkaPUCCH-AN-r12", "lte-rrc.nkaPUCCH_AN_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -48321,10 +50780,10 @@ void proto_register_lte_rrc(void) { { "pusch-DMRS-r11", "lte-rrc.pusch_DMRS_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_pusch_DMRS_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_35, + { &hf_lte_rrc_setup_37, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_35", HFILL }}, + "T_setup_33", HFILL }}, { &hf_lte_rrc_nPUSCH_Identity_r11, { "nPUSCH-Identity-r11", "lte-rrc.nPUSCH_Identity_r11", FT_UINT32, BASE_DEC, NULL, 0, @@ -48337,10 +50796,10 @@ void proto_register_lte_rrc(void) { { "uciOnPUSCH", "lte-rrc.uciOnPUSCH", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_uciOnPUSCH_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_36, + { &hf_lte_rrc_setup_38, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_36", HFILL }}, + "T_setup_34", HFILL }}, { &hf_lte_rrc_betaOffset_ACK_Index_SubframeSet2_r12, { "betaOffset-ACK-Index-SubframeSet2-r12", "lte-rrc.betaOffset_ACK_Index_SubframeSet2_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -48529,18 +50988,14 @@ void proto_register_lte_rrc(void) { { "uplinkPowerControlCommon-v1020", "lte-rrc.uplinkPowerControlCommon_v1020_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_rach_ConfigCommon_v12xy, - { "rach-ConfigCommon-v12xy", "lte-rrc.rach_ConfigCommon_v12xy_element", + { &hf_lte_rrc_rach_ConfigCommon_v1250, + { "rach-ConfigCommon-v1250", "lte-rrc.rach_ConfigCommon_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_prach_Config_01, { "prach-Config", "lte-rrc.prach_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_antennaInfoCommon, - { "antennaInfoCommon", "lte-rrc.antennaInfoCommon_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_basicFields_r12, { "basicFields-r12", "lte-rrc.basicFields_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48697,8 +51152,8 @@ void proto_register_lte_rrc(void) { { "neighCellsCRS-Info-r11", "lte-rrc.neighCellsCRS_Info_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_NeighCellsCRS_Info_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_naics_InfoPCell_r12, - { "naics-InfoPCell-r12", "lte-rrc.naics_InfoPCell_r12", + { &hf_lte_rrc_naics_Info_r12, + { "naics-Info-r12", "lte-rrc.naics_Info_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_NAICS_AssistanceInfo_r12_vals), 0, "NAICS_AssistanceInfo_r12", HFILL }}, { &hf_lte_rrc_physicalConfigDedicatedPSCell_r12, @@ -48729,10 +51184,6 @@ void proto_register_lte_rrc(void) { { "mac-MainConfigSCell-r11", "lte-rrc.mac_MainConfigSCell_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_naics_InfoSCell_r12, - { "naics-InfoSCell-r12", "lte-rrc.naics_InfoSCell_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_NAICS_AssistanceInfo_r12_vals), 0, - "NAICS_AssistanceInfo_r12", HFILL }}, { &hf_lte_rrc_SRB_ToAddModList_item, { "SRB-ToAddMod", "lte-rrc.SRB_ToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, @@ -48789,8 +51240,8 @@ void proto_register_lte_rrc(void) { { "drb-TypeChange-r12", "lte-rrc.drb_TypeChange_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_drb_TypeChange_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_rlc_Config_v12xy, - { "rlc-Config-v12xy", "lte-rrc.rlc_Config_v12xy_element", + { &hf_lte_rrc_rlc_Config_v1250, + { "rlc-Config-v1250", "lte-rrc.rlc_Config_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_drb_Identity_r12, @@ -48833,11 +51284,11 @@ void proto_register_lte_rrc(void) { { "DRB-Identity", "lte-rrc.DRB_Identity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_37, + { &hf_lte_rrc_setup_39, { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, VALS(lte_rrc_MeasSubframePattern_r10_vals), 0, "MeasSubframePattern_r10", HFILL }}, - { &hf_lte_rrc_setup_38, + { &hf_lte_rrc_setup_40, { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CRS_AssistanceInfoList_r11", HFILL }}, @@ -48857,10 +51308,10 @@ void proto_register_lte_rrc(void) { { "mbsfn-SubframeConfigList-r11", "lte-rrc.mbsfn_SubframeConfigList_r11", FT_UINT32, BASE_DEC, NULL, 0, "MBSFN_SubframeConfigList", HFILL }}, - { &hf_lte_rrc_setup_39, + { &hf_lte_rrc_setup_41, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_37", HFILL }}, + "T_setup_35", HFILL }}, { &hf_lte_rrc_neighCellsToReleaseList_r12, { "neighCellsToReleaseList-r12", "lte-rrc.neighCellsToReleaseList_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -48977,10 +51428,10 @@ void proto_register_lte_rrc(void) { { "sn-FieldLength", "lte-rrc.sn_FieldLength", FT_UINT32, BASE_DEC, VALS(lte_rrc_SN_FieldLength_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_40, + { &hf_lte_rrc_setup_42, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_38", HFILL }}, + "T_setup_36", HFILL }}, { &hf_lte_rrc_t301_r9, { "t301-r9", "lte-rrc.t301_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t301_r9_vals), 0, @@ -49001,10 +51452,10 @@ void proto_register_lte_rrc(void) { { "n311-r9", "lte-rrc.n311_r9", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_n311_r9_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_41, + { &hf_lte_rrc_setup_43, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_39", HFILL }}, + "T_setup_37", HFILL }}, { &hf_lte_rrc_t313_r12, { "t313-r12", "lte-rrc.t313_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t313_r12_vals), 0, @@ -49149,10 +51600,10 @@ void proto_register_lte_rrc(void) { { "fdd", "lte-rrc.fdd_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_42, + { &hf_lte_rrc_setup_44, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_40", HFILL }}, + "T_setup_38", HFILL }}, { &hf_lte_rrc_sr_PUCCH_ResourceIndex, { "sr-PUCCH-ResourceIndex", "lte-rrc.sr_PUCCH_ResourceIndex", FT_UINT32, BASE_DEC, NULL, 0, @@ -49169,10 +51620,10 @@ void proto_register_lte_rrc(void) { { "sr-PUCCH-ResourceIndexP1-r10", "lte-rrc.sr_PUCCH_ResourceIndexP1_r10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2047", HFILL }}, - { &hf_lte_rrc_setup_43, + { &hf_lte_rrc_setup_45, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_41", HFILL }}, + "T_setup_39", HFILL }}, { &hf_lte_rrc_srs_BandwidthConfig, { "srs-BandwidthConfig", "lte-rrc.srs_BandwidthConfig", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_srs_BandwidthConfig_vals), 0, @@ -49189,10 +51640,10 @@ void proto_register_lte_rrc(void) { { "srs-MaxUpPts", "lte-rrc.srs_MaxUpPts", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_srs_MaxUpPts_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_44, + { &hf_lte_rrc_setup_46, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_42", HFILL }}, + "T_setup_40", HFILL }}, { &hf_lte_rrc_srs_Bandwidth, { "srs-Bandwidth", "lte-rrc.srs_Bandwidth", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_srs_Bandwidth_vals), 0, @@ -49225,10 +51676,10 @@ void proto_register_lte_rrc(void) { { "srs-AntennaPort-r10", "lte-rrc.srs_AntennaPort_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_SRS_AntennaPort_vals), 0, "SRS_AntennaPort", HFILL }}, - { &hf_lte_rrc_setup_45, + { &hf_lte_rrc_setup_47, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_43", HFILL }}, + "T_setup_41", HFILL }}, { &hf_lte_rrc_srs_ConfigIndexAp_r10, { "srs-ConfigIndexAp-r10", "lte-rrc.srs_ConfigIndexAp_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -49245,10 +51696,10 @@ void proto_register_lte_rrc(void) { { "srs-ActivateAp-r10", "lte-rrc.srs_ActivateAp_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_srs_ActivateAp_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_46, + { &hf_lte_rrc_setup_48, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_44", HFILL }}, + "T_setup_42", HFILL }}, { &hf_lte_rrc_srs_ConfigApDCI_Format0_r10, { "srs-ConfigApDCI-Format0-r10", "lte-rrc.srs_ConfigApDCI_Format0_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49289,10 +51740,10 @@ void proto_register_lte_rrc(void) { { "sps-ConfigUL", "lte-rrc.sps_ConfigUL", FT_UINT32, BASE_DEC, VALS(lte_rrc_SPS_ConfigUL_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_47, + { &hf_lte_rrc_setup_49, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_45", HFILL }}, + "T_setup_43", HFILL }}, { &hf_lte_rrc_semiPersistSchedIntervalDL, { "semiPersistSchedIntervalDL", "lte-rrc.semiPersistSchedIntervalDL", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_semiPersistSchedIntervalDL_vals), 0, @@ -49309,18 +51760,18 @@ void proto_register_lte_rrc(void) { { "twoAntennaPortActivated-r10", "lte-rrc.twoAntennaPortActivated_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_twoAntennaPortActivated_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_48, + { &hf_lte_rrc_setup_50, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_46", HFILL }}, + "T_setup_44", HFILL }}, { &hf_lte_rrc_n1PUCCH_AN_PersistentListP1_r10, { "n1PUCCH-AN-PersistentListP1-r10", "lte-rrc.n1PUCCH_AN_PersistentListP1_r10", FT_UINT32, BASE_DEC, NULL, 0, "N1PUCCH_AN_PersistentList", HFILL }}, - { &hf_lte_rrc_setup_49, + { &hf_lte_rrc_setup_51, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_47", HFILL }}, + "T_setup_45", HFILL }}, { &hf_lte_rrc_semiPersistSchedIntervalUL, { "semiPersistSchedIntervalUL", "lte-rrc.semiPersistSchedIntervalUL", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_semiPersistSchedIntervalUL_vals), 0, @@ -49346,9 +51797,13 @@ void proto_register_lte_rrc(void) { FT_UINT32, BASE_DEC, VALS(lte_rrc_T_twoIntervalsConfig_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_p0_PersistentSubframeSet2_r12, - { "p0-PersistentSubframeSet2-r12", "lte-rrc.p0_PersistentSubframeSet2_r12_element", - FT_NONE, BASE_NONE, NULL, 0, + { "p0-PersistentSubframeSet2-r12", "lte-rrc.p0_PersistentSubframeSet2_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_p0_PersistentSubframeSet2_r12_vals), 0, NULL, HFILL }}, + { &hf_lte_rrc_setup_52, + { "setup", "lte-rrc.setup_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_setup_46", HFILL }}, { &hf_lte_rrc_p0_NominalPUSCH_PersistentSubframeSet2_r12, { "p0-NominalPUSCH-PersistentSubframeSet2-r12", "lte-rrc.p0_NominalPUSCH_PersistentSubframeSet2_r12", FT_INT32, BASE_DEC, NULL, 0, @@ -49373,10 +51828,14 @@ void proto_register_lte_rrc(void) { { "specialSubframePatterns-v1130", "lte-rrc.specialSubframePatterns_v1130", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_specialSubframePatterns_v1130_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_50, + { &hf_lte_rrc_subframeAssignmentSL_r12, + { "subframeAssignmentSL-r12", "lte-rrc.subframeAssignmentSL_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_subframeAssignmentSL_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_setup_53, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_48", HFILL }}, + "T_setup_47", HFILL }}, { &hf_lte_rrc_tpc_RNTI, { "tpc-RNTI", "lte-rrc.tpc_RNTI", FT_BYTES, BASE_NONE, NULL, 0, @@ -49399,8 +51858,8 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_alpha, { "alpha", "lte-rrc.alpha", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alpha_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_Alpha_r12_vals), 0, + "Alpha_r12", HFILL }}, { &hf_lte_rrc_p0_NominalPUCCH, { "p0-NominalPUCCH", "lte-rrc.p0_NominalPUCCH", FT_INT32, BASE_DEC, NULL, 0, @@ -49421,26 +51880,30 @@ void proto_register_lte_rrc(void) { { "deltaF-PUCCH-Format1bCS-r10", "lte-rrc.deltaF_PUCCH_Format1bCS_r10", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deltaF_PUCCH_Format1bCS_r10_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_deltaF_PUCCH_Format3_r10_01, - { "deltaF-PUCCH-Format3-r10", "lte-rrc.deltaF_PUCCH_Format3_r10", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deltaF_PUCCH_Format3_r10_01_vals), 0, - "T_deltaF_PUCCH_Format3_r10_01", HFILL }}, - { &hf_lte_rrc_deltaF_PUCCH_Format1bCS_r10_01, - { "deltaF-PUCCH-Format1bCS-r10", "lte-rrc.deltaF_PUCCH_Format1bCS_r10", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deltaF_PUCCH_Format1bCS_r10_01_vals), 0, - "T_deltaF_PUCCH_Format1bCS_r10_01", HFILL }}, - { &hf_lte_rrc_p0_NominalPUCCH_01, - { "p0-NominalPUCCH", "lte-rrc.p0_NominalPUCCH", + { &hf_lte_rrc_deltaF_PUCCH_Format3_r12, + { "deltaF-PUCCH-Format3-r12", "lte-rrc.deltaF_PUCCH_Format3_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deltaF_PUCCH_Format3_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_deltaF_PUCCH_Format1bCS_r12, + { "deltaF-PUCCH-Format1bCS-r12", "lte-rrc.deltaF_PUCCH_Format1bCS_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_deltaF_PUCCH_Format1bCS_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_p0_NominalPUCCH_r12, + { "p0-NominalPUCCH-r12", "lte-rrc.p0_NominalPUCCH_r12", FT_INT32, BASE_DEC, NULL, 0, - "T_p0_NominalPUCCH_01", HFILL }}, + NULL, HFILL }}, + { &hf_lte_rrc_deltaFList_PUCCH_r12, + { "deltaFList-PUCCH-r12", "lte-rrc.deltaFList_PUCCH_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "DeltaFList_PUCCH", HFILL }}, { &hf_lte_rrc_p0_NominalPUSCH_r10, { "p0-NominalPUSCH-r10", "lte-rrc.p0_NominalPUSCH_r10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_alpha_r10, { "alpha-r10", "lte-rrc.alpha_r10", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alpha_r10_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_Alpha_r12_vals), 0, + "Alpha_r12", HFILL }}, { &hf_lte_rrc_deltaPreambleMsg3_r11, { "deltaPreambleMsg3-r11", "lte-rrc.deltaPreambleMsg3_r11", FT_INT32, BASE_DEC, NULL, 0, @@ -49493,10 +51956,10 @@ void proto_register_lte_rrc(void) { { "set2PowerControlParameter", "lte-rrc.set2PowerControlParameter", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_set2PowerControlParameter_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_51, + { &hf_lte_rrc_setup_54, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_49", HFILL }}, + "T_setup_48", HFILL }}, { &hf_lte_rrc_tpc_SubframeSet_r12, { "tpc-SubframeSet-r12", "lte-rrc.tpc_SubframeSet_r12", FT_BYTES, BASE_NONE, NULL, 0, @@ -49507,8 +51970,8 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_alpha_SubframeSet2_r12, { "alpha-SubframeSet2-r12", "lte-rrc.alpha_SubframeSet2_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alpha_SubframeSet2_r12_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_Alpha_r12_vals), 0, + "Alpha_r12", HFILL }}, { &hf_lte_rrc_p0_UE_PUSCH_SubframeSet2_r12, { "p0-UE-PUSCH-SubframeSet2-r12", "lte-rrc.p0_UE_PUSCH_SubframeSet2_r12", FT_INT32, BASE_DEC, NULL, 0, @@ -49741,9 +52204,9 @@ void proto_register_lte_rrc(void) { { "drb-ContinueROHC-r11", "lte-rrc.drb_ContinueROHC_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_drb_ContinueROHC_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_t307, - { "t307", "lte-rrc.t307", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t307_vals), 0, + { &hf_lte_rrc_t307_r12, + { "t307-r12", "lte-rrc.t307_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t307_r12_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_ue_IdentitySCG_r12, { "ue-IdentitySCG-r12", "lte-rrc.ue_IdentitySCG_r12", @@ -49753,6 +52216,10 @@ void proto_register_lte_rrc(void) { { "rach-ConfigDedicated-r12", "lte-rrc.rach_ConfigDedicated_r12_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigDedicated", HFILL }}, + { &hf_lte_rrc_cipheringAlgorithmSCG_r12, + { "cipheringAlgorithmSCG-r12", "lte-rrc.cipheringAlgorithmSCG_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_CipheringAlgorithm_r12_vals), 0, + "CipheringAlgorithm_r12", HFILL }}, { &hf_lte_rrc_dl_Bandwidth_01, { "dl-Bandwidth", "lte-rrc.dl_Bandwidth", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dl_Bandwidth_01_vals), 0, @@ -49969,10 +52436,10 @@ void proto_register_lte_rrc(void) { { "speedStatePars", "lte-rrc.speedStatePars", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_speedStatePars_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_52, + { &hf_lte_rrc_setup_55, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_50", HFILL }}, + "T_setup_49", HFILL }}, { &hf_lte_rrc_timeToTrigger_SF, { "timeToTrigger-SF", "lte-rrc.timeToTrigger_SF_element", FT_NONE, BASE_NONE, NULL, 0, @@ -49989,7 +52456,7 @@ void proto_register_lte_rrc(void) { { "measScaleFactor-r12", "lte-rrc.measScaleFactor_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_measScaleFactor_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_53, + { &hf_lte_rrc_setup_56, { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, VALS(lte_rrc_MeasScaleFactor_r12_vals), 0, "MeasScaleFactor_r12", HFILL }}, @@ -50010,7 +52477,7 @@ void proto_register_lte_rrc(void) { FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_MeasIdToRemoveListExt_r12_item, - { "MeasId-v12xy", "lte-rrc.MeasId_v12xy", + { "MeasId-v1250", "lte-rrc.MeasId_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_MeasObjectToRemoveList_item, @@ -50021,10 +52488,10 @@ void proto_register_lte_rrc(void) { { "ReportConfigId", "lte-rrc.ReportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_54, + { &hf_lte_rrc_setup_57, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_51", HFILL }}, + "T_setup_50", HFILL }}, { &hf_lte_rrc_dmtc_PeriodOffset_r12, { "dmtc-PeriodOffset-r12", "lte-rrc.dmtc_PeriodOffset_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dmtc_PeriodOffset_r12_vals), 0, @@ -50089,10 +52556,10 @@ void proto_register_lte_rrc(void) { { "csi-RS-IndividualOffset-r12", "lte-rrc.csi_RS_IndividualOffset_r12", FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, - { &hf_lte_rrc_setup_55, + { &hf_lte_rrc_setup_58, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, - "T_setup_52", HFILL }}, + "T_setup_51", HFILL }}, { &hf_lte_rrc_gapOffset, { "gapOffset", "lte-rrc.gapOffset", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_gapOffset_vals), 0, @@ -50125,8 +52592,8 @@ void proto_register_lte_rrc(void) { { "reportConfigId", "lte-rrc.reportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_measId_v12xy, - { "measId-v12xy", "lte-rrc.measId_v12xy", + { &hf_lte_rrc_measId_v1250, + { "measId-v1250", "lte-rrc.measId_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_measObjectId_r12, @@ -50213,6 +52680,10 @@ void proto_register_lte_rrc(void) { { "t312-r12", "lte-rrc.t312_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_t312_r12_vals), 0, NULL, HFILL }}, + { &hf_lte_rrc_setup_59, + { "setup", "lte-rrc.setup", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_setup_52_vals), 0, + "T_setup_52", HFILL }}, { &hf_lte_rrc_reducedMeasPerformance_r12_05, { "reducedMeasPerformance-r12", "lte-rrc.reducedMeasPerformance_r12", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -50237,7 +52708,7 @@ void proto_register_lte_rrc(void) { { "physCellIdRange", "lte-rrc.physCellIdRange_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_56, + { &hf_lte_rrc_setup_60, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_53", HFILL }}, @@ -50257,6 +52728,14 @@ void proto_register_lte_rrc(void) { { "AltTTT-CellsToAddMod-r12", "lte-rrc.AltTTT_CellsToAddMod_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_cellIndex_r12, + { "cellIndex-r12", "lte-rrc.cellIndex_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_maxCellMeas", HFILL }}, + { &hf_lte_rrc_physCellIdRange_r12, + { "physCellIdRange-r12", "lte-rrc.physCellIdRange_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "PhysCellIdRange", HFILL }}, { &hf_lte_rrc_cellForWhichToReportCGI_02, { "cellForWhichToReportCGI", "lte-rrc.cellForWhichToReportCGI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50381,10 +52860,10 @@ void proto_register_lte_rrc(void) { { "measResultServFreqList-r10", "lte-rrc.measResultServFreqList_r10", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_measResultPCell_v12xy, - { "measResultPCell-v12xy", "lte-rrc.measResultPCell_v12xy", + { &hf_lte_rrc_measResultPCell_v1250, + { "measResultPCell-v1250", "lte-rrc.measResultPCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_measResultCSI_RS_List_r12, { "measResultCSI-RS-List-r12", "lte-rrc.measResultCSI_RS_List_r12", FT_UINT32, BASE_DEC, NULL, 0, @@ -50417,10 +52896,10 @@ void proto_register_lte_rrc(void) { { "primaryPLMN-Suitable-r12", "lte-rrc.primaryPLMN_Suitable_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_primaryPLMN_Suitable_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_measResult_v12xy, - { "measResult-v12xy", "lte-rrc.measResult_v12xy", + { &hf_lte_rrc_measResult_v1250, + { "measResult-v1250", "lte-rrc.measResult_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_MeasResultServFreqList_r10_item, { "MeasResultServFreq-r10", "lte-rrc.MeasResultServFreq_r10_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50453,14 +52932,14 @@ void proto_register_lte_rrc(void) { { "rsrqResultNCell-r10", "lte-rrc.rsrqResultNCell_r10", FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, "RSRQ_Range", HFILL }}, - { &hf_lte_rrc_measResultSCell_v12xy, - { "measResultSCell-v12xy", "lte-rrc.measResultSCell_v12xy", + { &hf_lte_rrc_measResultSCell_v1250, + { "measResultSCell-v1250", "lte-rrc.measResultSCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, - { &hf_lte_rrc_measResultBestNeighCell_v12xy, - { "measResultBestNeighCell-v12xy", "lte-rrc.measResultBestNeighCell_v12xy", + "RSRQ_Range_v1250", HFILL }}, + { &hf_lte_rrc_measResultBestNeighCell_v1250, + { "measResultBestNeighCell-v1250", "lte-rrc.measResultBestNeighCell_v1250", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_MeasResultCSI_RS_List_r12_item, { "MeasResultCSI-RS-r12", "lte-rrc.MeasResultCSI_RS_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -50601,8 +53080,8 @@ void proto_register_lte_rrc(void) { { "quantityConfigUTRA-v1020", "lte-rrc.quantityConfigUTRA_v1020_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_quantityConfigEUTRA_v12xy, - { "quantityConfigEUTRA-v12xy", "lte-rrc.quantityConfigEUTRA_v12xy_element", + { &hf_lte_rrc_quantityConfigEUTRA_v1250, + { "quantityConfigEUTRA-v1250", "lte-rrc.quantityConfigEUTRA_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_filterCoefficientRSRP, @@ -50716,7 +53195,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_c1_Threshold_r12, { "c1-Threshold-r12", "lte-rrc.c1_Threshold_r12", FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRP_Range_vals_ext, 0, - "ThresholdEUTRA_v12xy", HFILL }}, + "ThresholdEUTRA_v1250", HFILL }}, { &hf_lte_rrc_c1_ReportOnLeave_r12, { "c1-ReportOnLeave-r12", "lte-rrc.c1_ReportOnLeave_r12", FT_BOOLEAN, BASE_NONE, NULL, 0, @@ -50791,36 +53270,44 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_alternativeTimeToTrigger_r12, { "alternativeTimeToTrigger-r12", "lte-rrc.alternativeTimeToTrigger_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alternativeTimeToTrigger_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_setup_61, + { "setup", "lte-rrc.setup", FT_UINT32, BASE_DEC, VALS(lte_rrc_TimeToTrigger_vals), 0, "TimeToTrigger", HFILL }}, { &hf_lte_rrc_useT312_r12, { "useT312-r12", "lte-rrc.useT312_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_useT312_r12_vals), 0, - NULL, HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_usePSCell_r12, { "usePSCell-r12", "lte-rrc.usePSCell_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_usePSCell_r12_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_aN_Threshold1_v12xy, - { "aN-Threshold1-v12xy", "lte-rrc.aN_Threshold1_v12xy", - FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, - { &hf_lte_rrc_a5_Threshold2_v12xy, - { "a5-Threshold2-v12xy", "lte-rrc.a5_Threshold2_v12xy", - FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_lte_rrc_aN_Threshold1_v1250, + { "aN-Threshold1-v1250", "lte-rrc.aN_Threshold1_v1250", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_RangeConfig_r12_vals), 0, + "RSRQ_RangeConfig_r12", HFILL }}, + { &hf_lte_rrc_a5_Threshold2_v1250, + { "a5-Threshold2-v1250", "lte-rrc.a5_Threshold2_v1250", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRQ_RangeConfig_r12_vals), 0, + "RSRQ_RangeConfig_r12", HFILL }}, { &hf_lte_rrc_reportStrongestCSI_RSs_r12, { "reportStrongestCSI-RSs-r12", "lte-rrc.reportStrongestCSI_RSs_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_reportStrongestCSI_RSs_r12_vals), 0, - NULL, HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_reportCRS_Meas_r12, { "reportCRS-Meas-r12", "lte-rrc.reportCRS_Meas_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_reportCRS_Meas_r12_vals), 0, - NULL, HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_triggerQuantityCSI_RS_r12, { "triggerQuantityCSI-RS-r12", "lte-rrc.triggerQuantityCSI_RS_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_triggerQuantityCSI_RS_r12_vals), 0, - NULL, HFILL }}, + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_lte_rrc_setup_62, + { "setup", "lte-rrc.setup", + FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, + "RSRQ_Range_v1250", HFILL }}, { &hf_lte_rrc_threshold_RSRP, { "threshold-RSRP", "lte-rrc.threshold_RSRP", FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_threshold_RSRP_vals_ext, 0, @@ -50909,10 +53396,10 @@ void proto_register_lte_rrc(void) { { "includeLocationInfo-r11", "lte-rrc.includeLocationInfo_r11", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, - { &hf_lte_rrc_b2_Threshold1_v12xy, - { "b2-Threshold1-v12xy", "lte-rrc.b2_Threshold1_v12xy", - FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + { &hf_lte_rrc_b2_Threshold1_v1250, + { "b2-Threshold1-v1250", "lte-rrc.b2_Threshold1_v1250", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_b2_Threshold1_v1250_vals), 0, + NULL, HFILL }}, { &hf_lte_rrc_utra_RSCP_01, { "utra-RSCP", "lte-rrc.utra_RSCP", FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_thresholdUTRA_RSCP_vals_ext, 0, @@ -50937,6 +53424,14 @@ void proto_register_lte_rrc(void) { { "reportConfigInterRAT", "lte-rrc.reportConfigInterRAT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_allSymbols_r12, + { "allSymbols-r12", "lte-rrc.allSymbols_r12", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_lte_rrc_wideBand_r12, + { "wideBand-r12", "lte-rrc.wideBand_r12", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, { &hf_lte_rrc_cellGlobalIdList_r10, { "cellGlobalIdList-r10", "lte-rrc.cellGlobalIdList_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -51001,10 +53496,10 @@ void proto_register_lte_rrc(void) { { "obtainLocationConfig-r11", "lte-rrc.obtainLocationConfig_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_idc_Indication_r11, + { &hf_lte_rrc_idc_Indication_r11_01, { "idc-Indication-r11", "lte-rrc.idc_Indication_r11", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_idc_Indication_r11_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_idc_Indication_r11_01_vals), 0, + "T_idc_Indication_r11_01", HFILL }}, { &hf_lte_rrc_autonomousDenialParameters_r11, { "autonomousDenialParameters-r11", "lte-rrc.autonomousDenialParameters_r11_element", FT_NONE, BASE_NONE, NULL, 0, @@ -51021,7 +53516,7 @@ void proto_register_lte_rrc(void) { { "obtainLocation-r11", "lte-rrc.obtainLocation_r11", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_obtainLocation_r11_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_setup_57, + { &hf_lte_rrc_setup_63, { "setup", "lte-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "T_setup_54", HFILL }}, @@ -51121,7 +53616,7 @@ void proto_register_lte_rrc(void) { { "cdma2000-1xRTT", "lte-rrc.cdma2000_1xRTT_element", FT_NONE, BASE_NONE, NULL, 0, "IRAT_ParametersCDMA2000_1XRTT", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_124, + { &hf_lte_rrc_nonCriticalExtension_132, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v920_IEs", HFILL }}, @@ -51137,7 +53632,7 @@ void proto_register_lte_rrc(void) { { "tdd-Add-UE-EUTRA-Capabilities-r9", "lte-rrc.tdd_Add_UE_EUTRA_Capabilities_r9_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_CapabilityAddXDD_Mode_r9", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_125, + { &hf_lte_rrc_nonCriticalExtension_133, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v9c0_IEs", HFILL }}, @@ -51145,7 +53640,7 @@ void proto_register_lte_rrc(void) { { "interRAT-ParametersUTRA-v9c0", "lte-rrc.interRAT_ParametersUTRA_v9c0_element", FT_NONE, BASE_NONE, NULL, 0, "IRAT_ParametersUTRA_v9c0", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_126, + { &hf_lte_rrc_nonCriticalExtension_134, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v9d0_IEs", HFILL }}, @@ -51153,7 +53648,7 @@ void proto_register_lte_rrc(void) { { "phyLayerParameters-v9d0", "lte-rrc.phyLayerParameters_v9d0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_127, + { &hf_lte_rrc_nonCriticalExtension_135, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v9e0_IEs", HFILL }}, @@ -51161,7 +53656,7 @@ void proto_register_lte_rrc(void) { { "rf-Parameters-v9e0", "lte-rrc.rf_Parameters_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_128, + { &hf_lte_rrc_nonCriticalExtension_136, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v9h0_IEs", HFILL }}, @@ -51169,7 +53664,7 @@ void proto_register_lte_rrc(void) { { "interRAT-ParametersUTRA-v9h0", "lte-rrc.interRAT_ParametersUTRA_v9h0_element", FT_NONE, BASE_NONE, NULL, 0, "IRAT_ParametersUTRA_v9h0", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_129, + { &hf_lte_rrc_nonCriticalExtension_137, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v10c0_IEs", HFILL }}, @@ -51177,7 +53672,7 @@ void proto_register_lte_rrc(void) { { "otdoa-PositioningCapabilities-r10", "lte-rrc.otdoa_PositioningCapabilities_r10_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_130, + { &hf_lte_rrc_nonCriticalExtension_138, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v10f0_IEs", HFILL }}, @@ -51185,10 +53680,10 @@ void proto_register_lte_rrc(void) { { "rf-Parameters-v10f0", "lte-rrc.rf_Parameters_v10f0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_131, + { &hf_lte_rrc_nonCriticalExtension_139, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_48", HFILL }}, + "T_nonCriticalExtension_53", HFILL }}, { &hf_lte_rrc_phyLayerParameters_v920, { "phyLayerParameters-v920", "lte-rrc.phyLayerParameters_v920_element", FT_NONE, BASE_NONE, NULL, 0, @@ -51221,7 +53716,7 @@ void proto_register_lte_rrc(void) { { "son-Parameters-r9", "lte-rrc.son_Parameters_r9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_132, + { &hf_lte_rrc_nonCriticalExtension_140, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v940_IEs", HFILL }}, @@ -51229,7 +53724,7 @@ void proto_register_lte_rrc(void) { { "lateNonCriticalExtension", "lte-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "T_lateNonCriticalExtension_06", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_133, + { &hf_lte_rrc_nonCriticalExtension_141, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1020_IEs", HFILL }}, @@ -51265,7 +53760,7 @@ void proto_register_lte_rrc(void) { { "interRAT-ParametersUTRA-TDD-v1020", "lte-rrc.interRAT_ParametersUTRA_TDD_v1020_element", FT_NONE, BASE_NONE, NULL, 0, "IRAT_ParametersUTRA_TDD_v1020", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_134, + { &hf_lte_rrc_nonCriticalExtension_142, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1060_IEs", HFILL }}, @@ -51281,7 +53776,7 @@ void proto_register_lte_rrc(void) { { "rf-Parameters-v1060", "lte-rrc.rf_Parameters_v1060_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_135, + { &hf_lte_rrc_nonCriticalExtension_143, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1090_IEs", HFILL }}, @@ -51289,7 +53784,7 @@ void proto_register_lte_rrc(void) { { "rf-Parameters-v1090", "lte-rrc.rf_Parameters_v1090_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_136, + { &hf_lte_rrc_nonCriticalExtension_144, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1130_IEs", HFILL }}, @@ -51325,7 +53820,7 @@ void proto_register_lte_rrc(void) { { "tdd-Add-UE-EUTRA-Capabilities-v1130", "lte-rrc.tdd_Add_UE_EUTRA_Capabilities_v1130_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_CapabilityAddXDD_Mode_v1130", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_137, + { &hf_lte_rrc_nonCriticalExtension_145, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1170_IEs", HFILL }}, @@ -51337,7 +53832,7 @@ void proto_register_lte_rrc(void) { { "ue-Category-v1170", "lte-rrc.ue_Category_v1170", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_9_10", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_138, + { &hf_lte_rrc_nonCriticalExtension_146, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v1180_IEs", HFILL }}, @@ -51357,7 +53852,7 @@ void proto_register_lte_rrc(void) { { "tdd-Add-UE-EUTRA-Capabilities-v1180", "lte-rrc.tdd_Add_UE_EUTRA_Capabilities_v1180_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_CapabilityAddXDD_Mode_v1180", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_139, + { &hf_lte_rrc_nonCriticalExtension_147, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_EUTRA_Capability_v11a0_IEs", HFILL }}, @@ -51369,62 +53864,70 @@ void proto_register_lte_rrc(void) { { "measParameters-v11a0", "lte-rrc.measParameters_v11a0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_140, + { &hf_lte_rrc_nonCriticalExtension_148, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "UE_EUTRA_Capability_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_phyLayerParameters_v12xy, - { "phyLayerParameters-v12xy", "lte-rrc.phyLayerParameters_v12xy_element", + "UE_EUTRA_Capability_v1250_IEs", HFILL }}, + { &hf_lte_rrc_phyLayerParameters_v1250, + { "phyLayerParameters-v1250", "lte-rrc.phyLayerParameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_rf_Parameters_v12xy, - { "rf-Parameters-v12xy", "lte-rrc.rf_Parameters_v12xy_element", + { &hf_lte_rrc_rf_Parameters_v1250, + { "rf-Parameters-v1250", "lte-rrc.rf_Parameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_rlc_Parameters_r12, { "rlc-Parameters-r12", "lte-rrc.rlc_Parameters_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v12xy, - { "ue-BasedNetwPerfMeasParameters-v12xy", "lte-rrc.ue_BasedNetwPerfMeasParameters_v12xy_element", + { &hf_lte_rrc_ue_BasedNetwPerfMeasParameters_v1250, + { "ue-BasedNetwPerfMeasParameters-v1250", "lte-rrc.ue_BasedNetwPerfMeasParameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_ue_Category_v12xy, - { "ue-Category-v12xy", "lte-rrc.ue_Category_v12xy", + { &hf_lte_rrc_ue_CategoryDL_r12, + { "ue-CategoryDL-r12", "lte-rrc.ue_CategoryDL_r12", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_15", HFILL }}, + "INTEGER_0_14", HFILL }}, + { &hf_lte_rrc_ue_CategoryUL_r12, + { "ue-CategoryUL-r12", "lte-rrc.ue_CategoryUL_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_13", HFILL }}, { &hf_lte_rrc_wlan_IW_Parameters_r12, { "wlan-IW-Parameters-r12", "lte-rrc.wlan_IW_Parameters_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_measParameters_v12xy, - { "measParameters-v12xy", "lte-rrc.measParameters_v12xy_element", + { &hf_lte_rrc_measParameters_v1250, + { "measParameters-v1250", "lte-rrc.measParameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_dc_Parameters_r12, { "dc-Parameters-r12", "lte-rrc.dc_Parameters_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_mbms_Parameters_v12xy, - { "mbms-Parameters-v12xy", "lte-rrc.mbms_Parameters_v12xy_element", + { &hf_lte_rrc_mbms_Parameters_v1250, + { "mbms-Parameters-v1250", "lte-rrc.mbms_Parameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_mac_Parameters_r12, { "mac-Parameters-r12", "lte-rrc.mac_Parameters_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v12xy, - { "fdd-Add-UE-EUTRA-Capabilities-v12xy", "lte-rrc.fdd_Add_UE_EUTRA_Capabilities_v12xy_element", + { &hf_lte_rrc_fdd_Add_UE_EUTRA_Capabilities_v1250, + { "fdd-Add-UE-EUTRA-Capabilities-v1250", "lte-rrc.fdd_Add_UE_EUTRA_Capabilities_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "UE_EUTRA_CapabilityAddXDD_Mode_v12xy", HFILL }}, - { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v12xy, - { "tdd-Add-UE-EUTRA-Capabilities-v12xy", "lte-rrc.tdd_Add_UE_EUTRA_Capabilities_v12xy_element", + "UE_EUTRA_CapabilityAddXDD_Mode_v1250", HFILL }}, + { &hf_lte_rrc_tdd_Add_UE_EUTRA_Capabilities_v1250, + { "tdd-Add-UE-EUTRA-Capabilities-v1250", "lte-rrc.tdd_Add_UE_EUTRA_Capabilities_v1250_element", FT_NONE, BASE_NONE, NULL, 0, - "UE_EUTRA_CapabilityAddXDD_Mode_v12xy", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_141, + "UE_EUTRA_CapabilityAddXDD_Mode_v1250", HFILL }}, + { &hf_lte_rrc_sl_Parameters_r12, + { "sl-Parameters-r12", "lte-rrc.sl_Parameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_nonCriticalExtension_149, { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_49", HFILL }}, + "T_nonCriticalExtension_54", HFILL }}, { &hf_lte_rrc_phyLayerParameters_r9, { "phyLayerParameters-r9", "lte-rrc.phyLayerParameters_r9_element", FT_NONE, BASE_NONE, NULL, 0, @@ -51473,10 +53976,6 @@ void proto_register_lte_rrc(void) { { "drb-TypeSCG-r12", "lte-rrc.drb_TypeSCG_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_drb_TypeSCG_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_singleDuplexModeCG_r12, - { "singleDuplexModeCG-r12", "lte-rrc.singleDuplexModeCG_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_singleDuplexModeCG_r12_vals), 0, - NULL, HFILL }}, { &hf_lte_rrc_logicalChannelSR_ProhibitTimer_r12_01, { "logicalChannelSR-ProhibitTimer-r12", "lte-rrc.logicalChannelSR_ProhibitTimer_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_logicalChannelSR_ProhibitTimer_r12_01_vals), 0, @@ -51601,13 +54100,13 @@ void proto_register_lte_rrc(void) { { "tdd-FDD-CA-PCellDuplex-r12", "lte-rrc.tdd_FDD_CA_PCellDuplex_r12", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_phy_TDD_ReConfig_TDDPCell_r12, - { "phy-TDD-ReConfig-TDDPCell-r12", "lte-rrc.phy_TDD_ReConfig_TDDPCell_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phy_TDD_ReConfig_TDDPCell_r12_vals), 0, + { &hf_lte_rrc_phy_TDD_ReConfig_TDD_PCell_r12, + { "phy-TDD-ReConfig-TDD-PCell-r12", "lte-rrc.phy_TDD_ReConfig_TDD_PCell_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phy_TDD_ReConfig_TDD_PCell_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_phy_TDD_ReConfig_FDDPCell_r12, - { "phy-TDD-ReConfig-FDDPCell-r12", "lte-rrc.phy_TDD_ReConfig_FDDPCell_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phy_TDD_ReConfig_FDDPCell_r12_vals), 0, + { &hf_lte_rrc_phy_TDD_ReConfig_FDD_PCell_r12, + { "phy-TDD-ReConfig-FDD-PCell-r12", "lte-rrc.phy_TDD_ReConfig_FDD_PCell_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_phy_TDD_ReConfig_FDD_PCell_r12_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_pusch_FeedbackMode_r12, { "pusch-FeedbackMode-r12", "lte-rrc.pusch_FeedbackMode_r12", @@ -51685,18 +54184,22 @@ void proto_register_lte_rrc(void) { { "supportedBandCombinationAdd-r11", "lte-rrc.supportedBandCombinationAdd_r11", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_supportedBandListEUTRA_v12xy, - { "supportedBandListEUTRA-v12xy", "lte-rrc.supportedBandListEUTRA_v12xy", + { &hf_lte_rrc_supportedBandListEUTRA_v1250, + { "supportedBandListEUTRA-v1250", "lte-rrc.supportedBandListEUTRA_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_supportedBandCombination_v12xy, - { "supportedBandCombination-v12xy", "lte-rrc.supportedBandCombination_v12xy", + { &hf_lte_rrc_supportedBandCombination_v1250, + { "supportedBandCombination-v1250", "lte-rrc.supportedBandCombination_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_supportedBandCombinationAdd_v12xy, - { "supportedBandCombinationAdd-v12xy", "lte-rrc.supportedBandCombinationAdd_v12xy", + { &hf_lte_rrc_supportedBandCombinationAdd_v1250, + { "supportedBandCombinationAdd-v1250", "lte-rrc.supportedBandCombinationAdd_v1250", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_lte_rrc_freqBandPriorityAdjustment_r12, + { "freqBandPriorityAdjustment-r12", "lte-rrc.freqBandPriorityAdjustment_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_freqBandPriorityAdjustment_r12_vals), 0, + "T_freqBandPriorityAdjustment_r12", HFILL }}, { &hf_lte_rrc_SupportedBandCombination_r10_item, { "BandCombinationParameters-r10", "lte-rrc.BandCombinationParameters_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -51713,16 +54216,16 @@ void proto_register_lte_rrc(void) { { "BandCombinationParameters-v1130", "lte-rrc.BandCombinationParameters_v1130_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_SupportedBandCombination_v12xy_item, - { "BandCombinationParameters-v12xy", "lte-rrc.BandCombinationParameters_v12xy_element", + { &hf_lte_rrc_SupportedBandCombination_v1250_item, + { "BandCombinationParameters-v1250", "lte-rrc.BandCombinationParameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_SupportedBandCombinationAdd_r11_item, { "BandCombinationParameters-r11", "lte-rrc.BandCombinationParameters_r11_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_SupportedBandCombinationAdd_v12xy_item, - { "BandCombinationParameters-v12xy", "lte-rrc.BandCombinationParameters_v12xy_element", + { &hf_lte_rrc_SupportedBandCombinationAdd_v1250_item, + { "BandCombinationParameters-v1250", "lte-rrc.BandCombinationParameters_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_BandCombinationParameters_r10_item, @@ -51781,22 +54284,34 @@ void proto_register_lte_rrc(void) { { "dc-Support-r12", "lte-rrc.dc_Support_r12_element", FT_NONE, BASE_NONE, NULL, 0, "T_dc_Support_r12", HFILL }}, - { &hf_lte_rrc_supported_r12, - { "supported-r12", "lte-rrc.supported_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_lte_rrc_asynchronous_r12, { "asynchronous-r12", "lte-rrc.asynchronous_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_asynchronous_r12_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_supportedCellGrouping_r12, { "supportedCellGrouping-r12", "lte-rrc.supportedCellGrouping_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_supportedCellGrouping_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_threeEntries_r12, + { "threeEntries-r12", "lte-rrc.threeEntries_r12", FT_BYTES, BASE_NONE, NULL, 0, - "BIT_STRING_SIZE_1_15", HFILL }}, + "BIT_STRING_SIZE_3", HFILL }}, + { &hf_lte_rrc_fourEntries_r12, + { "fourEntries-r12", "lte-rrc.fourEntries_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_7", HFILL }}, + { &hf_lte_rrc_fiveEntries_r12, + { "fiveEntries-r12", "lte-rrc.fiveEntries_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_15", HFILL }}, { &hf_lte_rrc_supportedNAICS_2CRS_AP_r12, { "supportedNAICS-2CRS-AP-r12", "lte-rrc.supportedNAICS_2CRS_AP_r12", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_maxNAICS_Entries_r12", HFILL }}, + { &hf_lte_rrc_commSupportedBandsPerBC_r12, + { "commSupportedBandsPerBC-r12", "lte-rrc.commSupportedBandsPerBC_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_1_maxBands", HFILL }}, { &hf_lte_rrc_bandEUTRA_r10, { "bandEUTRA-r10", "lte-rrc.bandEUTRA_r10", FT_UINT32, BASE_DEC, NULL, 0, @@ -51865,8 +54380,8 @@ void proto_register_lte_rrc(void) { { "SupportedBandEUTRA-v9e0", "lte-rrc.SupportedBandEUTRA_v9e0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_SupportedBandListEUTRA_v12xy_item, - { "SupportedBandEUTRA-v12xy", "lte-rrc.SupportedBandEUTRA_v12xy_element", + { &hf_lte_rrc_SupportedBandListEUTRA_v1250_item, + { "SupportedBandEUTRA-v1250", "lte-rrc.SupportedBandEUTRA_v1250_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_lte_rrc_bandEUTRA, @@ -51885,6 +54400,10 @@ void proto_register_lte_rrc(void) { { "dl-256QAM-r12", "lte-rrc.dl_256QAM_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dl_256QAM_r12_vals), 0, NULL, HFILL }}, + { &hf_lte_rrc_ul_64QAM_r12, + { "ul-64QAM-r12", "lte-rrc.ul_64QAM_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ul_64QAM_r12_vals), 0, + NULL, HFILL }}, { &hf_lte_rrc_bandListEUTRA, { "bandListEUTRA", "lte-rrc.bandListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, @@ -51907,8 +54426,8 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_alternativeTimeToTrigger_r12_01, { "alternativeTimeToTrigger-r12", "lte-rrc.alternativeTimeToTrigger_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alternativeTimeToTrigger_r12_vals), 0, - NULL, HFILL }}, + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_alternativeTimeToTrigger_r12_01_vals), 0, + "T_alternativeTimeToTrigger_r12_01", HFILL }}, { &hf_lte_rrc_incMonEUTRA_r12, { "incMonEUTRA-r12", "lte-rrc.incMonEUTRA_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_incMonEUTRA_r12_vals), 0, @@ -51925,9 +54444,9 @@ void proto_register_lte_rrc(void) { { "extendedRSRQ-LowerRange-r12", "lte-rrc.extendedRSRQ_LowerRange_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_extendedRSRQ_LowerRange_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_rsrqOnAllSymbols_r12, - { "rsrqOnAllSymbols-r12", "lte-rrc.rsrqOnAllSymbols_r12", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_rsrqOnAllSymbols_r12_vals), 0, + { &hf_lte_rrc_rsrq_OnAllSymbols_r12, + { "rsrq-OnAllSymbols-r12", "lte-rrc.rsrq_OnAllSymbols_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_rsrq_OnAllSymbols_r12_vals), 0, NULL, HFILL }}, { &hf_lte_rrc_crs_DiscoverySignalsMeas_r12, { "crs-DiscoverySignalsMeas-r12", "lte-rrc.crs_DiscoverySignalsMeas_r12", @@ -52189,16 +54708,56 @@ void proto_register_lte_rrc(void) { { "NAICS-Capability-Entry-r12", "lte-rrc.NAICS_Capability_Entry_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_numberOfNAICSCapableCC_r12, - { "numberOfNAICSCapableCC-r12", "lte-rrc.numberOfNAICSCapableCC_r12", + { &hf_lte_rrc_numberOfNAICS_CapableCC_r12, + { "numberOfNAICS-CapableCC-r12", "lte-rrc.numberOfNAICS_CapableCC_r12", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_5", HFILL }}, { &hf_lte_rrc_numberOfAggregatedPRB_r12, { "numberOfAggregatedPRB-r12", "lte-rrc.numberOfAggregatedPRB_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_numberOfAggregatedPRB_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_ue_Category_v12xy_01, - { "ue-Category-v12xy", "lte-rrc.ue_Category_v12xy", + { &hf_lte_rrc_commSimultaneousTx_r12, + { "commSimultaneousTx-r12", "lte-rrc.commSimultaneousTx_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_commSimultaneousTx_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_commSupportedBands_r12, + { "commSupportedBands-r12", "lte-rrc.commSupportedBands_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "FreqBandIndicatorListEUTRA_r12", HFILL }}, + { &hf_lte_rrc_discSupportedBands_r12, + { "discSupportedBands-r12", "lte-rrc.discSupportedBands_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SupportedBandInfoList_r12", HFILL }}, + { &hf_lte_rrc_discScheduledResourceAlloc_r12, + { "discScheduledResourceAlloc-r12", "lte-rrc.discScheduledResourceAlloc_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discScheduledResourceAlloc_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_disc_UE_SelectedResourceAlloc_r12, + { "disc-UE-SelectedResourceAlloc-r12", "lte-rrc.disc_UE_SelectedResourceAlloc_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_disc_UE_SelectedResourceAlloc_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_disc_SLSS_r12, + { "disc-SLSS-r12", "lte-rrc.disc_SLSS_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_disc_SLSS_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_discSupportedProc_r12, + { "discSupportedProc-r12", "lte-rrc.discSupportedProc_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discSupportedProc_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_SupportedBandInfoList_r12_item, + { "SupportedBandInfo-r12", "lte-rrc.SupportedBandInfo_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_support_r12, + { "support-r12", "lte-rrc.support_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_support_r12_vals), 0, + "T_support_r12", HFILL }}, + { &hf_lte_rrc_FreqBandIndicatorListEUTRA_r12_item, + { "FreqBandIndicator-r11", "lte-rrc.FreqBandIndicator_r11", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_ue_Category_v1250, + { "ue-Category-v1250", "lte-rrc.ue_Category_v1250", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0", HFILL }}, { &hf_lte_rrc_t300, @@ -52323,20 +54882,20 @@ void proto_register_lte_rrc(void) { NULL, HFILL }}, { &hf_lte_rrc_thresholdBackhaulDL_BandwidthLow_r12, { "thresholdBackhaulDL-BandwidthLow-r12", "lte-rrc.thresholdBackhaulDL_BandwidthLow_r12", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_vals_ext, 0, - "WLAN_backhaulRate", HFILL }}, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_r12_vals_ext, 0, + "WLAN_backhaulRate_r12", HFILL }}, { &hf_lte_rrc_thresholdBackhaulDL_BandwidthHigh_r12, { "thresholdBackhaulDL-BandwidthHigh-r12", "lte-rrc.thresholdBackhaulDL_BandwidthHigh_r12", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_vals_ext, 0, - "WLAN_backhaulRate", HFILL }}, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_r12_vals_ext, 0, + "WLAN_backhaulRate_r12", HFILL }}, { &hf_lte_rrc_thresholdBackhaulUL_BandwidthLow_r12, { "thresholdBackhaulUL-BandwidthLow-r12", "lte-rrc.thresholdBackhaulUL_BandwidthLow_r12", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_vals_ext, 0, - "WLAN_backhaulRate", HFILL }}, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_r12_vals_ext, 0, + "WLAN_backhaulRate_r12", HFILL }}, { &hf_lte_rrc_thresholdBackhaulUL_BandwidthHigh_r12, { "thresholdBackhaulUL-BandwidthHigh-r12", "lte-rrc.thresholdBackhaulUL_BandwidthHigh_r12", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_vals_ext, 0, - "WLAN_backhaulRate", HFILL }}, + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_WLAN_backhaulRate_r12_vals_ext, 0, + "WLAN_backhaulRate_r12", HFILL }}, { &hf_lte_rrc_thresholdBeaconRSSI_r12, { "thresholdBeaconRSSI-r12", "lte-rrc.thresholdBeaconRSSI_r12_element", FT_NONE, BASE_NONE, NULL, 0, @@ -52376,7 +54935,7 @@ void proto_register_lte_rrc(void) { { &hf_lte_rrc_mbsfn_AreaId_r9, { "mbsfn-AreaId-r9", "lte-rrc.mbsfn_AreaId_r9", FT_UINT32, BASE_DEC, NULL, 0, - "INTEGER_0_255", HFILL }}, + "MBSFN_AreaId_r12", HFILL }}, { &hf_lte_rrc_non_MBSFNregionLength, { "non-MBSFNregionLength", "lte-rrc.non_MBSFNregionLength", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_non_MBSFNregionLength_vals), 0, @@ -52489,12 +55048,12 @@ void proto_register_lte_rrc(void) { { "dataMCS-r12", "lte-rrc.dataMCS_r12", FT_UINT32, BASE_DEC, VALS(lte_rrc_T_dataMCS_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_t1_r12, - { "t1-r12", "lte-rrc.t1_r12", + { &hf_lte_rrc_normal_r12, + { "normal-r12", "lte-rrc.normal_r12", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_28", HFILL }}, - { &hf_lte_rrc_t2_r12, - { "t2-r12", "lte-rrc.t2_r12", + { &hf_lte_rrc_higerOrder_r12, + { "higerOrder-r12", "lte-rrc.higerOrder_r12", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_27", HFILL }}, { &hf_lte_rrc_mch_SchedulingPeriod_r12, @@ -52517,265 +55076,429 @@ void proto_register_lte_rrc(void) { { "serviceId-r9", "lte-rrc.serviceId_r9", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING_SIZE_3", HFILL }}, - { &hf_lte_rrc_criticalExtensions_39, - { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_39_vals), 0, - "T_criticalExtensions_39", HFILL }}, - { &hf_lte_rrc_c1_35, - { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_35_vals), 0, - "T_c1_35", HFILL }}, - { &hf_lte_rrc_handoverCommand_r8, - { "handoverCommand-r8", "lte-rrc.handoverCommand_r8_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverCommand_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_39, - { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_39", HFILL }}, - { &hf_lte_rrc_handoverCommandMessage, - { "handoverCommandMessage", "lte-rrc.handoverCommandMessage", - FT_BYTES, BASE_NONE, NULL, 0, + { &hf_lte_rrc_commTxResources_r12, + { "commTxResources-r12", "lte-rrc.commTxResources_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_commTxResources_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_142, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_50", HFILL }}, - { &hf_lte_rrc_criticalExtensions_40, - { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_40_vals), 0, - "T_criticalExtensions_40", HFILL }}, - { &hf_lte_rrc_c1_36, - { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_36_vals), 0, - "T_c1_36", HFILL }}, - { &hf_lte_rrc_handoverPreparationInformation_r8, - { "handoverPreparationInformation-r8", "lte-rrc.handoverPreparationInformation_r8_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_40, - { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_40", HFILL }}, - { &hf_lte_rrc_ue_RadioAccessCapabilityInfo, - { "ue-RadioAccessCapabilityInfo", "lte-rrc.ue_RadioAccessCapabilityInfo", - FT_UINT32, BASE_DEC, NULL, 0, - "UE_CapabilityRAT_ContainerList", HFILL }}, - { &hf_lte_rrc_as_Config, - { "as-Config", "lte-rrc.as_Config_element", + { &hf_lte_rrc_setup_64, + { "setup", "lte-rrc.setup", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_setup_55_vals), 0, + "T_setup_55", HFILL }}, + { &hf_lte_rrc_scheduled_r12, + { "scheduled-r12", "lte-rrc.scheduled_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_rrm_Config, - { "rrm-Config", "lte-rrc.rrm_Config_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_as_Context, - { "as-Context", "lte-rrc.as_Context_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_143, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_v920_IEs", HFILL }}, - { &hf_lte_rrc_ue_ConfigRelease_r9, - { "ue-ConfigRelease-r9", "lte-rrc.ue_ConfigRelease_r9", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_ue_ConfigRelease_r9_vals), 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_144, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_v9d0_IEs", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_145, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_v9e0_IEs", HFILL }}, - { &hf_lte_rrc_as_Config_v9e0, - { "as-Config-v9e0", "lte-rrc.as_Config_v9e0_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_146, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_v1130_IEs", HFILL }}, - { &hf_lte_rrc_as_Context_v1130, - { "as-Context-v1130", "lte-rrc.as_Context_v1130_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_147, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "HandoverPreparationInformation_v12xy_IEs", HFILL }}, - { &hf_lte_rrc_ue_SupportedEARFCN_r12, - { "ue-SupportedEARFCN-r12", "lte-rrc.ue_SupportedEARFCN_r12", - FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueEUTRA_r9", HFILL }}, - { &hf_lte_rrc_as_Config_v12xy, - { "as-Config-v12xy", "lte-rrc.as_Config_v12xy_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_148, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_51", HFILL }}, - { &hf_lte_rrc_criticalExtensions_41, - { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_41_vals), 0, - "T_criticalExtensions_41", HFILL }}, - { &hf_lte_rrc_c1_37, - { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_37_vals), 0, - "T_c1_37", HFILL }}, - { &hf_lte_rrc_scg_Config_r12, - { "scg-Config-r12", "lte-rrc.scg_Config_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - "SCG_Config_r12_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_41, - { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_41", HFILL }}, - { &hf_lte_rrc_scg_RadioConfig_r12, - { "scg-RadioConfig-r12", "lte-rrc.scg_RadioConfig_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - "SCG_ConfigPartSCG_r12", HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_149, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_52", HFILL }}, - { &hf_lte_rrc_criticalExtensions_42, - { "criticalExtensions", "lte-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_criticalExtensions_42_vals), 0, - "T_criticalExtensions_42", HFILL }}, - { &hf_lte_rrc_c1_38, - { "c1", "lte-rrc.c1", - FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c1_38_vals), 0, - "T_c1_38", HFILL }}, - { &hf_lte_rrc_ueRadioAccessCapabilityInformation_r8, - { "ueRadioAccessCapabilityInformation-r8", "lte-rrc.ueRadioAccessCapabilityInformation_r8_element", - FT_NONE, BASE_NONE, NULL, 0, - "UERadioAccessCapabilityInformation_r8_IEs", HFILL }}, - { &hf_lte_rrc_criticalExtensionsFuture_42, - { "criticalExtensionsFuture", "lte-rrc.criticalExtensionsFuture_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_42", HFILL }}, - { &hf_lte_rrc_ue_RadioAccessCapabilityInfo_01, - { "ue-RadioAccessCapabilityInfo", "lte-rrc.ue_RadioAccessCapabilityInfo", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_nonCriticalExtension_150, - { "nonCriticalExtension", "lte-rrc.nonCriticalExtension_element", - FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_53", HFILL }}, - { &hf_lte_rrc_sourceMeasConfig, - { "sourceMeasConfig", "lte-rrc.sourceMeasConfig_element", - FT_NONE, BASE_NONE, NULL, 0, - "MeasConfig", HFILL }}, - { &hf_lte_rrc_sourceRadioResourceConfig, - { "sourceRadioResourceConfig", "lte-rrc.sourceRadioResourceConfig_element", - FT_NONE, BASE_NONE, NULL, 0, - "RadioResourceConfigDedicated", HFILL }}, - { &hf_lte_rrc_sourceSecurityAlgorithmConfig, - { "sourceSecurityAlgorithmConfig", "lte-rrc.sourceSecurityAlgorithmConfig_element", - FT_NONE, BASE_NONE, NULL, 0, - "SecurityAlgorithmConfig", HFILL }}, - { &hf_lte_rrc_sourceUE_Identity, - { "sourceUE-Identity", "lte-rrc.sourceUE_Identity", + { &hf_lte_rrc_sl_RNTI_r12, + { "sl-RNTI-r12", "lte-rrc.sl_RNTI_r12", FT_BYTES, BASE_NONE, NULL, 0, "C_RNTI", HFILL }}, - { &hf_lte_rrc_sourceMasterInformationBlock, - { "sourceMasterInformationBlock", "lte-rrc.sourceMasterInformationBlock_element", + { &hf_lte_rrc_mac_MainConfig_r12, + { "mac-MainConfig-r12", "lte-rrc.mac_MainConfig_r12_element", FT_NONE, BASE_NONE, NULL, 0, - "MasterInformationBlock", HFILL }}, - { &hf_lte_rrc_sourceSystemInformationBlockType1, - { "sourceSystemInformationBlockType1", "lte-rrc.sourceSystemInformationBlockType1_element", + "MAC_MainConfigSL_r12", HFILL }}, + { &hf_lte_rrc_commTxConfig_r12, + { "commTxConfig-r12", "lte-rrc.commTxConfig_r12_element", FT_NONE, BASE_NONE, NULL, 0, - "SystemInformationBlockType1", HFILL }}, - { &hf_lte_rrc_sourceSystemInformationBlockType2, - { "sourceSystemInformationBlockType2", "lte-rrc.sourceSystemInformationBlockType2_element", - FT_NONE, BASE_NONE, NULL, 0, - "SystemInformationBlockType2", HFILL }}, - { &hf_lte_rrc_sourceDl_CarrierFreq, - { "sourceDl-CarrierFreq", "lte-rrc.sourceDl_CarrierFreq", + "SL_CommResourcePool_r12", HFILL }}, + { &hf_lte_rrc_mcs_r12, + { "mcs-r12", "lte-rrc.mcs_r12", FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueEUTRA", HFILL }}, - { &hf_lte_rrc_sourceSystemInformationBlockType1Ext, - { "sourceSystemInformationBlockType1Ext", "lte-rrc.sourceSystemInformationBlockType1Ext", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, - { &hf_lte_rrc_sourceOtherConfig_r9, - { "sourceOtherConfig-r9", "lte-rrc.sourceOtherConfig_r9_element", - FT_NONE, BASE_NONE, NULL, 0, - "OtherConfig_r9", HFILL }}, - { &hf_lte_rrc_sourceSCellConfigList_r10, - { "sourceSCellConfigList-r10", "lte-rrc.sourceSCellConfigList_r10", - FT_UINT32, BASE_DEC, NULL, 0, - "SCellToAddModList_r10", HFILL }}, - { &hf_lte_rrc_sourceConfigSCG_r12, - { "sourceConfigSCG-r12", "lte-rrc.sourceConfigSCG_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - "SCG_Config_r12", HFILL }}, - { &hf_lte_rrc_sourceDl_CarrierFreq_v9e0, - { "sourceDl-CarrierFreq-v9e0", "lte-rrc.sourceDl_CarrierFreq_v9e0", - FT_UINT32, BASE_DEC, NULL, 0, - "ARFCN_ValueEUTRA_v9e0", HFILL }}, - { &hf_lte_rrc_sourceWlan_OffloadConfig_r12, - { "sourceWlan-OffloadConfig-r12", "lte-rrc.sourceWlan_OffloadConfig_r12_element", - FT_NONE, BASE_NONE, NULL, 0, - "WLAN_OffloadConfig_r12", HFILL }}, - { &hf_lte_rrc_reestablishmentInfo, - { "reestablishmentInfo", "lte-rrc.reestablishmentInfo_element", + "INTEGER_0_28", HFILL }}, + { &hf_lte_rrc_ue_Selected_r12, + { "ue-Selected-r12", "lte-rrc.ue_Selected_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_idc_Indication_r11_01, - { "idc-Indication-r11", "lte-rrc.idc_Indication_r11", - FT_BYTES, BASE_NONE, NULL, 0, - "T_idc_Indication_r11_01", HFILL }}, - { &hf_lte_rrc_mbmsInterestIndication_r11_01, - { "mbmsInterestIndication-r11", "lte-rrc.mbmsInterestIndication_r11", - FT_BYTES, BASE_NONE, NULL, 0, + { &hf_lte_rrc_commTxPoolNormalDedicated_r12, + { "commTxPoolNormalDedicated-r12", "lte-rrc.commTxPoolNormalDedicated_r12_element", + FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_powerPrefIndication_r11_01, - { "powerPrefIndication-r11", "lte-rrc.powerPrefIndication_r11", - FT_BYTES, BASE_NONE, NULL, 0, - "T_powerPrefIndication_r11_01", HFILL }}, - { &hf_lte_rrc_sourcePhysCellId, - { "sourcePhysCellId", "lte-rrc.sourcePhysCellId", + { &hf_lte_rrc_poolToReleaseList_r12, + { "poolToReleaseList-r12", "lte-rrc.poolToReleaseList_r12", FT_UINT32, BASE_DEC, NULL, 0, - "PhysCellId", HFILL }}, - { &hf_lte_rrc_targetCellShortMAC_I, - { "targetCellShortMAC-I", "lte-rrc.targetCellShortMAC_I", + "SL_TxPoolToReleaseList_r12", HFILL }}, + { &hf_lte_rrc_poolToAddModList_r12, + { "poolToAddModList-r12", "lte-rrc.poolToAddModList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_CommTxPoolToAddModList_r12", HFILL }}, + { &hf_lte_rrc_SL_CommTxPoolToAddModList_r12_item, + { "SL-CommTxPoolToAddMod-r12", "lte-rrc.SL_CommTxPoolToAddMod_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_poolIdentity_r12, + { "poolIdentity-r12", "lte-rrc.poolIdentity_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_TxPoolIdentity_r12", HFILL }}, + { &hf_lte_rrc_pool_r12, + { "pool-r12", "lte-rrc.pool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_CommResourcePool_r12", HFILL }}, + { &hf_lte_rrc_periodic_BSR_TimerSL, + { "periodic-BSR-TimerSL", "lte-rrc.periodic_BSR_TimerSL", + FT_UINT32, BASE_DEC, VALS(lte_rrc_PeriodicBSR_Timer_r12_vals), 0, + "PeriodicBSR_Timer_r12", HFILL }}, + { &hf_lte_rrc_retx_BSR_TimerSL, + { "retx-BSR-TimerSL", "lte-rrc.retx_BSR_TimerSL", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RetxBSR_Timer_r12_vals), 0, + "RetxBSR_Timer_r12", HFILL }}, + { &hf_lte_rrc_SL_CommTxPoolList_r12_item, + { "SL-CommResourcePool-r12", "lte-rrc.SL_CommResourcePool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_SL_CommRxPoolList_r12_item, + { "SL-CommResourcePool-r12", "lte-rrc.SL_CommResourcePool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sc_CP_Len_r12, + { "sc-CP-Len-r12", "lte-rrc.sc_CP_Len_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SL_CP_Len_r12_vals), 0, + "SL_CP_Len_r12", HFILL }}, + { &hf_lte_rrc_sc_Period_r12, + { "sc-Period-r12", "lte-rrc.sc_Period_r12", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_SL_PeriodComm_r12_vals_ext, 0, + "SL_PeriodComm_r12", HFILL }}, + { &hf_lte_rrc_sc_TF_ResourceConfig_r12, + { "sc-TF-ResourceConfig-r12", "lte-rrc.sc_TF_ResourceConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TF_ResourceConfig_r12", HFILL }}, + { &hf_lte_rrc_data_CP_Len_r12, + { "data-CP-Len-r12", "lte-rrc.data_CP_Len_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SL_CP_Len_r12_vals), 0, + "SL_CP_Len_r12", HFILL }}, + { &hf_lte_rrc_dataHoppingConfig_r12, + { "dataHoppingConfig-r12", "lte-rrc.dataHoppingConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_HoppingConfigComm_r12", HFILL }}, + { &hf_lte_rrc_ue_SelectedResourceConfig_r12, + { "ue-SelectedResourceConfig-r12", "lte-rrc.ue_SelectedResourceConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_data_TF_ResourceConfig_r12, + { "data-TF-ResourceConfig-r12", "lte-rrc.data_TF_ResourceConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TF_ResourceConfig_r12", HFILL }}, + { &hf_lte_rrc_trpt_Subset_r12, + { "trpt-Subset-r12", "lte-rrc.trpt_Subset_r12", FT_BYTES, BASE_NONE, NULL, 0, - "ShortMAC_I", HFILL }}, - { &hf_lte_rrc_additionalReestabInfoList, - { "additionalReestabInfoList", "lte-rrc.additionalReestabInfoList", + "SL_TRPT_Subset_r12", HFILL }}, + { &hf_lte_rrc_rxParametersNCell_r12, + { "rxParametersNCell-r12", "lte-rrc.rxParametersNCell_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_tdd_Config_r12, + { "tdd-Config-r12", "lte-rrc.tdd_Config_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "TDD_Config", HFILL }}, + { &hf_lte_rrc_syncConfigIndex_r12, + { "syncConfigIndex-r12", "lte-rrc.syncConfigIndex_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_15", HFILL }}, + { &hf_lte_rrc_txParameters_r12, + { "txParameters-r12", "lte-rrc.txParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sc_TxParameters_r12, + { "sc-TxParameters-r12", "lte-rrc.sc_TxParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxParameters_r12", HFILL }}, + { &hf_lte_rrc_dataTxParameters_r12, + { "dataTxParameters-r12", "lte-rrc.dataTxParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxParameters_r12", HFILL }}, + { &hf_lte_rrc_discTxResources_r12, + { "discTxResources-r12", "lte-rrc.discTxResources_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discTxResources_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_setup_65, + { "setup", "lte-rrc.setup", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_setup_56_vals), 0, + "T_setup_56", HFILL }}, + { &hf_lte_rrc_scheduled_r12_01, + { "scheduled-r12", "lte-rrc.scheduled_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_scheduled_r12_01", HFILL }}, + { &hf_lte_rrc_discTxConfig_r12, + { "discTxConfig-r12", "lte-rrc.discTxConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_DiscResourcePool_r12", HFILL }}, + { &hf_lte_rrc_discTF_IndexList_r12, + { "discTF-IndexList-r12", "lte-rrc.discTF_IndexList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_TF_IndexPairList_r12", HFILL }}, + { &hf_lte_rrc_discHoppingConfig_r12, + { "discHoppingConfig-r12", "lte-rrc.discHoppingConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_HoppingConfigDisc_r12", HFILL }}, + { &hf_lte_rrc_ue_Selected_r12_01, + { "ue-Selected-r12", "lte-rrc.ue_Selected_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_ue_Selected_r12_01", HFILL }}, + { &hf_lte_rrc_discTxPoolDedicated_r12, + { "discTxPoolDedicated-r12", "lte-rrc.discTxPoolDedicated_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_poolToAddModList_r12_01, + { "poolToAddModList-r12", "lte-rrc.poolToAddModList_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_DiscTxPoolToAddModList_r12", HFILL }}, + { &hf_lte_rrc_SL_DiscTxPoolToAddModList_r12_item, + { "SL-DiscTxPoolToAddMod-r12", "lte-rrc.SL_DiscTxPoolToAddMod_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_pool_r12_01, + { "pool-r12", "lte-rrc.pool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_DiscResourcePool_r12", HFILL }}, + { &hf_lte_rrc_SL_TF_IndexPairList_r12_item, + { "SL-TF-IndexPair-r12", "lte-rrc.SL_TF_IndexPair_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_discSF_Index_r12, + { "discSF-Index-r12", "lte-rrc.discSF_Index_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_200", HFILL }}, + { &hf_lte_rrc_discPRB_Index_r12, + { "discPRB-Index-r12", "lte-rrc.discPRB_Index_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_50", HFILL }}, + { &hf_lte_rrc_SL_DiscTxPoolList_r12_item, + { "SL-DiscResourcePool-r12", "lte-rrc.SL_DiscResourcePool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_SL_DiscRxPoolList_r12_item, + { "SL-DiscResourcePool-r12", "lte-rrc.SL_DiscResourcePool_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_cp_Len_r12, + { "cp-Len-r12", "lte-rrc.cp_Len_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SL_CP_Len_r12_vals), 0, + "SL_CP_Len_r12", HFILL }}, + { &hf_lte_rrc_discPeriod_r12, + { "discPeriod-r12", "lte-rrc.discPeriod_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discPeriod_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_numRetx_r12, + { "numRetx-r12", "lte-rrc.numRetx_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_3", HFILL }}, + { &hf_lte_rrc_numRepetition_r12, + { "numRepetition-r12", "lte-rrc.numRepetition_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_50", HFILL }}, + { &hf_lte_rrc_tf_ResourceConfig_r12, + { "tf-ResourceConfig-r12", "lte-rrc.tf_ResourceConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TF_ResourceConfig_r12", HFILL }}, + { &hf_lte_rrc_txParameters_r12_01, + { "txParameters-r12", "lte-rrc.txParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_txParameters_r12_01", HFILL }}, + { &hf_lte_rrc_txParametersGeneral_r12, + { "txParametersGeneral-r12", "lte-rrc.txParametersGeneral_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxParameters_r12", HFILL }}, + { &hf_lte_rrc_ue_SelectedResourceConfig_r12_01, + { "ue-SelectedResourceConfig-r12", "lte-rrc.ue_SelectedResourceConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_ue_SelectedResourceConfig_r12_01", HFILL }}, + { &hf_lte_rrc_poolSelection_r12, + { "poolSelection-r12", "lte-rrc.poolSelection_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_poolSelection_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_rsrpBased_r12, + { "rsrpBased-r12", "lte-rrc.rsrpBased_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_PoolSelectionConfig_r12", HFILL }}, + { &hf_lte_rrc_random_r12, + { "random-r12", "lte-rrc.random_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_txProbability_r12, + { "txProbability-r12", "lte-rrc.txProbability_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_txProbability_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_rxParameters_r12, + { "rxParameters-r12", "lte-rrc.rxParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_threshLow_r12, + { "threshLow-r12", "lte-rrc.threshLow_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRP_RangeSL2_vals), 0, + "RSRP_RangeSL2_r12", HFILL }}, + { &hf_lte_rrc_threshHigh_r12, + { "threshHigh-r12", "lte-rrc.threshHigh_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRP_RangeSL2_vals), 0, + "RSRP_RangeSL2_r12", HFILL }}, + { &hf_lte_rrc_SL_DiscTxPowerInfoList_r12_item, + { "SL-DiscTxPowerInfo-r12", "lte-rrc.SL_DiscTxPowerInfo_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_discMaxTxPower_r12, + { "discMaxTxPower-r12", "lte-rrc.discMaxTxPower_r12", + FT_INT32, BASE_DEC, NULL, 0, + "P_Max", HFILL }}, + { &hf_lte_rrc_hoppingParameter_r12, + { "hoppingParameter-r12", "lte-rrc.hoppingParameter_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_504", HFILL }}, + { &hf_lte_rrc_numSubbands_r12, + { "numSubbands-r12", "lte-rrc.numSubbands_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_numSubbands_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_rb_Offset_r12, + { "rb-Offset-r12", "lte-rrc.rb_Offset_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_110", HFILL }}, + { &hf_lte_rrc_a_r12, + { "a-r12", "lte-rrc.a_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_200", HFILL }}, + { &hf_lte_rrc_b_r12, + { "b-r12", "lte-rrc.b_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_10", HFILL }}, + { &hf_lte_rrc_c_r12, + { "c-r12", "lte-rrc.c_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_c_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_small_r12, + { "small-r12", "lte-rrc.small_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_319", HFILL }}, + { &hf_lte_rrc_large_r12, + { "large-r12", "lte-rrc.large_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_10239", HFILL }}, + { &hf_lte_rrc_SL_SyncConfigList_r12_item, + { "SL-SyncConfig-r12", "lte-rrc.SL_SyncConfig_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_syncCP_Len_r12, + { "syncCP-Len-r12", "lte-rrc.syncCP_Len_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SL_CP_Len_r12_vals), 0, + "SL_CP_Len_r12", HFILL }}, + { &hf_lte_rrc_syncOffsetIndicator_r12, + { "syncOffsetIndicator-r12", "lte-rrc.syncOffsetIndicator_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "SL_OffsetIndicatorSync_r12", HFILL }}, + { &hf_lte_rrc_slssid_r12, + { "slssid-r12", "lte-rrc.slssid_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_AdditionalReestabInfoList_item, - { "AdditionalReestabInfo", "lte-rrc.AdditionalReestabInfo_element", + { &hf_lte_rrc_txParameters_r12_02, + { "txParameters-r12", "lte-rrc.txParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_txParameters_r12_02", HFILL }}, + { &hf_lte_rrc_syncTxParameters_r12, + { "syncTxParameters-r12", "lte-rrc.syncTxParameters_r12_element", + FT_NONE, BASE_NONE, NULL, 0, + "SL_TxParameters_r12", HFILL }}, + { &hf_lte_rrc_syncTxThreshIC_r12, + { "syncTxThreshIC-r12", "lte-rrc.syncTxThreshIC_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_RSRP_RangeSL_vals), 0, + "RSRP_RangeSL_r12", HFILL }}, + { &hf_lte_rrc_syncInfoReserved_r12, + { "syncInfoReserved-r12", "lte-rrc.syncInfoReserved_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_19", HFILL }}, + { &hf_lte_rrc_rxParamsNCell_r12, + { "rxParamsNCell-r12", "lte-rrc.rxParamsNCell_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_key_eNodeB_Star, - { "key-eNodeB-Star", "lte-rrc.key_eNodeB_Star", + { &hf_lte_rrc_discSyncWindow_r12, + { "discSyncWindow-r12", "lte-rrc.discSyncWindow_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_discSyncWindow_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_prb_Num_r12, + { "prb-Num-r12", "lte-rrc.prb_Num_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_100", HFILL }}, + { &hf_lte_rrc_prb_Start_r12, + { "prb-Start-r12", "lte-rrc.prb_Start_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_99", HFILL }}, + { &hf_lte_rrc_prb_End_r12, + { "prb-End-r12", "lte-rrc.prb_End_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_99", HFILL }}, + { &hf_lte_rrc_offsetIndicator_r12, + { "offsetIndicator-r12", "lte-rrc.offsetIndicator_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SL_OffsetIndicator_r12_vals), 0, + "SL_OffsetIndicator_r12", HFILL }}, + { &hf_lte_rrc_subframeBitmap_r12, + { "subframeBitmap-r12", "lte-rrc.subframeBitmap_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_SubframeBitmapSL_r12_vals), 0, + "SubframeBitmapSL_r12", HFILL }}, + { &hf_lte_rrc_bs4_r12, + { "bs4-r12", "lte-rrc.bs4_r12", FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_4", HFILL }}, + { &hf_lte_rrc_bs8_r12, + { "bs8-r12", "lte-rrc.bs8_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_8", HFILL }}, + { &hf_lte_rrc_bs12_r12, + { "bs12-r12", "lte-rrc.bs12_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_12", HFILL }}, + { &hf_lte_rrc_bs16_r12, + { "bs16-r12", "lte-rrc.bs16_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_16", HFILL }}, + { &hf_lte_rrc_bs30_r12, + { "bs30-r12", "lte-rrc.bs30_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_30", HFILL }}, + { &hf_lte_rrc_bs40_r12, + { "bs40-r12", "lte-rrc.bs40_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_40", HFILL }}, + { &hf_lte_rrc_bs42_r12, + { "bs42-r12", "lte-rrc.bs42_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_42", HFILL }}, + { &hf_lte_rrc_alpha_r12, + { "alpha-r12", "lte-rrc.alpha_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_Alpha_r12_vals), 0, NULL, HFILL }}, - { &hf_lte_rrc_ue_InactiveTime, - { "ue-InactiveTime", "lte-rrc.ue_InactiveTime", - FT_UINT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_T_ue_InactiveTime_vals_ext, 0, - NULL, HFILL }}, - { &hf_lte_rrc_candidateCellInfoList_r10, - { "candidateCellInfoList-r10", "lte-rrc.candidateCellInfoList_r10", + { &hf_lte_rrc_p0_r12, + { "p0-r12", "lte-rrc.p0_r12", + FT_INT32, BASE_DEC, NULL, 0, + "P0_SL_r12", HFILL }}, + { &hf_lte_rrc_SL_TxPoolToReleaseList_r12_item, + { "SL-TxPoolIdentity-r12", "lte-rrc.SL_TxPoolIdentity_r12", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_CandidateCellInfoList_r10_item, - { "CandidateCellInfo-r10", "lte-rrc.CandidateCellInfo_r10_element", + { &hf_lte_rrc_message_08, + { "message", "lte-rrc.message_element", + FT_NONE, BASE_NONE, NULL, 0, + "SBCCH_SL_BCH_MessageType", HFILL }}, + { &hf_lte_rrc_sl_Bandwidth_r12, + { "sl-Bandwidth-r12", "lte-rrc.sl_Bandwidth_r12", + FT_UINT32, BASE_DEC, VALS(lte_rrc_T_sl_Bandwidth_r12_vals), 0, + NULL, HFILL }}, + { &hf_lte_rrc_tdd_ConfigSL_r12, + { "tdd-ConfigSL-r12", "lte-rrc.tdd_ConfigSL_r12_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_lte_rrc_rsrqResult_v12xy, - { "rsrqResult-v12xy", "lte-rrc.rsrqResult_v12xy", - FT_INT32, BASE_DEC|BASE_EXT_STRING, <e_rrc_RSRQ_Range_vals_ext, 0, - "RSRQ_Range_v12xy", HFILL }}, + { &hf_lte_rrc_directFrameNumber_r12, + { "directFrameNumber-r12", "lte-rrc.directFrameNumber_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_10", HFILL }}, + { &hf_lte_rrc_directSubframeNumber_r12, + { "directSubframeNumber-r12", "lte-rrc.directSubframeNumber_r12", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_9", HFILL }}, + { &hf_lte_rrc_inCoverage_r12, + { "inCoverage-r12", "lte-rrc.inCoverage_r12", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_lte_rrc_reserved_r12, + { "reserved-r12", "lte-rrc.reserved_r12", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_19", HFILL }}, /*--- End of included file: packet-lte-rrc-hfarr.c ---*/ -#line 2660 "../../asn1/lte-rrc/packet-lte-rrc-template.c" +#line 2730 "../../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", @@ -53401,91 +56124,131 @@ void proto_register_lte_rrc(void) { /*--- Included file: packet-lte-rrc-ettarr.c ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-ettarr.c" + &ett_lte_rrc_HandoverCommand, + &ett_lte_rrc_T_criticalExtensions, + &ett_lte_rrc_T_c1, + &ett_lte_rrc_T_criticalExtensionsFuture, + &ett_lte_rrc_HandoverCommand_r8_IEs, + &ett_lte_rrc_T_nonCriticalExtension, + &ett_lte_rrc_HandoverPreparationInformation, + &ett_lte_rrc_T_criticalExtensions_01, + &ett_lte_rrc_T_c1_01, + &ett_lte_rrc_T_criticalExtensionsFuture_01, + &ett_lte_rrc_HandoverPreparationInformation_r8_IEs, + &ett_lte_rrc_HandoverPreparationInformation_v920_IEs, + &ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs, + &ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs, + &ett_lte_rrc_HandoverPreparationInformation_v1130_IEs, + &ett_lte_rrc_HandoverPreparationInformation_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_01, + &ett_lte_rrc_SCG_Config_r12, + &ett_lte_rrc_T_criticalExtensions_02, + &ett_lte_rrc_T_c1_02, + &ett_lte_rrc_T_criticalExtensionsFuture_02, + &ett_lte_rrc_SCG_Config_r12_IEs, + &ett_lte_rrc_T_nonCriticalExtension_02, + &ett_lte_rrc_UERadioAccessCapabilityInformation, + &ett_lte_rrc_T_criticalExtensions_03, + &ett_lte_rrc_T_c1_03, + &ett_lte_rrc_T_criticalExtensionsFuture_03, + &ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs, + &ett_lte_rrc_T_nonCriticalExtension_03, + &ett_lte_rrc_AS_Config, + &ett_lte_rrc_AS_Config_v9e0, + &ett_lte_rrc_AS_Config_v1250, + &ett_lte_rrc_AS_Context, + &ett_lte_rrc_AS_Context_v1130, + &ett_lte_rrc_ReestablishmentInfo, + &ett_lte_rrc_AdditionalReestabInfoList, + &ett_lte_rrc_AdditionalReestabInfo, + &ett_lte_rrc_RRM_Config, + &ett_lte_rrc_CandidateCellInfoList_r10, + &ett_lte_rrc_CandidateCellInfo_r10, &ett_lte_rrc_BCCH_BCH_Message, &ett_lte_rrc_BCCH_DL_SCH_Message, &ett_lte_rrc_BCCH_DL_SCH_MessageType, - &ett_lte_rrc_T_c1, + &ett_lte_rrc_T_c1_04, &ett_lte_rrc_T_messageClassExtension, &ett_lte_rrc_MCCH_Message, &ett_lte_rrc_MCCH_MessageType, - &ett_lte_rrc_T_c1_01, + &ett_lte_rrc_T_c1_05, &ett_lte_rrc_T_later, &ett_lte_rrc_T_c2, &ett_lte_rrc_T_messageClassExtension_01, &ett_lte_rrc_PCCH_Message, &ett_lte_rrc_PCCH_MessageType, - &ett_lte_rrc_T_c1_02, + &ett_lte_rrc_T_c1_06, &ett_lte_rrc_T_messageClassExtension_02, &ett_lte_rrc_DL_CCCH_Message, &ett_lte_rrc_DL_CCCH_MessageType, - &ett_lte_rrc_T_c1_03, + &ett_lte_rrc_T_c1_07, &ett_lte_rrc_T_messageClassExtension_03, &ett_lte_rrc_DL_DCCH_Message, &ett_lte_rrc_DL_DCCH_MessageType, - &ett_lte_rrc_T_c1_04, + &ett_lte_rrc_T_c1_08, &ett_lte_rrc_T_messageClassExtension_04, &ett_lte_rrc_UL_CCCH_Message, &ett_lte_rrc_UL_CCCH_MessageType, - &ett_lte_rrc_T_c1_05, + &ett_lte_rrc_T_c1_09, &ett_lte_rrc_T_messageClassExtension_05, &ett_lte_rrc_UL_DCCH_Message, &ett_lte_rrc_UL_DCCH_MessageType, - &ett_lte_rrc_T_c1_06, + &ett_lte_rrc_T_c1_10, &ett_lte_rrc_T_messageClassExtension_06, &ett_lte_rrc_T_c2_01, &ett_lte_rrc_T_messageClassExtensionFuture_r11, &ett_lte_rrc_CounterCheck, - &ett_lte_rrc_T_criticalExtensions, - &ett_lte_rrc_T_c1_07, - &ett_lte_rrc_T_criticalExtensionsFuture, + &ett_lte_rrc_T_criticalExtensions_04, + &ett_lte_rrc_T_c1_11, + &ett_lte_rrc_T_criticalExtensionsFuture_04, &ett_lte_rrc_CounterCheck_r8_IEs, &ett_lte_rrc_CounterCheck_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension, + &ett_lte_rrc_T_nonCriticalExtension_04, &ett_lte_rrc_DRB_CountMSB_InfoList, &ett_lte_rrc_DRB_CountMSB_Info, &ett_lte_rrc_CounterCheckResponse, - &ett_lte_rrc_T_criticalExtensions_01, - &ett_lte_rrc_T_criticalExtensionsFuture_01, + &ett_lte_rrc_T_criticalExtensions_05, + &ett_lte_rrc_T_criticalExtensionsFuture_05, &ett_lte_rrc_CounterCheckResponse_r8_IEs, &ett_lte_rrc_CounterCheckResponse_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_01, + &ett_lte_rrc_T_nonCriticalExtension_05, &ett_lte_rrc_DRB_CountInfoList, &ett_lte_rrc_DRB_CountInfo, &ett_lte_rrc_CSFBParametersRequestCDMA2000, - &ett_lte_rrc_T_criticalExtensions_02, - &ett_lte_rrc_T_criticalExtensionsFuture_02, + &ett_lte_rrc_T_criticalExtensions_06, + &ett_lte_rrc_T_criticalExtensionsFuture_06, &ett_lte_rrc_CSFBParametersRequestCDMA2000_r8_IEs, &ett_lte_rrc_CSFBParametersRequestCDMA2000_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_02, + &ett_lte_rrc_T_nonCriticalExtension_06, &ett_lte_rrc_CSFBParametersResponseCDMA2000, - &ett_lte_rrc_T_criticalExtensions_03, - &ett_lte_rrc_T_criticalExtensionsFuture_03, + &ett_lte_rrc_T_criticalExtensions_07, + &ett_lte_rrc_T_criticalExtensionsFuture_07, &ett_lte_rrc_CSFBParametersResponseCDMA2000_r8_IEs, &ett_lte_rrc_CSFBParametersResponseCDMA2000_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_03, + &ett_lte_rrc_T_nonCriticalExtension_07, &ett_lte_rrc_DLInformationTransfer, - &ett_lte_rrc_T_criticalExtensions_04, - &ett_lte_rrc_T_c1_08, - &ett_lte_rrc_T_criticalExtensionsFuture_04, + &ett_lte_rrc_T_criticalExtensions_08, + &ett_lte_rrc_T_c1_12, + &ett_lte_rrc_T_criticalExtensionsFuture_08, &ett_lte_rrc_DLInformationTransfer_r8_IEs, &ett_lte_rrc_T_dedicatedInfoType, &ett_lte_rrc_DLInformationTransfer_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_04, + &ett_lte_rrc_T_nonCriticalExtension_08, &ett_lte_rrc_HandoverFromEUTRAPreparationRequest, - &ett_lte_rrc_T_criticalExtensions_05, - &ett_lte_rrc_T_c1_09, - &ett_lte_rrc_T_criticalExtensionsFuture_05, + &ett_lte_rrc_T_criticalExtensions_09, + &ett_lte_rrc_T_c1_13, + &ett_lte_rrc_T_criticalExtensionsFuture_09, &ett_lte_rrc_HandoverFromEUTRAPreparationRequest_r8_IEs, &ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v890_IEs, &ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v920_IEs, &ett_lte_rrc_HandoverFromEUTRAPreparationRequest_v1020_IEs, - &ett_lte_rrc_T_nonCriticalExtension_05, + &ett_lte_rrc_T_nonCriticalExtension_09, &ett_lte_rrc_InDeviceCoexIndication_r11, - &ett_lte_rrc_T_criticalExtensions_06, - &ett_lte_rrc_T_c1_10, - &ett_lte_rrc_T_criticalExtensionsFuture_06, + &ett_lte_rrc_T_criticalExtensions_10, + &ett_lte_rrc_T_c1_14, + &ett_lte_rrc_T_criticalExtensionsFuture_10, &ett_lte_rrc_InDeviceCoexIndication_r11_IEs, - &ett_lte_rrc_T_nonCriticalExtension_06, + &ett_lte_rrc_T_nonCriticalExtension_10, &ett_lte_rrc_AffectedCarrierFreqList_r11, &ett_lte_rrc_AffectedCarrierFreq_r11, &ett_lte_rrc_TDM_AssistanceInfo_r11, @@ -53494,71 +56257,71 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_IDC_SubframePattern_r11, &ett_lte_rrc_T_subframePatternTDD_r11, &ett_lte_rrc_InterFreqRSTDMeasurementIndication_r10, - &ett_lte_rrc_T_criticalExtensions_07, - &ett_lte_rrc_T_c1_11, - &ett_lte_rrc_T_criticalExtensionsFuture_07, + &ett_lte_rrc_T_criticalExtensions_11, + &ett_lte_rrc_T_c1_15, + &ett_lte_rrc_T_criticalExtensionsFuture_11, &ett_lte_rrc_InterFreqRSTDMeasurementIndication_r10_IEs, &ett_lte_rrc_T_rstd_InterFreqIndication_r10, &ett_lte_rrc_T_start, - &ett_lte_rrc_T_nonCriticalExtension_07, + &ett_lte_rrc_T_nonCriticalExtension_11, &ett_lte_rrc_RSTD_InterFreqInfoList_r10, &ett_lte_rrc_RSTD_InterFreqInfo_r10, &ett_lte_rrc_LoggedMeasurementConfiguration_r10, - &ett_lte_rrc_T_criticalExtensions_08, - &ett_lte_rrc_T_c1_12, - &ett_lte_rrc_T_criticalExtensionsFuture_08, + &ett_lte_rrc_T_criticalExtensions_12, + &ett_lte_rrc_T_c1_16, + &ett_lte_rrc_T_criticalExtensionsFuture_12, &ett_lte_rrc_LoggedMeasurementConfiguration_r10_IEs, &ett_lte_rrc_LoggedMeasurementConfiguration_v1080_IEs, &ett_lte_rrc_LoggedMeasurementConfiguration_v1130_IEs, - &ett_lte_rrc_LoggedMeasurementConfiguration_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_08, + &ett_lte_rrc_LoggedMeasurementConfiguration_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_12, &ett_lte_rrc_TargetMBSFN_AreaList_r12, &ett_lte_rrc_TargetMBSFN_Area_r12, &ett_lte_rrc_MasterInformationBlock, &ett_lte_rrc_MBMSCountingRequest_r10, - &ett_lte_rrc_T_nonCriticalExtension_09, + &ett_lte_rrc_T_nonCriticalExtension_13, &ett_lte_rrc_CountingRequestList_r10, &ett_lte_rrc_CountingRequestInfo_r10, &ett_lte_rrc_MBMSCountingResponse_r10, - &ett_lte_rrc_T_criticalExtensions_09, - &ett_lte_rrc_T_c1_13, - &ett_lte_rrc_T_criticalExtensionsFuture_09, + &ett_lte_rrc_T_criticalExtensions_13, + &ett_lte_rrc_T_c1_17, + &ett_lte_rrc_T_criticalExtensionsFuture_13, &ett_lte_rrc_MBMSCountingResponse_r10_IEs, - &ett_lte_rrc_T_nonCriticalExtension_10, + &ett_lte_rrc_T_nonCriticalExtension_14, &ett_lte_rrc_CountingResponseList_r10, &ett_lte_rrc_CountingResponseInfo_r10, &ett_lte_rrc_MBMSInterestIndication_r11, - &ett_lte_rrc_T_criticalExtensions_10, - &ett_lte_rrc_T_c1_14, - &ett_lte_rrc_T_criticalExtensionsFuture_10, + &ett_lte_rrc_T_criticalExtensions_14, + &ett_lte_rrc_T_c1_18, + &ett_lte_rrc_T_criticalExtensionsFuture_14, &ett_lte_rrc_MBMSInterestIndication_r11_IEs, - &ett_lte_rrc_T_nonCriticalExtension_11, + &ett_lte_rrc_T_nonCriticalExtension_15, &ett_lte_rrc_MBSFNAreaConfiguration_r9, &ett_lte_rrc_MBSFNAreaConfiguration_v930_IEs, - &ett_lte_rrc_MBSFNAreaConfiguration_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_12, + &ett_lte_rrc_MBSFNAreaConfiguration_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_16, &ett_lte_rrc_CommonSF_AllocPatternList_r9, &ett_lte_rrc_MeasurementReport, - &ett_lte_rrc_T_criticalExtensions_11, - &ett_lte_rrc_T_c1_15, - &ett_lte_rrc_T_criticalExtensionsFuture_11, + &ett_lte_rrc_T_criticalExtensions_15, + &ett_lte_rrc_T_c1_19, + &ett_lte_rrc_T_criticalExtensionsFuture_15, &ett_lte_rrc_MeasurementReport_r8_IEs, &ett_lte_rrc_MeasurementReport_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_13, + &ett_lte_rrc_T_nonCriticalExtension_17, &ett_lte_rrc_MobilityFromEUTRACommand, - &ett_lte_rrc_T_criticalExtensions_12, - &ett_lte_rrc_T_c1_16, - &ett_lte_rrc_T_criticalExtensionsFuture_12, + &ett_lte_rrc_T_criticalExtensions_16, + &ett_lte_rrc_T_c1_20, + &ett_lte_rrc_T_criticalExtensionsFuture_16, &ett_lte_rrc_MobilityFromEUTRACommand_r8_IEs, &ett_lte_rrc_T_purpose, &ett_lte_rrc_MobilityFromEUTRACommand_v8a0_IEs, &ett_lte_rrc_MobilityFromEUTRACommand_v8d0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_14, + &ett_lte_rrc_T_nonCriticalExtension_18, &ett_lte_rrc_MobilityFromEUTRACommand_r9_IEs, &ett_lte_rrc_T_purpose_01, &ett_lte_rrc_MobilityFromEUTRACommand_v930_IEs, &ett_lte_rrc_MobilityFromEUTRACommand_v960_IEs, - &ett_lte_rrc_T_nonCriticalExtension_15, + &ett_lte_rrc_T_nonCriticalExtension_19, &ett_lte_rrc_Handover, &ett_lte_rrc_CellChangeOrder, &ett_lte_rrc_T_targetRAT_Type_01, @@ -53569,47 +56332,48 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_Paging_v890_IEs, &ett_lte_rrc_Paging_v920_IEs, &ett_lte_rrc_Paging_v1130_IEs, - &ett_lte_rrc_T_nonCriticalExtension_16, + &ett_lte_rrc_T_nonCriticalExtension_20, &ett_lte_rrc_PagingRecordList, &ett_lte_rrc_PagingRecord, &ett_lte_rrc_PagingUE_Identity, &ett_lte_rrc_IMSI, &ett_lte_rrc_ProximityIndication_r9, - &ett_lte_rrc_T_criticalExtensions_13, - &ett_lte_rrc_T_c1_17, - &ett_lte_rrc_T_criticalExtensionsFuture_13, + &ett_lte_rrc_T_criticalExtensions_17, + &ett_lte_rrc_T_c1_21, + &ett_lte_rrc_T_criticalExtensionsFuture_17, &ett_lte_rrc_ProximityIndication_r9_IEs, &ett_lte_rrc_T_carrierFreq_r9, &ett_lte_rrc_ProximityIndication_v930_IEs, - &ett_lte_rrc_T_nonCriticalExtension_17, + &ett_lte_rrc_T_nonCriticalExtension_21, &ett_lte_rrc_RNReconfiguration_r10, - &ett_lte_rrc_T_criticalExtensions_14, - &ett_lte_rrc_T_c1_18, - &ett_lte_rrc_T_criticalExtensionsFuture_14, + &ett_lte_rrc_T_criticalExtensions_18, + &ett_lte_rrc_T_c1_22, + &ett_lte_rrc_T_criticalExtensionsFuture_18, &ett_lte_rrc_RNReconfiguration_r10_IEs, - &ett_lte_rrc_T_nonCriticalExtension_18, + &ett_lte_rrc_T_nonCriticalExtension_22, &ett_lte_rrc_RN_SystemInfo_r10, &ett_lte_rrc_RNReconfigurationComplete_r10, - &ett_lte_rrc_T_criticalExtensions_15, - &ett_lte_rrc_T_c1_19, - &ett_lte_rrc_T_criticalExtensionsFuture_15, + &ett_lte_rrc_T_criticalExtensions_19, + &ett_lte_rrc_T_c1_23, + &ett_lte_rrc_T_criticalExtensionsFuture_19, &ett_lte_rrc_RNReconfigurationComplete_r10_IEs, - &ett_lte_rrc_T_nonCriticalExtension_19, + &ett_lte_rrc_T_nonCriticalExtension_23, &ett_lte_rrc_RRCConnectionReconfiguration, - &ett_lte_rrc_T_criticalExtensions_16, - &ett_lte_rrc_T_c1_20, - &ett_lte_rrc_T_criticalExtensionsFuture_16, + &ett_lte_rrc_T_criticalExtensions_20, + &ett_lte_rrc_T_c1_24, + &ett_lte_rrc_T_criticalExtensionsFuture_20, &ett_lte_rrc_RRCConnectionReconfiguration_r8_IEs, &ett_lte_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedInfoNAS, &ett_lte_rrc_RRCConnectionReconfiguration_v890_IEs, &ett_lte_rrc_RRCConnectionReconfiguration_v920_IEs, &ett_lte_rrc_RRCConnectionReconfiguration_v1020_IEs, &ett_lte_rrc_RRCConnectionReconfiguration_v1130_IEs, - &ett_lte_rrc_RRCConnectionReconfiguration_v12xy_IEs, - &ett_lte_rrc_T_wlan_OffloadDedicated_r12, + &ett_lte_rrc_RRCConnectionReconfiguration_v1250_IEs, + &ett_lte_rrc_T_wlan_OffloadInfo_r12, &ett_lte_rrc_T_setup, - &ett_lte_rrc_T_nonCriticalExtension_20, - &ett_lte_rrc_PSCell_r12, + &ett_lte_rrc_T_nonCriticalExtension_24, + &ett_lte_rrc_SL_SyncTxControl_r12, + &ett_lte_rrc_PSCellToAddMod_r12, &ett_lte_rrc_T_cellIdentification_r12, &ett_lte_rrc_PowerCoordinationInfo_r12, &ett_lte_rrc_SCellToAddModList_r10, @@ -53618,71 +56382,71 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_SCellToReleaseList_r10, &ett_lte_rrc_SCG_Configuration_r12, &ett_lte_rrc_T_setup_01, - &ett_lte_rrc_T_scg_ConfigPartMCG, + &ett_lte_rrc_T_scg_ConfigPartMCG_r12, &ett_lte_rrc_SCG_ConfigPartSCG_r12, &ett_lte_rrc_SecurityConfigHO, &ett_lte_rrc_T_handoverType, &ett_lte_rrc_T_intraLTE, &ett_lte_rrc_T_interRAT, &ett_lte_rrc_RRCConnectionReconfigurationComplete, - &ett_lte_rrc_T_criticalExtensions_17, - &ett_lte_rrc_T_criticalExtensionsFuture_17, + &ett_lte_rrc_T_criticalExtensions_21, + &ett_lte_rrc_T_criticalExtensionsFuture_21, &ett_lte_rrc_RRCConnectionReconfigurationComplete_r8_IEs, &ett_lte_rrc_RRCConnectionReconfigurationComplete_v8a0_IEs, &ett_lte_rrc_RRCConnectionReconfigurationComplete_v1020_IEs, &ett_lte_rrc_RRCConnectionReconfigurationComplete_v1130_IEs, - &ett_lte_rrc_RRCConnectionReconfigurationComplete_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_21, + &ett_lte_rrc_RRCConnectionReconfigurationComplete_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_25, &ett_lte_rrc_RRCConnectionReestablishment, - &ett_lte_rrc_T_criticalExtensions_18, - &ett_lte_rrc_T_c1_21, - &ett_lte_rrc_T_criticalExtensionsFuture_18, + &ett_lte_rrc_T_criticalExtensions_22, + &ett_lte_rrc_T_c1_25, + &ett_lte_rrc_T_criticalExtensionsFuture_22, &ett_lte_rrc_RRCConnectionReestablishment_r8_IEs, &ett_lte_rrc_RRCConnectionReestablishment_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_22, + &ett_lte_rrc_T_nonCriticalExtension_26, &ett_lte_rrc_RRCConnectionReestablishmentComplete, - &ett_lte_rrc_T_criticalExtensions_19, - &ett_lte_rrc_T_criticalExtensionsFuture_19, + &ett_lte_rrc_T_criticalExtensions_23, + &ett_lte_rrc_T_criticalExtensionsFuture_23, &ett_lte_rrc_RRCConnectionReestablishmentComplete_r8_IEs, &ett_lte_rrc_RRCConnectionReestablishmentComplete_v920_IEs, &ett_lte_rrc_RRCConnectionReestablishmentComplete_v8a0_IEs, &ett_lte_rrc_RRCConnectionReestablishmentComplete_v1020_IEs, &ett_lte_rrc_RRCConnectionReestablishmentComplete_v1130_IEs, - &ett_lte_rrc_RRCConnectionReestablishmentComplete_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_23, + &ett_lte_rrc_RRCConnectionReestablishmentComplete_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_27, &ett_lte_rrc_RRCConnectionReestablishmentReject, - &ett_lte_rrc_T_criticalExtensions_20, - &ett_lte_rrc_T_criticalExtensionsFuture_20, + &ett_lte_rrc_T_criticalExtensions_24, + &ett_lte_rrc_T_criticalExtensionsFuture_24, &ett_lte_rrc_RRCConnectionReestablishmentReject_r8_IEs, &ett_lte_rrc_RRCConnectionReestablishmentReject_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_24, + &ett_lte_rrc_T_nonCriticalExtension_28, &ett_lte_rrc_RRCConnectionReestablishmentRequest, - &ett_lte_rrc_T_criticalExtensions_21, - &ett_lte_rrc_T_criticalExtensionsFuture_21, + &ett_lte_rrc_T_criticalExtensions_25, + &ett_lte_rrc_T_criticalExtensionsFuture_25, &ett_lte_rrc_RRCConnectionReestablishmentRequest_r8_IEs, &ett_lte_rrc_ReestabUE_Identity, &ett_lte_rrc_RRCConnectionReject, - &ett_lte_rrc_T_criticalExtensions_22, - &ett_lte_rrc_T_c1_22, - &ett_lte_rrc_T_criticalExtensionsFuture_22, + &ett_lte_rrc_T_criticalExtensions_26, + &ett_lte_rrc_T_c1_26, + &ett_lte_rrc_T_criticalExtensionsFuture_26, &ett_lte_rrc_RRCConnectionReject_r8_IEs, &ett_lte_rrc_RRCConnectionReject_v8a0_IEs, &ett_lte_rrc_RRCConnectionReject_v1020_IEs, &ett_lte_rrc_RRCConnectionReject_v1130_IEs, &ett_lte_rrc_T_deprioritisationReq_r11, - &ett_lte_rrc_T_nonCriticalExtension_25, + &ett_lte_rrc_T_nonCriticalExtension_29, &ett_lte_rrc_RRCConnectionRelease, - &ett_lte_rrc_T_criticalExtensions_23, - &ett_lte_rrc_T_c1_23, - &ett_lte_rrc_T_criticalExtensionsFuture_23, + &ett_lte_rrc_T_criticalExtensions_27, + &ett_lte_rrc_T_c1_27, + &ett_lte_rrc_T_criticalExtensionsFuture_27, &ett_lte_rrc_RRCConnectionRelease_r8_IEs, &ett_lte_rrc_RRCConnectionRelease_v890_IEs, &ett_lte_rrc_RRCConnectionRelease_v9e0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_26, + &ett_lte_rrc_T_nonCriticalExtension_30, &ett_lte_rrc_RRCConnectionRelease_v920_IEs, &ett_lte_rrc_T_cellInfoList_r9, &ett_lte_rrc_RRCConnectionRelease_v1020_IEs, - &ett_lte_rrc_T_nonCriticalExtension_27, + &ett_lte_rrc_T_nonCriticalExtension_31, &ett_lte_rrc_RedirectedCarrierInfo, &ett_lte_rrc_RedirectedCarrierInfo_v9e0, &ett_lte_rrc_CarrierFreqListUTRA_TDD_r10, @@ -53713,76 +56477,83 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_CellInfoListUTRA_TDD_r10, &ett_lte_rrc_CellInfoUTRA_TDD_r10, &ett_lte_rrc_RRCConnectionRequest, - &ett_lte_rrc_T_criticalExtensions_24, - &ett_lte_rrc_T_criticalExtensionsFuture_24, + &ett_lte_rrc_T_criticalExtensions_28, + &ett_lte_rrc_T_criticalExtensionsFuture_28, &ett_lte_rrc_RRCConnectionRequest_r8_IEs, &ett_lte_rrc_InitialUE_Identity, &ett_lte_rrc_RRCConnectionSetup, - &ett_lte_rrc_T_criticalExtensions_25, - &ett_lte_rrc_T_c1_24, - &ett_lte_rrc_T_criticalExtensionsFuture_25, + &ett_lte_rrc_T_criticalExtensions_29, + &ett_lte_rrc_T_c1_28, + &ett_lte_rrc_T_criticalExtensionsFuture_29, &ett_lte_rrc_RRCConnectionSetup_r8_IEs, &ett_lte_rrc_RRCConnectionSetup_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_28, + &ett_lte_rrc_T_nonCriticalExtension_32, &ett_lte_rrc_RRCConnectionSetupComplete, - &ett_lte_rrc_T_criticalExtensions_26, - &ett_lte_rrc_T_c1_25, - &ett_lte_rrc_T_criticalExtensionsFuture_26, + &ett_lte_rrc_T_criticalExtensions_30, + &ett_lte_rrc_T_c1_29, + &ett_lte_rrc_T_criticalExtensionsFuture_30, &ett_lte_rrc_RRCConnectionSetupComplete_r8_IEs, &ett_lte_rrc_RRCConnectionSetupComplete_v8a0_IEs, &ett_lte_rrc_RRCConnectionSetupComplete_v1020_IEs, &ett_lte_rrc_RRCConnectionSetupComplete_v1130_IEs, - &ett_lte_rrc_RRCConnectionSetupComplete_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_29, + &ett_lte_rrc_RRCConnectionSetupComplete_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_33, &ett_lte_rrc_RegisteredMME, &ett_lte_rrc_SCGFailureInformation_r12, - &ett_lte_rrc_T_criticalExtensions_27, - &ett_lte_rrc_T_c1_26, - &ett_lte_rrc_T_criticalExtensionsFuture_27, + &ett_lte_rrc_T_criticalExtensions_31, + &ett_lte_rrc_T_c1_30, + &ett_lte_rrc_T_criticalExtensionsFuture_31, &ett_lte_rrc_SCGFailureInformation_r12_IEs, - &ett_lte_rrc_T_nonCriticalExtension_30, + &ett_lte_rrc_T_nonCriticalExtension_34, &ett_lte_rrc_FailureReportSCG_r12, - &ett_lte_rrc_T_measResultNeighCells_r12, &ett_lte_rrc_SecurityModeCommand, - &ett_lte_rrc_T_criticalExtensions_28, - &ett_lte_rrc_T_c1_27, - &ett_lte_rrc_T_criticalExtensionsFuture_28, + &ett_lte_rrc_T_criticalExtensions_32, + &ett_lte_rrc_T_c1_31, + &ett_lte_rrc_T_criticalExtensionsFuture_32, &ett_lte_rrc_SecurityModeCommand_r8_IEs, &ett_lte_rrc_SecurityModeCommand_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_31, + &ett_lte_rrc_T_nonCriticalExtension_35, &ett_lte_rrc_SecurityConfigSMC, &ett_lte_rrc_SecurityModeComplete, - &ett_lte_rrc_T_criticalExtensions_29, - &ett_lte_rrc_T_criticalExtensionsFuture_29, + &ett_lte_rrc_T_criticalExtensions_33, + &ett_lte_rrc_T_criticalExtensionsFuture_33, &ett_lte_rrc_SecurityModeComplete_r8_IEs, &ett_lte_rrc_SecurityModeComplete_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_32, + &ett_lte_rrc_T_nonCriticalExtension_36, &ett_lte_rrc_SecurityModeFailure, - &ett_lte_rrc_T_criticalExtensions_30, - &ett_lte_rrc_T_criticalExtensionsFuture_30, + &ett_lte_rrc_T_criticalExtensions_34, + &ett_lte_rrc_T_criticalExtensionsFuture_34, &ett_lte_rrc_SecurityModeFailure_r8_IEs, &ett_lte_rrc_SecurityModeFailure_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_33, + &ett_lte_rrc_T_nonCriticalExtension_37, + &ett_lte_rrc_SidelinkUEInformation_r12, + &ett_lte_rrc_T_criticalExtensions_35, + &ett_lte_rrc_T_c1_32, + &ett_lte_rrc_T_criticalExtensionsFuture_35, + &ett_lte_rrc_SidelinkUEInformation_r12_IEs, + &ett_lte_rrc_T_nonCriticalExtension_38, + &ett_lte_rrc_SL_CommTxResourceReq_r12, + &ett_lte_rrc_SL_DestinationInfoList_r12, &ett_lte_rrc_SystemInformation, - &ett_lte_rrc_T_criticalExtensions_31, - &ett_lte_rrc_T_criticalExtensionsFuture_31, + &ett_lte_rrc_T_criticalExtensions_36, + &ett_lte_rrc_T_criticalExtensionsFuture_36, &ett_lte_rrc_SystemInformation_r8_IEs, &ett_lte_rrc_T_sib_TypeAndInfo, &ett_lte_rrc_T_sib_TypeAndInfo_item, &ett_lte_rrc_SystemInformation_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_34, + &ett_lte_rrc_T_nonCriticalExtension_39, &ett_lte_rrc_SystemInformationBlockType1, &ett_lte_rrc_T_cellAccessRelatedInfo, &ett_lte_rrc_T_cellSelectionInfo, &ett_lte_rrc_SystemInformationBlockType1_v890_IEs, &ett_lte_rrc_SystemInformationBlockType1_v8h0_IEs, &ett_lte_rrc_SystemInformationBlockType1_v9e0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_35, + &ett_lte_rrc_T_nonCriticalExtension_40, &ett_lte_rrc_SystemInformationBlockType1_v920_IEs, &ett_lte_rrc_SystemInformationBlockType1_v1130_IEs, - &ett_lte_rrc_SystemInformationBlockType1_v12xy_IEs, - &ett_lte_rrc_T_cellAccessRelatedInfo_v12xy, - &ett_lte_rrc_T_nonCriticalExtension_36, + &ett_lte_rrc_SystemInformationBlockType1_v1250_IEs, + &ett_lte_rrc_T_cellAccessRelatedInfo_v1250, + &ett_lte_rrc_T_nonCriticalExtension_41, &ett_lte_rrc_PLMN_IdentityList, &ett_lte_rrc_PLMN_IdentityInfo, &ett_lte_rrc_SchedulingInfoList, @@ -53790,54 +56561,54 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_SIB_MappingInfo, &ett_lte_rrc_CellSelectionInfo_v920, &ett_lte_rrc_CellSelectionInfo_v1130, - &ett_lte_rrc_CellSelectionInfo_v12xy, + &ett_lte_rrc_CellSelectionInfo_v1250, &ett_lte_rrc_UEAssistanceInformation_r11, - &ett_lte_rrc_T_criticalExtensions_32, - &ett_lte_rrc_T_c1_28, - &ett_lte_rrc_T_criticalExtensionsFuture_32, + &ett_lte_rrc_T_criticalExtensions_37, + &ett_lte_rrc_T_c1_33, + &ett_lte_rrc_T_criticalExtensionsFuture_37, &ett_lte_rrc_UEAssistanceInformation_r11_IEs, - &ett_lte_rrc_T_nonCriticalExtension_37, + &ett_lte_rrc_T_nonCriticalExtension_42, &ett_lte_rrc_UECapabilityEnquiry, - &ett_lte_rrc_T_criticalExtensions_33, - &ett_lte_rrc_T_c1_29, - &ett_lte_rrc_T_criticalExtensionsFuture_33, + &ett_lte_rrc_T_criticalExtensions_38, + &ett_lte_rrc_T_c1_34, + &ett_lte_rrc_T_criticalExtensionsFuture_38, &ett_lte_rrc_UECapabilityEnquiry_r8_IEs, &ett_lte_rrc_UECapabilityEnquiry_v8a0_IEs, &ett_lte_rrc_UECapabilityEnquiry_v1180_IEs, &ett_lte_rrc_SEQUENCE_SIZE_1_16_OF_FreqBandIndicator_r11, - &ett_lte_rrc_T_nonCriticalExtension_38, + &ett_lte_rrc_T_nonCriticalExtension_43, &ett_lte_rrc_UE_CapabilityRequest, &ett_lte_rrc_UECapabilityInformation, - &ett_lte_rrc_T_criticalExtensions_34, - &ett_lte_rrc_T_c1_30, - &ett_lte_rrc_T_criticalExtensionsFuture_34, + &ett_lte_rrc_T_criticalExtensions_39, + &ett_lte_rrc_T_c1_35, + &ett_lte_rrc_T_criticalExtensionsFuture_39, &ett_lte_rrc_UECapabilityInformation_r8_IEs, &ett_lte_rrc_UECapabilityInformation_v8a0_IEs, - &ett_lte_rrc_UECapabilityInformation_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_39, + &ett_lte_rrc_UECapabilityInformation_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_44, &ett_lte_rrc_UEInformationRequest_r9, - &ett_lte_rrc_T_criticalExtensions_35, - &ett_lte_rrc_T_c1_31, - &ett_lte_rrc_T_criticalExtensionsFuture_35, + &ett_lte_rrc_T_criticalExtensions_40, + &ett_lte_rrc_T_c1_36, + &ett_lte_rrc_T_criticalExtensionsFuture_40, &ett_lte_rrc_UEInformationRequest_r9_IEs, &ett_lte_rrc_UEInformationRequest_v930_IEs, &ett_lte_rrc_UEInformationRequest_v1020_IEs, &ett_lte_rrc_UEInformationRequest_v1130_IEs, - &ett_lte_rrc_UEInformationRequest_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_40, + &ett_lte_rrc_UEInformationRequest_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_45, &ett_lte_rrc_UEInformationResponse_r9, - &ett_lte_rrc_T_criticalExtensions_36, - &ett_lte_rrc_T_c1_32, - &ett_lte_rrc_T_criticalExtensionsFuture_36, + &ett_lte_rrc_T_criticalExtensions_41, + &ett_lte_rrc_T_c1_37, + &ett_lte_rrc_T_criticalExtensionsFuture_41, &ett_lte_rrc_UEInformationResponse_r9_IEs, &ett_lte_rrc_T_rach_Report_r9, &ett_lte_rrc_UEInformationResponse_v9e0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_41, + &ett_lte_rrc_T_nonCriticalExtension_46, &ett_lte_rrc_UEInformationResponse_v930_IEs, &ett_lte_rrc_UEInformationResponse_v1020_IEs, &ett_lte_rrc_UEInformationResponse_v1130_IEs, - &ett_lte_rrc_UEInformationResponse_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_42, + &ett_lte_rrc_UEInformationResponse_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_47, &ett_lte_rrc_RLF_Report_r9, &ett_lte_rrc_T_measResultLastServCell_r9, &ett_lte_rrc_T_measResultNeighCells_r9, @@ -53849,14 +56620,14 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_physCellId_r11, &ett_lte_rrc_T_selectedUTRA_CellId_r11, &ett_lte_rrc_T_physCellId_r11_01, - &ett_lte_rrc_T_failedPCellId_v12xy, + &ett_lte_rrc_T_failedPCellId_v1250, &ett_lte_rrc_RLF_Report_v9e0, &ett_lte_rrc_MeasResultList2EUTRA_r9, &ett_lte_rrc_MeasResultList2EUTRA_v9e0, - &ett_lte_rrc_MeasResultList2EUTRA_v12xy, + &ett_lte_rrc_MeasResultList2EUTRA_v1250, &ett_lte_rrc_MeasResult2EUTRA_r9, &ett_lte_rrc_MeasResult2EUTRA_v9e0, - &ett_lte_rrc_MeasResult2EUTRA_v12xy, + &ett_lte_rrc_MeasResult2EUTRA_v1250, &ett_lte_rrc_MeasResultList2UTRA_r9, &ett_lte_rrc_MeasResult2UTRA_r9, &ett_lte_rrc_MeasResultList2CDMA2000_r9, @@ -53872,35 +56643,36 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_DataBLER_MCH_ResultList_r12, &ett_lte_rrc_DataBLER_MCH_Result_r12, &ett_lte_rrc_BLER_Result_r12, + &ett_lte_rrc_T_blocksReceived_r12, &ett_lte_rrc_MeasResultList2GERAN_r10, &ett_lte_rrc_ConnEstFailReport_r11, &ett_lte_rrc_T_measResultFailedCell_r11, &ett_lte_rrc_T_measResultNeighCells_r11, &ett_lte_rrc_ULHandoverPreparationTransfer, - &ett_lte_rrc_T_criticalExtensions_37, - &ett_lte_rrc_T_c1_33, - &ett_lte_rrc_T_criticalExtensionsFuture_37, + &ett_lte_rrc_T_criticalExtensions_42, + &ett_lte_rrc_T_c1_38, + &ett_lte_rrc_T_criticalExtensionsFuture_42, &ett_lte_rrc_ULHandoverPreparationTransfer_r8_IEs, &ett_lte_rrc_ULHandoverPreparationTransfer_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_43, + &ett_lte_rrc_T_nonCriticalExtension_48, &ett_lte_rrc_ULInformationTransfer, - &ett_lte_rrc_T_criticalExtensions_38, - &ett_lte_rrc_T_c1_34, - &ett_lte_rrc_T_criticalExtensionsFuture_38, + &ett_lte_rrc_T_criticalExtensions_43, + &ett_lte_rrc_T_c1_39, + &ett_lte_rrc_T_criticalExtensionsFuture_43, &ett_lte_rrc_ULInformationTransfer_r8_IEs, &ett_lte_rrc_T_dedicatedInfoType_01, &ett_lte_rrc_ULInformationTransfer_v8a0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_44, + &ett_lte_rrc_T_nonCriticalExtension_49, &ett_lte_rrc_SystemInformationBlockType2, &ett_lte_rrc_T_ac_BarringInfo, &ett_lte_rrc_T_freqInfo, &ett_lte_rrc_SystemInformationBlockType2_v8h0_IEs, &ett_lte_rrc_SEQUENCE_SIZE_1_maxMultiBands_OF_AdditionalSpectrumEmission, &ett_lte_rrc_SystemInformationBlockType2_v9e0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_45, + &ett_lte_rrc_T_nonCriticalExtension_50, &ett_lte_rrc_AC_BarringConfig, &ett_lte_rrc_MBSFN_SubframeConfigList, - &ett_lte_rrc_AC_BarringPerPLMNList_r12, + &ett_lte_rrc_AC_BarringPerPLMN_List_r12, &ett_lte_rrc_AC_BarringPerPLMN_r12, &ett_lte_rrc_T_ac_BarringInfo_r12, &ett_lte_rrc_SystemInformationBlockType3, @@ -53920,29 +56692,27 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v8h0, &ett_lte_rrc_SystemInformationBlockType5_v9e0_IEs, &ett_lte_rrc_SEQUENCE_SIZE_1_maxFreq_OF_InterFreqCarrierFreqInfo_v9e0, - &ett_lte_rrc_SystemInformationBlockType5_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_46, + &ett_lte_rrc_T_nonCriticalExtension_51, &ett_lte_rrc_InterFreqCarrierFreqList, - &ett_lte_rrc_InterFreqCarrierFreqList_v12xy, + &ett_lte_rrc_InterFreqCarrierFreqList_v1250, &ett_lte_rrc_InterFreqCarrierFreqListExt_r12, &ett_lte_rrc_InterFreqCarrierFreqInfo, &ett_lte_rrc_T_threshX_Q_r9, &ett_lte_rrc_InterFreqCarrierFreqInfo_v8h0, &ett_lte_rrc_InterFreqCarrierFreqInfo_v9e0, - &ett_lte_rrc_InterFreqCarrierFreqInfo_v12xy, + &ett_lte_rrc_InterFreqCarrierFreqInfo_v1250, &ett_lte_rrc_InterFreqCarrierFreqInfo_r12, &ett_lte_rrc_T_threshX_Q_r12, &ett_lte_rrc_InterFreqNeighCellList, &ett_lte_rrc_InterFreqNeighCellInfo, &ett_lte_rrc_InterFreqBlackCellList, &ett_lte_rrc_SystemInformationBlockType6, + &ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v1250, + &ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v1250, &ett_lte_rrc_SystemInformationBlockType6_v8h0_IEs, &ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_FDD_v8h0, - &ett_lte_rrc_SystemInformationBlockType6_v12xy_IEs, - &ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_FDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy, - &ett_lte_rrc_SEQUENCE_SIZE_1_maxUTRA_TDD_Carrier_OF_CarrierFreqInfoUTRA_v12xy, - &ett_lte_rrc_T_nonCriticalExtension_47, - &ett_lte_rrc_CarrierFreqInfoUTRA_v12xy, + &ett_lte_rrc_T_nonCriticalExtension_52, + &ett_lte_rrc_CarrierFreqInfoUTRA_v1250, &ett_lte_rrc_CarrierFreqListUTRA_FDD, &ett_lte_rrc_CarrierFreqUTRA_FDD, &ett_lte_rrc_T_threshX_Q_r9_01, @@ -54010,11 +56780,18 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_SystemInformationBlockType16_r11, &ett_lte_rrc_T_timeInfo_r11, &ett_lte_rrc_SystemInformationBlockType17_r12, - &ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadPerPLMN_r12, - &ett_lte_rrc_WLAN_OffloadPerPLMN_r12, + &ett_lte_rrc_SEQUENCE_SIZE_1_maxPLMN_r11_OF_WLAN_OffloadInfoPerPLMN_r12, + &ett_lte_rrc_WLAN_OffloadInfoPerPLMN_r12, &ett_lte_rrc_WLAN_Id_List_r12, - &ett_lte_rrc_WLAN_Id_r12, - &ett_lte_rrc_T_wlan_Identifiers, + &ett_lte_rrc_WLAN_Identifiers_r12, + &ett_lte_rrc_SystemInformationBlockType18_r12, + &ett_lte_rrc_T_commConfig_r12, + &ett_lte_rrc_SystemInformationBlockType19_r12, + &ett_lte_rrc_T_discConfig_r12, + &ett_lte_rrc_SL_CarrierFreqInfoList_r12, + &ett_lte_rrc_SL_CarrierFreqInfo_r12, + &ett_lte_rrc_PLMN_IdentityList4_r12, + &ett_lte_rrc_PLMN_IdentityInfo2_r12, &ett_lte_rrc_AntennaInfoCommon, &ett_lte_rrc_AntennaInfoDedicated, &ett_lte_rrc_T_codebookSubsetRestriction, @@ -54023,7 +56800,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_codebookSubsetRestriction_v920, &ett_lte_rrc_AntennaInfoDedicated_r10, &ett_lte_rrc_T_ue_TransmitAntennaSelection_01, - &ett_lte_rrc_AntennaInfoDedicated_v12xx, + &ett_lte_rrc_AntennaInfoDedicated_v1250, &ett_lte_rrc_AntennaInfoUL_r10, &ett_lte_rrc_CQI_ReportConfig, &ett_lte_rrc_CQI_ReportConfig_v920, @@ -54031,7 +56808,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_csi_SubframePatternConfig_r10, &ett_lte_rrc_T_setup_04, &ett_lte_rrc_CQI_ReportConfig_v1130, - &ett_lte_rrc_CQI_ReportConfig_v12x0, + &ett_lte_rrc_CQI_ReportConfig_v1250, &ett_lte_rrc_T_csi_SubframePatternConfig_r12, &ett_lte_rrc_T_setup_05, &ett_lte_rrc_CQI_ReportConfigSCell_r10, @@ -54058,16 +56835,14 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_CQI_ReportAperiodic_r10, &ett_lte_rrc_T_setup_10, &ett_lte_rrc_T_aperiodicCSI_Trigger_r10, - &ett_lte_rrc_CQI_ReportAperiodic_v12x0, + &ett_lte_rrc_CQI_ReportAperiodic_v1250, &ett_lte_rrc_T_setup_11, - &ett_lte_rrc_T_aperiodicCSI_Trigger_r12, + &ett_lte_rrc_T_aperiodicCSI_Trigger_v1250, &ett_lte_rrc_CQI_ReportAperiodicProc_r11, &ett_lte_rrc_CQI_ReportBoth_r11, - &ett_lte_rrc_CQI_ReportBoth_r12, + &ett_lte_rrc_CQI_ReportBoth_v1250, &ett_lte_rrc_CSI_IM_ConfigToAddModList_r11, - &ett_lte_rrc_CSI_IM_ConfigToAddModList_r12, &ett_lte_rrc_CSI_IM_ConfigToReleaseList_r11, - &ett_lte_rrc_CSI_IM_ConfigToReleaseList_r12, &ett_lte_rrc_CSI_ProcessToAddModList_r11, &ett_lte_rrc_CSI_ProcessToReleaseList_r11, &ett_lte_rrc_CQI_ReportBothProc_r11, @@ -54076,59 +56851,59 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_own_r10, &ett_lte_rrc_T_other_r10, &ett_lte_rrc_CSI_IM_Config_r11, - &ett_lte_rrc_CSI_IM_Config_r12, + &ett_lte_rrc_CSI_IM_ConfigExt_r12, &ett_lte_rrc_CSI_Process_r11, &ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_P_C_AndCBSR_r11, + &ett_lte_rrc_T_csi_IM_ConfigIdList_r12, &ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_CSI_IM_ConfigId_r12, + &ett_lte_rrc_T_cqi_ReportAperiodicProc2_r12, &ett_lte_rrc_P_C_AndCBSR_r11, &ett_lte_rrc_CSI_RS_Config_r10, &ett_lte_rrc_T_csi_RS_r10, &ett_lte_rrc_T_setup_12, - &ett_lte_rrc_T_zeroTxPowerCSI_RS_r10, - &ett_lte_rrc_T_setup_13, - &ett_lte_rrc_CSI_RS_Config2_r12, - &ett_lte_rrc_T_eimta_ZeroTxPowerCSI_RS_r12, - &ett_lte_rrc_T_setup_14, + &ett_lte_rrc_CSI_RS_Config_v1250, &ett_lte_rrc_T_ds_ZeroTxPowerCSI_RS_r12, - &ett_lte_rrc_T_setup_15, + &ett_lte_rrc_T_setup_13, &ett_lte_rrc_SEQUENCE_SIZE_1_maxDS_ZTP_CSI_RS_r12_OF_ZeroTxPowerCSI_RS_r12, + &ett_lte_rrc_ZeroTxPowerCSI_RS_Conf_r12, &ett_lte_rrc_ZeroTxPowerCSI_RS_r12, &ett_lte_rrc_CSI_RS_ConfigNZP_r11, &ett_lte_rrc_T_qcl_CRS_Info_r11, &ett_lte_rrc_T_mbsfn_SubframeConfigList_r11, - &ett_lte_rrc_T_setup_16, + &ett_lte_rrc_T_setup_14, &ett_lte_rrc_CSI_RS_ConfigZP_r11, &ett_lte_rrc_DMRS_Config_r11, - &ett_lte_rrc_T_setup_17, + &ett_lte_rrc_T_setup_15, &ett_lte_rrc_EPDCCH_Config_r11, &ett_lte_rrc_T_config_r11, - &ett_lte_rrc_T_setup_18, + &ett_lte_rrc_T_setup_16, &ett_lte_rrc_T_subframePatternConfig_r11, - &ett_lte_rrc_T_setup_19, + &ett_lte_rrc_T_setup_17, &ett_lte_rrc_EPDCCH_SetConfigToAddModList_r11, &ett_lte_rrc_EPDCCH_SetConfigToReleaseList_r11, &ett_lte_rrc_EPDCCH_SetConfig_r11, &ett_lte_rrc_T_resourceBlockAssignment_r11, + &ett_lte_rrc_T_csi_RS_ConfigZPId2_r12, &ett_lte_rrc_EIMTA_MainConfig_r12, - &ett_lte_rrc_T_setup_20, + &ett_lte_rrc_T_setup_18, &ett_lte_rrc_EIMTA_MainConfigServCell_r12, - &ett_lte_rrc_T_setup_21, - &ett_lte_rrc_T_mbsfn_SubframeConfigList_v12x0, - &ett_lte_rrc_T_setup_22, + &ett_lte_rrc_T_setup_19, + &ett_lte_rrc_T_mbsfn_SubframeConfigList_v1250, + &ett_lte_rrc_T_setup_20, &ett_lte_rrc_LogicalChannelConfig, &ett_lte_rrc_T_ul_SpecificParameters, &ett_lte_rrc_MAC_MainConfig, &ett_lte_rrc_T_ul_SCH_Config, &ett_lte_rrc_T_phr_Config, - &ett_lte_rrc_T_setup_23, + &ett_lte_rrc_T_setup_21, &ett_lte_rrc_T_mac_MainConfig_v1020, &ett_lte_rrc_T_dualConnectivityPHR, - &ett_lte_rrc_T_setup_24, + &ett_lte_rrc_T_setup_22, &ett_lte_rrc_T_logicalChannelSR_Config_r12, - &ett_lte_rrc_T_setup_25, + &ett_lte_rrc_T_setup_23, &ett_lte_rrc_MAC_MainConfigSCell_r11, &ett_lte_rrc_DRX_Config, - &ett_lte_rrc_T_setup_26, + &ett_lte_rrc_T_setup_24, &ett_lte_rrc_T_longDRX_CycleStartOffset, &ett_lte_rrc_T_shortDRX, &ett_lte_rrc_DRX_Config_v1130, @@ -54150,13 +56925,13 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PDSCH_RE_MappingQCL_Config_r11, &ett_lte_rrc_T_optionalSetOfFields_r11, &ett_lte_rrc_T_mbsfn_SubframeConfigList_r11_01, - &ett_lte_rrc_T_setup_27, + &ett_lte_rrc_T_setup_25, &ett_lte_rrc_PHICH_Config, &ett_lte_rrc_PhysicalConfigDedicated, &ett_lte_rrc_T_antennaInfo, &ett_lte_rrc_T_antennaInfo_r10, &ett_lte_rrc_T_additionalSpectrumEmissionCA_r10, - &ett_lte_rrc_T_setup_28, + &ett_lte_rrc_T_setup_26, &ett_lte_rrc_PhysicalConfigDedicatedSCell_r10, &ett_lte_rrc_T_nonUL_Configuration_r10, &ett_lte_rrc_T_ul_Configuration_r10, @@ -54171,27 +56946,27 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PUCCH_ConfigCommon, &ett_lte_rrc_PUCCH_ConfigDedicated, &ett_lte_rrc_T_ackNackRepetition, - &ett_lte_rrc_T_setup_29, + &ett_lte_rrc_T_setup_27, &ett_lte_rrc_PUCCH_ConfigDedicated_v1020, &ett_lte_rrc_T_pucch_Format_r10, &ett_lte_rrc_T_format3_r10, &ett_lte_rrc_T_n3PUCCH_AN_List_r10, &ett_lte_rrc_T_twoAntennaPortActivatedPUCCH_Format3_r10, - &ett_lte_rrc_T_setup_30, + &ett_lte_rrc_T_setup_28, &ett_lte_rrc_T_n3PUCCH_AN_ListP1_r10, &ett_lte_rrc_T_channelSelection_r10, &ett_lte_rrc_T_n1PUCCH_AN_CS_r10, - &ett_lte_rrc_T_setup_31, + &ett_lte_rrc_T_setup_29, &ett_lte_rrc_SEQUENCE_SIZE_1_2_OF_N1PUCCH_AN_CS_r10, &ett_lte_rrc_PUCCH_ConfigDedicated_v1130, &ett_lte_rrc_T_n1PUCCH_AN_CS_v1130, - &ett_lte_rrc_T_setup_32, + &ett_lte_rrc_T_setup_30, &ett_lte_rrc_T_n1PUCCH_AN_CS_ListP1_r11, &ett_lte_rrc_T_nPUCCH_Param_r11, - &ett_lte_rrc_T_setup_33, - &ett_lte_rrc_PUCCH_ConfigDedicated_v12x0, + &ett_lte_rrc_T_setup_31, + &ett_lte_rrc_PUCCH_ConfigDedicated_v1250, &ett_lte_rrc_T_nkaPUCCH_Param_r12, - &ett_lte_rrc_T_setup_34, + &ett_lte_rrc_T_setup_32, &ett_lte_rrc_N1PUCCH_AN_CS_r10, &ett_lte_rrc_PUSCH_ConfigCommon, &ett_lte_rrc_T_pusch_ConfigBasic, @@ -54200,10 +56975,10 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_betaOffsetMC_r10, &ett_lte_rrc_PUSCH_ConfigDedicated_v1130, &ett_lte_rrc_T_pusch_DMRS_r11, - &ett_lte_rrc_T_setup_35, - &ett_lte_rrc_PUSCH_ConfigDedicated_v12x0, + &ett_lte_rrc_T_setup_33, + &ett_lte_rrc_PUSCH_ConfigDedicated_v1250, &ett_lte_rrc_T_uciOnPUSCH, - &ett_lte_rrc_T_setup_36, + &ett_lte_rrc_T_setup_34, &ett_lte_rrc_T_betaOffsetMC_r12, &ett_lte_rrc_PUSCH_ConfigDedicatedSCell_r10, &ett_lte_rrc_UL_ReferenceSignalsPUSCH, @@ -54211,7 +56986,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_preambleInfo, &ett_lte_rrc_T_preamblesGroupAConfig, &ett_lte_rrc_T_ra_SupervisionInfo, - &ett_lte_rrc_RACH_ConfigCommon_v12xy, + &ett_lte_rrc_RACH_ConfigCommon_v1250, &ett_lte_rrc_T_txFailParams_r12, &ett_lte_rrc_RACH_ConfigCommonSCell_r11, &ett_lte_rrc_T_ra_SupervisionInfo_r11, @@ -54247,7 +57022,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_CRS_AssistanceInfoList_r11, &ett_lte_rrc_CRS_AssistanceInfo_r11, &ett_lte_rrc_NAICS_AssistanceInfo_r12, - &ett_lte_rrc_T_setup_37, + &ett_lte_rrc_T_setup_35, &ett_lte_rrc_NeighCellsToReleaseList_r12, &ett_lte_rrc_NeighCellsToAddModList_r12, &ett_lte_rrc_NeighCellsInfo_r12, @@ -54257,15 +57032,15 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_um_Bi_Directional, &ett_lte_rrc_T_um_Uni_Directional_UL, &ett_lte_rrc_T_um_Uni_Directional_DL, - &ett_lte_rrc_RLC_Config_v12xy, + &ett_lte_rrc_RLC_Config_v1250, &ett_lte_rrc_UL_AM_RLC, &ett_lte_rrc_DL_AM_RLC, &ett_lte_rrc_UL_UM_RLC, &ett_lte_rrc_DL_UM_RLC, &ett_lte_rrc_RLF_TimersAndConstants_r9, - &ett_lte_rrc_T_setup_38, + &ett_lte_rrc_T_setup_36, &ett_lte_rrc_RLF_TimersAndConstantsSCG_r12, - &ett_lte_rrc_T_setup_39, + &ett_lte_rrc_T_setup_37, &ett_lte_rrc_RN_SubframeConfig_r10, &ett_lte_rrc_T_subframeConfigPattern_r10, &ett_lte_rrc_T_rpdcch_Config_r10, @@ -54280,33 +57055,35 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_fallbackForFormat3, &ett_lte_rrc_T_fdd, &ett_lte_rrc_SchedulingRequestConfig, - &ett_lte_rrc_T_setup_40, + &ett_lte_rrc_T_setup_38, &ett_lte_rrc_SchedulingRequestConfig_v1020, &ett_lte_rrc_SoundingRS_UL_ConfigCommon, - &ett_lte_rrc_T_setup_41, + &ett_lte_rrc_T_setup_39, &ett_lte_rrc_SoundingRS_UL_ConfigDedicated, - &ett_lte_rrc_T_setup_42, + &ett_lte_rrc_T_setup_40, &ett_lte_rrc_SoundingRS_UL_ConfigDedicated_v1020, &ett_lte_rrc_SoundingRS_UL_ConfigDedicatedAperiodic_r10, - &ett_lte_rrc_T_setup_43, + &ett_lte_rrc_T_setup_41, &ett_lte_rrc_SEQUENCE_SIZE_1_3_OF_SRS_ConfigAp_r10, &ett_lte_rrc_T_srs_ActivateAp_r10, - &ett_lte_rrc_T_setup_44, + &ett_lte_rrc_T_setup_42, &ett_lte_rrc_SRS_ConfigAp_r10, &ett_lte_rrc_SPS_Config, &ett_lte_rrc_SPS_ConfigDL, - &ett_lte_rrc_T_setup_45, + &ett_lte_rrc_T_setup_43, &ett_lte_rrc_T_twoAntennaPortActivated_r10, - &ett_lte_rrc_T_setup_46, + &ett_lte_rrc_T_setup_44, &ett_lte_rrc_SPS_ConfigUL, - &ett_lte_rrc_T_setup_47, + &ett_lte_rrc_T_setup_45, &ett_lte_rrc_T_p0_Persistent, &ett_lte_rrc_T_p0_PersistentSubframeSet2_r12, + &ett_lte_rrc_T_setup_46, &ett_lte_rrc_N1PUCCH_AN_PersistentList, &ett_lte_rrc_TDD_Config, &ett_lte_rrc_TDD_Config_v1130, + &ett_lte_rrc_TDD_ConfigSL_r12, &ett_lte_rrc_TPC_PDCCH_Config, - &ett_lte_rrc_T_setup_48, + &ett_lte_rrc_T_setup_47, &ett_lte_rrc_TPC_Index, &ett_lte_rrc_UplinkPowerControlCommon, &ett_lte_rrc_UplinkPowerControlCommon_v1020, @@ -54316,9 +57093,9 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_UplinkPowerControlDedicated, &ett_lte_rrc_UplinkPowerControlDedicated_v1020, &ett_lte_rrc_UplinkPowerControlDedicated_v1130, - &ett_lte_rrc_UplinkPowerControlDedicated_v12x0, + &ett_lte_rrc_UplinkPowerControlDedicated_v1250, &ett_lte_rrc_T_set2PowerControlParameter, - &ett_lte_rrc_T_setup_49, + &ett_lte_rrc_T_setup_48, &ett_lte_rrc_UplinkPowerControlDedicatedSCell_r10, &ett_lte_rrc_DeltaFList_PUCCH, &ett_lte_rrc_DeltaTxD_OffsetListPUCCH_r10, @@ -54366,21 +57143,21 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_locationCoordinates_r10, &ett_lte_rrc_MeasConfig, &ett_lte_rrc_T_speedStatePars, - &ett_lte_rrc_T_setup_50, + &ett_lte_rrc_T_setup_49, &ett_lte_rrc_T_measScaleFactor_r12, &ett_lte_rrc_MeasIdToRemoveList, &ett_lte_rrc_MeasIdToRemoveListExt_r12, &ett_lte_rrc_MeasObjectToRemoveList, &ett_lte_rrc_ReportConfigToRemoveList, &ett_lte_rrc_MeasDS_Config_r12, - &ett_lte_rrc_T_setup_51, + &ett_lte_rrc_T_setup_50, &ett_lte_rrc_T_dmtc_PeriodOffset_r12, &ett_lte_rrc_T_ds_OccasionDuration_r12, &ett_lte_rrc_MeasCSI_RS_ToRemoveList_r12, &ett_lte_rrc_MeasCSI_RS_ToAddModList_r12, &ett_lte_rrc_MeasCSI_RS_Config_r12, &ett_lte_rrc_MeasGapConfig, - &ett_lte_rrc_T_setup_52, + &ett_lte_rrc_T_setup_51, &ett_lte_rrc_T_gapOffset, &ett_lte_rrc_MeasIdToAddModList, &ett_lte_rrc_MeasIdToAddModListExt_r12, @@ -54390,6 +57167,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_CellsToAddModListCDMA2000, &ett_lte_rrc_CellsToAddModCDMA2000, &ett_lte_rrc_MeasObjectEUTRA, + &ett_lte_rrc_T_t312_r12, &ett_lte_rrc_MeasObjectEUTRA_v9e0, &ett_lte_rrc_CellsToAddModList, &ett_lte_rrc_CellsToAddMod, @@ -54445,7 +57223,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_AdditionalSI_Info_r9, &ett_lte_rrc_QuantityConfig, &ett_lte_rrc_QuantityConfigEUTRA, - &ett_lte_rrc_QuantityConfigEUTRA_v12xy, + &ett_lte_rrc_QuantityConfigEUTRA_v1250, &ett_lte_rrc_QuantityConfigUTRA, &ett_lte_rrc_QuantityConfigUTRA_v1020, &ett_lte_rrc_QuantityConfigGERAN, @@ -54463,6 +57241,8 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_eventC1_r12, &ett_lte_rrc_T_eventC2_r12, &ett_lte_rrc_T_periodical, + &ett_lte_rrc_T_alternativeTimeToTrigger_r12, + &ett_lte_rrc_RSRQ_RangeConfig_r12, &ett_lte_rrc_ThresholdEUTRA, &ett_lte_rrc_ReportConfigInterRAT, &ett_lte_rrc_T_triggerType_01, @@ -54473,10 +57253,12 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_eventB2, &ett_lte_rrc_T_b2_Threshold2, &ett_lte_rrc_T_periodical_01, + &ett_lte_rrc_T_b2_Threshold1_v1250, &ett_lte_rrc_ThresholdUTRA, &ett_lte_rrc_ReportConfigToAddModList, &ett_lte_rrc_ReportConfigToAddMod, &ett_lte_rrc_T_reportConfig, + &ett_lte_rrc_RSRQ_Type_r12, &ett_lte_rrc_AreaConfiguration_r10, &ett_lte_rrc_AreaConfiguration_v1130, &ett_lte_rrc_CellGlobalIdList_r10, @@ -54505,7 +57287,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_UE_EUTRA_Capability_v9h0_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v10c0_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v10f0_IEs, - &ett_lte_rrc_T_nonCriticalExtension_48, + &ett_lte_rrc_T_nonCriticalExtension_53, &ett_lte_rrc_UE_EUTRA_Capability_v920_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v940_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v1020_IEs, @@ -54515,13 +57297,13 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_UE_EUTRA_Capability_v1170_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v1180_IEs, &ett_lte_rrc_UE_EUTRA_Capability_v11a0_IEs, - &ett_lte_rrc_UE_EUTRA_Capability_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_49, + &ett_lte_rrc_UE_EUTRA_Capability_v1250_IEs, + &ett_lte_rrc_T_nonCriticalExtension_54, &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_r9, &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1060, &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1130, &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1180, - &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v12xy, + &ett_lte_rrc_UE_EUTRA_CapabilityAddXDD_Mode_v1250, &ett_lte_rrc_DC_Parameters_r12, &ett_lte_rrc_MAC_Parameters_r12, &ett_lte_rrc_RLC_Parameters_r12, @@ -54534,7 +57316,7 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_PhyLayerParameters_v1020, &ett_lte_rrc_PhyLayerParameters_v1130, &ett_lte_rrc_PhyLayerParameters_v1170, - &ett_lte_rrc_PhyLayerParameters_v12xy, + &ett_lte_rrc_PhyLayerParameters_v1250, &ett_lte_rrc_NonContiguousUL_RA_WithinCC_List_r10, &ett_lte_rrc_NonContiguousUL_RA_WithinCC_r10, &ett_lte_rrc_RF_Parameters, @@ -54546,14 +57328,14 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_RF_Parameters_v1130, &ett_lte_rrc_RF_Parameters_v1180, &ett_lte_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicator_r11, - &ett_lte_rrc_RF_Parameters_v12xy, + &ett_lte_rrc_RF_Parameters_v1250, &ett_lte_rrc_SupportedBandCombination_r10, &ett_lte_rrc_SupportedBandCombinationExt_r10, &ett_lte_rrc_SupportedBandCombination_v1090, &ett_lte_rrc_SupportedBandCombination_v1130, - &ett_lte_rrc_SupportedBandCombination_v12xy, + &ett_lte_rrc_SupportedBandCombination_v1250, &ett_lte_rrc_SupportedBandCombinationAdd_r11, - &ett_lte_rrc_SupportedBandCombinationAdd_v12xy, + &ett_lte_rrc_SupportedBandCombinationAdd_v1250, &ett_lte_rrc_BandCombinationParameters_r10, &ett_lte_rrc_BandCombinationParametersExt_r10, &ett_lte_rrc_BandCombinationParameters_v1090, @@ -54561,9 +57343,9 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_r10_OF_BandParameters_v1130, &ett_lte_rrc_BandCombinationParameters_r11, &ett_lte_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_r10_OF_BandParameters_r11, - &ett_lte_rrc_BandCombinationParameters_v12xy, + &ett_lte_rrc_BandCombinationParameters_v1250, &ett_lte_rrc_T_dc_Support_r12, - &ett_lte_rrc_T_supported_r12, + &ett_lte_rrc_T_supportedCellGrouping_r12, &ett_lte_rrc_BandParameters_r10, &ett_lte_rrc_BandParameters_v1090, &ett_lte_rrc_BandParameters_v1130, @@ -54574,15 +57356,15 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_CA_MIMO_ParametersDL_r10, &ett_lte_rrc_SupportedBandListEUTRA, &ett_lte_rrc_SupportedBandListEUTRA_v9e0, - &ett_lte_rrc_SupportedBandListEUTRA_v12xy, + &ett_lte_rrc_SupportedBandListEUTRA_v1250, &ett_lte_rrc_SupportedBandEUTRA, &ett_lte_rrc_SupportedBandEUTRA_v9e0, - &ett_lte_rrc_SupportedBandEUTRA_v12xy, + &ett_lte_rrc_SupportedBandEUTRA_v1250, &ett_lte_rrc_MeasParameters, &ett_lte_rrc_MeasParameters_v1020, &ett_lte_rrc_MeasParameters_v1130, &ett_lte_rrc_MeasParameters_v11a0, - &ett_lte_rrc_MeasParameters_v12xy, + &ett_lte_rrc_MeasParameters_v1250, &ett_lte_rrc_BandListEUTRA, &ett_lte_rrc_BandCombinationListEUTRA_r10, &ett_lte_rrc_BandInfoEUTRA, @@ -54616,14 +57398,18 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_NeighCellSI_AcquisitionParameters_r9, &ett_lte_rrc_SON_Parameters_r9, &ett_lte_rrc_UE_BasedNetwPerfMeasParameters_r10, - &ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v12xy, + &ett_lte_rrc_UE_BasedNetwPerfMeasParameters_v1250, &ett_lte_rrc_OTDOA_PositioningCapabilities_r10, &ett_lte_rrc_Other_Parameters_r11, &ett_lte_rrc_MBMS_Parameters_r11, - &ett_lte_rrc_MBMS_Parameters_v12xy, + &ett_lte_rrc_MBMS_Parameters_v1250, &ett_lte_rrc_WLAN_IW_Parameters_r12, &ett_lte_rrc_NAICS_Capability_List_r12, &ett_lte_rrc_NAICS_Capability_Entry_r12, + &ett_lte_rrc_SL_Parameters_r12, + &ett_lte_rrc_SupportedBandInfoList_r12, + &ett_lte_rrc_SupportedBandInfo_r12, + &ett_lte_rrc_FreqBandIndicatorListEUTRA_r12, &ett_lte_rrc_UE_RadioPagingInfo_r12, &ett_lte_rrc_UE_TimersAndConstants, &ett_lte_rrc_VisitedCellInfoList_r12, @@ -54656,49 +57442,57 @@ void proto_register_lte_rrc(void) { &ett_lte_rrc_T_dataMCS_r12, &ett_lte_rrc_TMGI_r9, &ett_lte_rrc_T_plmn_Id_r9, - &ett_lte_rrc_HandoverCommand, - &ett_lte_rrc_T_criticalExtensions_39, - &ett_lte_rrc_T_c1_35, - &ett_lte_rrc_T_criticalExtensionsFuture_39, - &ett_lte_rrc_HandoverCommand_r8_IEs, - &ett_lte_rrc_T_nonCriticalExtension_50, - &ett_lte_rrc_HandoverPreparationInformation, - &ett_lte_rrc_T_criticalExtensions_40, - &ett_lte_rrc_T_c1_36, - &ett_lte_rrc_T_criticalExtensionsFuture_40, - &ett_lte_rrc_HandoverPreparationInformation_r8_IEs, - &ett_lte_rrc_HandoverPreparationInformation_v920_IEs, - &ett_lte_rrc_HandoverPreparationInformation_v9d0_IEs, - &ett_lte_rrc_HandoverPreparationInformation_v9e0_IEs, - &ett_lte_rrc_HandoverPreparationInformation_v1130_IEs, - &ett_lte_rrc_HandoverPreparationInformation_v12xy_IEs, - &ett_lte_rrc_T_nonCriticalExtension_51, - &ett_lte_rrc_SCG_Config_r12, - &ett_lte_rrc_T_criticalExtensions_41, - &ett_lte_rrc_T_c1_37, - &ett_lte_rrc_T_criticalExtensionsFuture_41, - &ett_lte_rrc_SCG_Config_r12_IEs, - &ett_lte_rrc_T_nonCriticalExtension_52, - &ett_lte_rrc_UERadioAccessCapabilityInformation, - &ett_lte_rrc_T_criticalExtensions_42, - &ett_lte_rrc_T_c1_38, - &ett_lte_rrc_T_criticalExtensionsFuture_42, - &ett_lte_rrc_UERadioAccessCapabilityInformation_r8_IEs, - &ett_lte_rrc_T_nonCriticalExtension_53, - &ett_lte_rrc_AS_Config, - &ett_lte_rrc_AS_Config_v9e0, - &ett_lte_rrc_AS_Config_v12xy, - &ett_lte_rrc_AS_Context, - &ett_lte_rrc_AS_Context_v1130, - &ett_lte_rrc_ReestablishmentInfo, - &ett_lte_rrc_AdditionalReestabInfoList, - &ett_lte_rrc_AdditionalReestabInfo, - &ett_lte_rrc_RRM_Config, - &ett_lte_rrc_CandidateCellInfoList_r10, - &ett_lte_rrc_CandidateCellInfo_r10, + &ett_lte_rrc_SL_CommConfig_r12, + &ett_lte_rrc_T_commTxResources_r12, + &ett_lte_rrc_T_setup_55, + &ett_lte_rrc_T_scheduled_r12, + &ett_lte_rrc_T_ue_Selected_r12, + &ett_lte_rrc_T_commTxPoolNormalDedicated_r12, + &ett_lte_rrc_SL_CommTxPoolToAddModList_r12, + &ett_lte_rrc_SL_CommTxPoolToAddMod_r12, + &ett_lte_rrc_MAC_MainConfigSL_r12, + &ett_lte_rrc_SL_CommTxPoolList_r12, + &ett_lte_rrc_SL_CommRxPoolList_r12, + &ett_lte_rrc_SL_CommResourcePool_r12, + &ett_lte_rrc_T_ue_SelectedResourceConfig_r12, + &ett_lte_rrc_T_rxParametersNCell_r12, + &ett_lte_rrc_T_txParameters_r12, + &ett_lte_rrc_SL_DiscConfig_r12, + &ett_lte_rrc_T_discTxResources_r12, + &ett_lte_rrc_T_setup_56, + &ett_lte_rrc_T_scheduled_r12_01, + &ett_lte_rrc_T_ue_Selected_r12_01, + &ett_lte_rrc_T_discTxPoolDedicated_r12, + &ett_lte_rrc_SL_DiscTxPoolToAddModList_r12, + &ett_lte_rrc_SL_DiscTxPoolToAddMod_r12, + &ett_lte_rrc_SL_TF_IndexPairList_r12, + &ett_lte_rrc_SL_TF_IndexPair_r12, + &ett_lte_rrc_SL_DiscTxPoolList_r12, + &ett_lte_rrc_SL_DiscRxPoolList_r12, + &ett_lte_rrc_SL_DiscResourcePool_r12, + &ett_lte_rrc_T_txParameters_r12_01, + &ett_lte_rrc_T_ue_SelectedResourceConfig_r12_01, + &ett_lte_rrc_T_poolSelection_r12, + &ett_lte_rrc_T_rxParameters_r12, + &ett_lte_rrc_SL_PoolSelectionConfig_r12, + &ett_lte_rrc_SL_DiscTxPowerInfoList_r12, + &ett_lte_rrc_SL_DiscTxPowerInfo_r12, + &ett_lte_rrc_SL_HoppingConfigComm_r12, + &ett_lte_rrc_SL_HoppingConfigDisc_r12, + &ett_lte_rrc_SL_OffsetIndicator_r12, + &ett_lte_rrc_SL_SyncConfigList_r12, + &ett_lte_rrc_SL_SyncConfig_r12, + &ett_lte_rrc_T_txParameters_r12_02, + &ett_lte_rrc_T_rxParamsNCell_r12, + &ett_lte_rrc_SL_TF_ResourceConfig_r12, + &ett_lte_rrc_SubframeBitmapSL_r12, + &ett_lte_rrc_SL_TxParameters_r12, + &ett_lte_rrc_SL_TxPoolToReleaseList_r12, + &ett_lte_rrc_SBCCH_SL_BCH_Message, + &ett_lte_rrc_MasterInformationBlock_SL, /*--- End of included file: packet-lte-rrc-ettarr.c ---*/ -#line 3283 "../../asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3353 "../../asn1/lte-rrc/packet-lte-rrc-template.c" &ett_lte_rrc_featureGroupIndicators, &ett_lte_rrc_featureGroupIndRel9Add, @@ -54768,10 +57562,11 @@ void proto_register_lte_rrc(void) { new_register_dissector("lte-rrc.ul.dcch", dissect_UL_DCCH_Message_PDU, proto_lte_rrc); new_register_dissector("lte-rrc.ue_cap_info", dissect_UECapabilityInformation_PDU, proto_lte_rrc); new_register_dissector("lte-rrc.ue_eutra_cap", dissect_lte_rrc_UE_EUTRA_Capability_PDU, proto_lte_rrc); + new_register_dissector("lte-rrc.sbcch.sl_bch", dissect_SBCCH_SL_BCH_Message_PDU, proto_lte_rrc); /*--- End of included file: packet-lte-rrc-dis-reg.c ---*/ -#line 3340 "../../asn1/lte-rrc/packet-lte-rrc-template.c" +#line 3410 "../../asn1/lte-rrc/packet-lte-rrc-template.c" register_init_routine(<e_rrc_init_protocol); } diff --git a/epan/dissectors/packet-lte-rrc.h b/epan/dissectors/packet-lte-rrc.h index 0f3fc7c450..e6a588c0b8 100644 --- a/epan/dissectors/packet-lte-rrc.h +++ b/epan/dissectors/packet-lte-rrc.h @@ -1,7 +1,7 @@ /* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-lte-rrc.h */ -/* ../../tools/asn2wrs.py -L -p lte-rrc -c ./lte-rrc.cnf -s ./packet-lte-rrc-template -D . -O ../../epan/dissectors EUTRA-RRC-Definitions.asn EUTRA-UE-Variables.asn EUTRA-InterNodeDefinitions.asn */ +/* ../../tools/asn2wrs.py -L -p lte-rrc -c ./lte-rrc.cnf -s ./packet-lte-rrc-template -D . -O ../../epan/dissectors EUTRA-InterNodeDefinitions.asn EUTRA-RRC-Definitions.asn EUTRA-Sidelink-Preconf.asn EUTRA-UE-Variables.asn PC5-RRC-Definitions.asn */ /* Input file: packet-lte-rrc-template.h */ @@ -34,14 +34,14 @@ /*--- Included file: packet-lte-rrc-exp.h ---*/ #line 1 "../../asn1/lte-rrc/packet-lte-rrc-exp.h" -int dissect_lte_rrc_UE_EUTRA_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_lte_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_lte_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_lte_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); -int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UE_EUTRA_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_lte_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); int dissect_lte_rrc_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +int dissect_lte_rrc_UE_EUTRA_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); /*--- End of included file: packet-lte-rrc-exp.h ---*/ #line 27 "../../asn1/lte-rrc/packet-lte-rrc-template.h" diff --git a/tools/extract_asn1_from_spec.pl b/tools/extract_asn1_from_spec.pl index 33aa4ef9f9..add9c4df38 100755 --- a/tools/extract_asn1_from_spec.pl +++ b/tools/extract_asn1_from_spec.pl @@ -77,7 +77,7 @@ sub extract_asn1 { } if(($file_name_found == 0) && ($line =~ m/DEFINITIONS AUTOMATIC TAGS ::=/)){ - ($output_file_name) = ($line =~ m/^([a-zA-Z\-]+)\s+DEFINITIONS AUTOMATIC TAGS ::=/); + ($output_file_name) = ($line =~ m/^([a-zA-Z0-9\-]+)\s+DEFINITIONS AUTOMATIC TAGS ::=/); $output_file_name = "$output_file_name".".asn"; print "generating $output_file_name\n"; open(OUTPUT_FILE, "> $output_file_name") or die "Can not open file $output_file_name";