diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2016-03-09 03:17:51 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2016-03-13 21:30:24 +0000 |
commit | 54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch) | |
tree | 7aacae160382098ce651ac862a5dfd5de4beff94 /epan/dissectors/asn1/lte-rrc | |
parent | c1f3c935bdd33090c87f0d2f84842ce9729b747a (diff) |
Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9
Reviewed-on: https://code.wireshark.org/review/14388
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/asn1/lte-rrc')
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/CMakeLists.txt | 56 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn | 419 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn | 8224 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn | 130 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn | 174 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/Makefile.am | 23 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/Makefile.common | 47 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/Makefile.nmake | 26 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn | 31 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/lte-rrc.cnf | 2078 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c | 3769 | ||||
-rw-r--r-- | epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h | 28 |
12 files changed, 15005 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/lte-rrc/CMakeLists.txt b/epan/dissectors/asn1/lte-rrc/CMakeLists.txt new file mode 100644 index 0000000000..7879c75a7d --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/CMakeLists.txt @@ -0,0 +1,56 @@ +# CMakeLists.txt +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +set( PROTOCOL_NAME lte-rrc ) + +set( PROTO_OPT ) + +set( EXPORT_FILES + ${PROTOCOL_NAME}-exp.cnf +) + +set( EXT_ASN_FILE_LIST +) + +set( ASN_FILE_LIST + EUTRA-InterNodeDefinitions.asn + EUTRA-RRC-Definitions.asn + EUTRA-Sidelink-Preconf.asn + EUTRA-UE-Variables.asn + PC5-RRC-Definitions.asn +) + +set( EXTRA_DIST + ${ASN_FILE_LIST} + packet-${PROTOCOL_NAME}-template.c + packet-${PROTOCOL_NAME}-template.h + ${PROTOCOL_NAME}.cnf +) + +set( SRC_FILES + ${EXTRA_DIST} + ${EXT_ASN_FILE_LIST} +) + +set( A2W_FLAGS -L ) + +ASN2WRS() + diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn new file mode 100644 index 0000000000..fbfb2b8fc9 --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/EUTRA-InterNodeDefinitions.asn @@ -0,0 +1,419 @@ +-- 3GPP TS 36.331 V13.0.0 (2015-12) +-- +EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AntennaInfoCommon, + AntennaInfoDedicated-v10i0, + ARFCN-ValueEUTRA, + ARFCN-ValueEUTRA-v9e0, + ARFCN-ValueEUTRA-r9, + CellIdentity, + C-RNTI, + DL-DCCH-Message, + DRB-Identity, + DRB-ToReleaseList, + FreqBandIndicator-r11, + InDeviceCoexIndication-r11, + MasterInformationBlock, + maxBands, + maxFreq, + maxDRB, + maxSCell-r10, + maxSCell-r13, + maxSCell-Plus1, + maxServCell-r10, + maxServCell-Plus1, + maxServCell-r13, + MBMSInterestIndication-r11, + MeasConfig, + MeasGapConfig, + OtherConfig-r9, + PhysCellId, + P-Max, + PowerCoordinationInfo-r12, + SidelinkUEInformation-r12, + SL-CommConfig-r12, + SL-DiscConfig-r12, + RadioResourceConfigDedicated, + RSRP-Range, + RSRQ-Range, + RSRQ-Range-v1250, + RS-SINR-Range-r13, + SCellToAddModList-r10, + SCellToAddModListExt-r13, + SCG-ConfigPartSCG-r12, + SecurityAlgorithmConfig, + SCellIndex-r10, + SCellIndex-r13, + SCellToReleaseList-r10, + SCellToReleaseListExt-r13, + ServCellIndex-r10, + ServCellIndexFull-r13, + ShortMAC-I, + MeasResultSSTD-r13, + SystemInformationBlockType1, + SystemInformationBlockType1-v890-IEs, + SystemInformationBlockType2, + UEAssistanceInformation-r11, + UECapabilityInformation, + UE-CapabilityRAT-ContainerList, + UE-RadioPagingInfo-r12, + WLAN-OffloadConfig-r12 +FROM EUTRA-RRC-Definitions; + + +HandoverCommand ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverCommand-r8 HandoverCommand-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverCommand-r8-IEs ::= SEQUENCE { + handoverCommandMessage OCTET STRING (CONTAINING DL-DCCH-Message), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +HandoverPreparationInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverPreparationInformation-r8 HandoverPreparationInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverPreparationInformation-r8-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList, + as-Config AS-Config OPTIONAL, -- Cond HO + rrm-Config RRM-Config OPTIONAL, + as-Context AS-Context OPTIONAL, -- Cond HO + nonCriticalExtension HandoverPreparationInformation-v920-IEs OPTIONAL +} + +HandoverPreparationInformation-v920-IEs ::= SEQUENCE { + ue-ConfigRelease-r9 ENUMERATED { + rel9, rel10, rel11, rel12, v10j0, v11e0, + v1280, spare1, ...} OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v9d0-IEs OPTIONAL +} + +HandoverPreparationInformation-v9d0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING HandoverPreparationInformation-v9j0-IEs) OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v9e0-IEs OPTIONAL +} + +-- Late non-critical extensions: +HandoverPreparationInformation-v9j0-IEs ::= SEQUENCE { + -- Following field is only for pre REL-10 late non-critical extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v10j0-IEs OPTIONAL +} + +HandoverPreparationInformation-v10j0-IEs ::= SEQUENCE { + as-Config-v10j0 AS-Config-v10j0 OPTIONAL, + -- Following field is only for late non-critical extensions from REL-10 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non-critical extensions: +HandoverPreparationInformation-v9e0-IEs ::= SEQUENCE { + as-Config-v9e0 AS-Config-v9e0 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1130-IEs OPTIONAL +} + +HandoverPreparationInformation-v1130-IEs ::= SEQUENCE { + as-Context-v1130 AS-Context-v1130 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1250-IEs OPTIONAL +} + +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 +} + + +SCG-Config-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + scg-Config-r12 SCG-Config-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCG-Config-r12-IEs ::= SEQUENCE { + scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCG-ConfigInfo-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + scg-ConfigInfo-r12 SCG-ConfigInfo-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCG-ConfigInfo-r12-IEs ::= SEQUENCE { + radioResourceConfigDedMCG-r12 RadioResourceConfigDedicated OPTIONAL, + sCellToAddModListMCG-r12 SCellToAddModList-r10 OPTIONAL, + measGapConfig-r12 MeasGapConfig OPTIONAL, + powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, + scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL, + eutra-CapabilityInfo-r12 OCTET STRING (CONTAINING UECapabilityInformation) OPTIONAL, + scg-ConfigRestrictInfo-r12 SCG-ConfigRestrictInfo-r12 OPTIONAL, + mbmsInterestIndication-r12 OCTET STRING (CONTAINING + MBMSInterestIndication-r11) OPTIONAL, + measResultServCellListSCG-r12 MeasResultServCellListSCG-r12 OPTIONAL, + drb-ToAddModListSCG-r12 DRB-InfoListSCG-r12 OPTIONAL, + drb-ToReleaseListSCG-r12 DRB-ToReleaseList OPTIONAL, + sCellToAddModListSCG-r12 SCellToAddModListSCG-r12 OPTIONAL, + sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, + p-Max-r12 P-Max OPTIONAL, + nonCriticalExtension SCG-ConfigInfo-v13x0-IEs OPTIONAL +} + +SCG-ConfigInfo-v13x0-IEs ::= SEQUENCE { + measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL, sCellToAddModListMCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL, + measResultServCellListSCG-Ext-r13 MeasResultServCellListSCG-Ext-r13 OPTIONAL, + sCellToAddModListSCG-Ext-r13 SCellToAddModListSCG-Ext-r13 OPTIONAL, + sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-InfoListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-InfoSCG-r12 + +DRB-InfoSCG-r12 ::= SEQUENCE { + eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + drb-Identity-r12 DRB-Identity, + drb-Type-r12 ENUMERATED {split, scg} OPTIONAL, -- Cond DRB-Setup + ... +} + +SCellToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF Cell-ToAddMod-r12 + +SCellToAddModListSCG-Ext-r13 ::= SEQUENCE (SIZE (maxSCell-Plus1..maxSCell-r13)) OF Cell-ToAddMod-r12 + +Cell-ToAddMod-r12 ::= SEQUENCE { + sCellIndex-r12 SCellIndex-r10, + cellIdentification-r12 SEQUENCE { + physCellId-r12 PhysCellId, + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + measResultCellToAdd-r12 SEQUENCE { + rsrpResult-r12 RSRP-Range, + rsrqResult-r12 RSRQ-Range + } OPTIONAL, -- Cond SCellAdd2 + ..., + [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL, + measResultCellToAdd-v13xy SEQUENCE { + rs-sinrResult-r13 RS-SINR-Range-r13 + } OPTIONAL -- Cond SCellAdd2 + ]] +} + +MeasResultServCellListSCG-r12 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServCellSCG-r12 + +MeasResultServCellListSCG-Ext-r13 ::= SEQUENCE (SIZE (maxServCell-Plus1..maxServCell-r13)) OF MeasResultServCellSCG-r12 + +MeasResultServCellSCG-r12 ::= SEQUENCE { + servCellId-r12 ServCellIndex-r10, + measResultSCell-r12 SEQUENCE { + rsrpResultSCell-r12 RSRP-Range, + rsrqResultSCell-r12 RSRQ-Range + }, + ..., + [[ servCellId-r13 ServCellIndexFull-r13 OPTIONAL, + measResultSCell-v13xy SEQUENCE { + rs-sinrResultSCell-r13 RS-SINR-Range-r13 + } OPTIONAL + ]] +} + +SCG-ConfigRestrictInfo-r12 ::= SEQUENCE { + maxSCH-TB-BitsDL-r12 INTEGER (1..100), + maxSCH-TB-BitsUL-r12 INTEGER (1..100) +} + + +UERadioAccessCapabilityInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioAccessCapabilityInformation-r8 + UERadioAccessCapabilityInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UERadioPagingInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioPagingInformation-r12 UERadioPagingInformation-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioPagingInformation-r12-IEs ::= SEQUENCE { + ue-RadioPagingInfo-r12 OCTET STRING (CONTAINING UE-RadioPagingInfo-r12), + nonCriticalExtension UERadioPagingInformation-v13xy-IEs OPTIONAL +} + +UERadioPagingInformation-v13xy-IEs ::= SEQUENCE { + supportedBandListEUTRAForPaging-r13 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL + +} + + +AS-Config ::= SEQUENCE { + sourceMeasConfig MeasConfig, + sourceRadioResourceConfig RadioResourceConfigDedicated, + sourceSecurityAlgorithmConfig SecurityAlgorithmConfig, + sourceUE-Identity C-RNTI, + sourceMasterInformationBlock MasterInformationBlock, + sourceSystemInformationBlockType1 SystemInformationBlockType1(WITH COMPONENTS + {..., nonCriticalExtension ABSENT}), + sourceSystemInformationBlockType2 SystemInformationBlockType2, + antennaInfoCommon AntennaInfoCommon, + sourceDl-CarrierFreq ARFCN-ValueEUTRA, + ..., + [[ sourceSystemInformationBlockType1Ext OCTET STRING (CONTAINING + SystemInformationBlockType1-v890-IEs) OPTIONAL, + sourceOtherConfig-r9 OtherConfig-r9 + -- sourceOtherConfig-r9 should have been optional. A target eNB compliant with this transfer + -- syntax should support receiving an AS-Config not including this extension addition group + -- e.g. from a legacy source eNB + ]], + [[ sourceSCellConfigList-r10 SCellToAddModList-r10 OPTIONAL + ]], + [[ sourceConfigSCG-r12 SCG-Config-r12 OPTIONAL + ]] +} + +AS-Config-v9e0 ::= SEQUENCE { + sourceDl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +AS-Config-v10j0 ::= SEQUENCE { + antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 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 +} + + +AS-Context ::= SEQUENCE { + reestablishmentInfo ReestablishmentInfo OPTIONAL -- Cond HO +} + +AS-Context-v1130 ::= SEQUENCE { + idc-Indication-r11 OCTET STRING (CONTAINING + InDeviceCoexIndication-r11) OPTIONAL, -- Cond HO2 + mbmsInterestIndication-r11 OCTET STRING (CONTAINING + 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 + ]] +} + + +ReestablishmentInfo ::= SEQUENCE { + sourcePhysCellId PhysCellId, + targetCellShortMAC-I ShortMAC-I, + additionalReestabInfoList AdditionalReestabInfoList OPTIONAL, + ... +} + +AdditionalReestabInfoList ::= SEQUENCE ( SIZE (1..maxReestabInfo) ) OF AdditionalReestabInfo + +AdditionalReestabInfo ::= SEQUENCE{ + cellIdentity CellIdentity, + key-eNodeB-Star Key-eNodeB-Star, + shortMAC-I ShortMAC-I +} + +Key-eNodeB-Star ::= BIT STRING (SIZE (256)) + + +RRM-Config ::= SEQUENCE { + ue-InactiveTime ENUMERATED { + s1, s2, s3, s5, s7, s10, s15, s20, + s25, s30, s40, s50, min1, min1s20c, min1s40, + min2, min2s30, min3, min3s30, min4, min5, min6, + min7, min8, min9, min10, min12, min14, min17, min20, + min24, min28, min33, min38, min44, min50, hr1, + hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6, + hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2, + day2hr12, day3, day4, day5, day7, day10, day14, day19, + day24, day30, dayMoreThan30} OPTIONAL, + ..., + [[ candidateCellInfoList-r10 CandidateCellInfoList-r10 OPTIONAL + ]] +} + +CandidateCellInfoList-r10 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellInfo-r10 + +CandidateCellInfo-r10 ::= SEQUENCE { + -- cellIdentification + physCellId-r10 PhysCellId, + dl-CarrierFreq-r10 ARFCN-ValueEUTRA, + -- available measurement results + rsrpResult-r10 RSRP-Range OPTIONAL, + rsrqResult-r10 RSRQ-Range OPTIONAL, + ..., + [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL + ]], + [[ rsrqResult-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ rs-sinrResult-v13xy RS-SINR-Range-r13 OPTIONAL + ]] +} + + +maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwarded + -- at handover for re-establishment preparation + + +END diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn new file mode 100644 index 0000000000..c58eb02f0f --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/EUTRA-RRC-Definitions.asn @@ -0,0 +1,8224 @@ +-- 3GPP TS 36.331 V13.0.0 (2015-12) +-- +EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + + +BCCH-BCH-Message ::= SEQUENCE { + message BCCH-BCH-MessageType +} + +BCCH-BCH-MessageType ::= MasterInformationBlock + + +BCCH-DL-SCH-Message ::= SEQUENCE { + message BCCH-DL-SCH-MessageType +} + +BCCH-DL-SCH-MessageType ::= CHOICE { + c1 CHOICE { + systemInformation SystemInformation, + systemInformationBlockType1 SystemInformationBlockType1 + }, + messageClassExtension SEQUENCE {} +} + + +MCCH-Message ::= SEQUENCE { + message MCCH-MessageType +} + +MCCH-MessageType ::= CHOICE { + c1 CHOICE { + mbsfnAreaConfiguration-r9 MBSFNAreaConfiguration-r9 + }, + later CHOICE { + c2 CHOICE{ + mbmsCountingRequest-r10 MBMSCountingRequest-r10 + }, + messageClassExtension SEQUENCE {} + } +} + + +PCCH-Message ::= SEQUENCE { + message PCCH-MessageType +} + +PCCH-MessageType ::= CHOICE { + c1 CHOICE { + paging Paging + }, + messageClassExtension SEQUENCE {} +} + + +DL-CCCH-Message ::= SEQUENCE { + message DL-CCCH-MessageType +} + +DL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishment RRCConnectionReestablishment, + rrcConnectionReestablishmentReject RRCConnectionReestablishmentReject, + rrcConnectionReject RRCConnectionReject, + rrcConnectionSetup RRCConnectionSetup + }, + messageClassExtension SEQUENCE {} +} + + +DL-DCCH-Message ::= SEQUENCE { + message DL-DCCH-MessageType +} + +DL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + csfbParametersResponseCDMA2000 CSFBParametersResponseCDMA2000, + dlInformationTransfer DLInformationTransfer, + handoverFromEUTRAPreparationRequest HandoverFromEUTRAPreparationRequest, + mobilityFromEUTRACommand MobilityFromEUTRACommand, + rrcConnectionReconfiguration RRCConnectionReconfiguration, + rrcConnectionRelease RRCConnectionRelease, + securityModeCommand SecurityModeCommand, + ueCapabilityEnquiry UECapabilityEnquiry, + counterCheck CounterCheck, + ueInformationRequest-r9 UEInformationRequest-r9, + loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10, + rnReconfiguration-r10 RNReconfiguration-r10, + spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + + +UL-CCCH-Message ::= SEQUENCE { + message UL-CCCH-MessageType +} + +UL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishmentRequest RRCConnectionReestablishmentRequest, + rrcConnectionRequest RRCConnectionRequest + }, + messageClassExtension SEQUENCE {} +} + + +UL-DCCH-Message ::= SEQUENCE { + message UL-DCCH-MessageType +} + +UL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + csfbParametersRequestCDMA2000 CSFBParametersRequestCDMA2000, + measurementReport MeasurementReport, + rrcConnectionReconfigurationComplete RRCConnectionReconfigurationComplete, + rrcConnectionReestablishmentComplete RRCConnectionReestablishmentComplete, + rrcConnectionSetupComplete RRCConnectionSetupComplete, + securityModeComplete SecurityModeComplete, + securityModeFailure SecurityModeFailure, + ueCapabilityInformation UECapabilityInformation, + ulHandoverPreparationTransfer ULHandoverPreparationTransfer, + ulInformationTransfer ULInformationTransfer, + counterCheckResponse CounterCheckResponse, + ueInformationResponse-r9 UEInformationResponse-r9, + proximityIndication-r9 ProximityIndication-r9, + rnReconfigurationComplete-r10 RNReconfigurationComplete-r10, + mbmsCountingResponse-r10 MBMSCountingResponse-r10, + interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10 + }, + messageClassExtension CHOICE { + c2 CHOICE { + ueAssistanceInformation-r11 UEAssistanceInformation-r11, + inDeviceCoexIndication-r11 InDeviceCoexIndication-r11, + mbmsInterestIndication-r11 MBMSInterestIndication-r11, + scgFailureInformation-r12 SCGFailureInformation-r12, + 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 + }, + messageClassExtensionFuture-r11 SEQUENCE {} + } +} + + +SC-MCCH-Message ::= SEQUENCE { + message SC-MCCH-MessageType +} + + +SC-MCCH-MessageType ::= CHOICE { + c1 CHOICE { + scptmConfiguration-r13 SCPTMConfiguration-r13 + }, + messageClassExtension SEQUENCE {} +} + + +CounterCheck ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + counterCheck-r8 CounterCheck-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheck-r8-IEs ::= SEQUENCE { + drb-CountMSB-InfoList DRB-CountMSB-InfoList, + nonCriticalExtension CounterCheck-v8a0-IEs OPTIONAL +} + +CounterCheck-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-CountMSB-InfoList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info + +DRB-CountMSB-Info ::= SEQUENCE { + drb-Identity DRB-Identity, + countMSB-Uplink INTEGER(0..33554431), + countMSB-Downlink INTEGER(0..33554431) +} + + +CounterCheckResponse ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + counterCheckResponse-r8 CounterCheckResponse-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheckResponse-r8-IEs ::= SEQUENCE { + drb-CountInfoList DRB-CountInfoList, + nonCriticalExtension CounterCheckResponse-v8a0-IEs OPTIONAL +} + +CounterCheckResponse-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo + +DRB-CountInfo ::= SEQUENCE { + drb-Identity DRB-Identity, + count-Uplink INTEGER(0..4294967295), + count-Downlink INTEGER(0..4294967295) +} + + +CSFBParametersRequestCDMA2000 ::= SEQUENCE { + criticalExtensions CHOICE { + csfbParametersRequestCDMA2000-r8 CSFBParametersRequestCDMA2000-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CSFBParametersRequestCDMA2000-r8-IEs ::= SEQUENCE { + nonCriticalExtension CSFBParametersRequestCDMA2000-v8a0-IEs OPTIONAL +} + +CSFBParametersRequestCDMA2000-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +CSFBParametersResponseCDMA2000 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + csfbParametersResponseCDMA2000-r8 CSFBParametersResponseCDMA2000-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CSFBParametersResponseCDMA2000-r8-IEs ::= SEQUENCE { + rand RAND-CDMA2000, + mobilityParameters MobilityParametersCDMA2000, + nonCriticalExtension CSFBParametersResponseCDMA2000-v8a0-IEs OPTIONAL +} + +CSFBParametersResponseCDMA2000-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +DLInformationTransfer ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + dlInformationTransfer-r8 DLInformationTransfer-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLInformationTransfer-r8-IEs ::= SEQUENCE { + dedicatedInfoType CHOICE { + dedicatedInfoNAS DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000 + }, + nonCriticalExtension DLInformationTransfer-v8a0-IEs OPTIONAL +} + +DLInformationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +HandoverFromEUTRAPreparationRequest ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + handoverFromEUTRAPreparationRequest-r8 + HandoverFromEUTRAPreparationRequest-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverFromEUTRAPreparationRequest-r8-IEs ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + rand RAND-CDMA2000 OPTIONAL, -- Cond cdma2000-Type + mobilityParameters MobilityParametersCDMA2000 OPTIONAL, -- Cond cdma2000-Type + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v890-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v920-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v920-IEs ::= SEQUENCE { + concurrPrepCDMA2000-HRPD-r9 BOOLEAN OPTIONAL, -- Cond cdma2000-Type + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v1020-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v1020-IEs ::= SEQUENCE { + dualRxTxRedirectIndicator-r10 ENUMERATED {true} OPTIONAL, -- Cond cdma2000-1XRTT + redirectCarrierCDMA2000-1XRTT-r10 CarrierFreqCDMA2000 OPTIONAL, -- Cond dualRxTxRedirect + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +InDeviceCoexIndication-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + inDeviceCoexIndication-r11 InDeviceCoexIndication-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +InDeviceCoexIndication-r11-IEs ::= SEQUENCE { + affectedCarrierFreqList-r11 AffectedCarrierFreqList-r11 OPTIONAL, + tdm-AssistanceInfo-r11 TDM-AssistanceInfo-r11 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v11d0-IEs OPTIONAL +} + +InDeviceCoexIndication-v11d0-IEs ::= SEQUENCE { + ul-CA-AssistanceInfo-r11 SEQUENCE { + affectedCarrierFreqCombList-r11 AffectedCarrierFreqCombList-r11 OPTIONAL, + victimSystemType-r11 VictimSystemType-r11 + } OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +AffectedCarrierFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF AffectedCarrierFreq-r11 + +AffectedCarrierFreq-r11 ::= SEQUENCE { + carrierFreq-r11 MeasObjectId, + interferenceDirection-r11 ENUMERATED {eutra, other, both, spare} +} + +AffectedCarrierFreqCombList-r11 ::= SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqComb-r11 + +AffectedCarrierFreqComb-r11 ::= SEQUENCE (SIZE (2..maxServCell-r10)) OF MeasObjectId + +TDM-AssistanceInfo-r11 ::= CHOICE { + drx-AssistanceInfo-r11 SEQUENCE { + drx-CycleLength-r11 ENUMERATED {sf40, sf64, sf80, sf128, sf160, + sf256, spare2, spare1}, + drx-Offset-r11 INTEGER (0..255) OPTIONAL, + drx-ActiveTime-r11 ENUMERATED {sf20, sf30, sf40, sf60, sf80, + sf100, spare2, spare1} + }, + idc-SubframePatternList-r11 IDC-SubframePatternList-r11, + ... +} + +IDC-SubframePatternList-r11 ::= SEQUENCE (SIZE (1..maxSubframePatternIDC-r11)) OF IDC-SubframePattern-r11 + +IDC-SubframePattern-r11 ::= CHOICE { + subframePatternFDD-r11 BIT STRING (SIZE (4)), + subframePatternTDD-r11 CHOICE { + subframeConfig0-r11 BIT STRING (SIZE (70)), + subframeConfig1-5-r11 BIT STRING (SIZE (10)), + subframeConfig6-r11 BIT STRING (SIZE (60)) + }, + ... +} + +VictimSystemType-r11 ::= SEQUENCE { + gps-r11 ENUMERATED {true} OPTIONAL, + glonass-r11 ENUMERATED {true} OPTIONAL, + bds-r11 ENUMERATED {true} OPTIONAL, + galileo-r11 ENUMERATED {true} OPTIONAL, + wlan-r11 ENUMERATED {true} OPTIONAL, + bluetooth-r11 ENUMERATED {true} OPTIONAL +} + + +InterFreqRSTDMeasurementIndication-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +InterFreqRSTDMeasurementIndication-r10-IEs ::= SEQUENCE { + rstd-InterFreqIndication-r10 CHOICE { + start SEQUENCE { + rstd-InterFreqInfoList-r10 RSTD-InterFreqInfoList-r10 + }, + stop NULL + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RSTD-InterFreqInfoList-r10 ::= SEQUENCE (SIZE(1..maxRSTD-Freq-r10)) OF RSTD-InterFreqInfo-r10 + +RSTD-InterFreqInfo-r10 ::= SEQUENCE { + carrierFreq-r10 ARFCN-ValueEUTRA, + measPRS-Offset-r10 INTEGER (0..39), + ..., + [[ carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL + ]] +} + + +LoggedMeasurementConfiguration-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + + +LoggedMeasurementConfiguration-r10-IEs ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, -- Need OR + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10, + nonCriticalExtension LoggedMeasurementConfiguration-v1080-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1080-IEs ::= SEQUENCE { + lateNonCriticalExtension-r10 OCTET STRING OPTIONAL, + nonCriticalExtension LoggedMeasurementConfiguration-v1130-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1130-IEs ::= SEQUENCE { + plmn-IdentityList-r11 PLMN-IdentityList3-r11 OPTIONAL, -- Need OR + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, -- Need OR + nonCriticalExtension LoggedMeasurementConfiguration-v1250-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1250-IEs ::= SEQUENCE { + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, -- Need OP + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +TargetMBSFN-AreaList-r12 ::= SEQUENCE (SIZE (0..maxMBSFN-Area)) OF TargetMBSFN-Area-r12 + +TargetMBSFN-Area-r12 ::= SEQUENCE { + mbsfn-AreaId-r12 MBSFN-AreaId-r12 OPTIONAL, -- Need OR + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + ... +} + + +MasterInformationBlock ::= SEQUENCE { + dl-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100}, + phich-Config PHICH-Config, + systemFrameNumber BIT STRING (SIZE (8)), + spare BIT STRING (SIZE (10)) +} + + + +MBMSCountingRequest-r10 ::= SEQUENCE { + countingRequestList-r10 CountingRequestList-r10, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CountingRequestList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingRequestInfo-r10 + +CountingRequestInfo-r10 ::= SEQUENCE { + tmgi-r10 TMGI-r9, + ... +} + + +MBMSCountingResponse-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + countingResponse-r10 MBMSCountingResponse-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MBMSCountingResponse-r10-IEs ::= SEQUENCE { + mbsfn-AreaIndex-r10 INTEGER (0..maxMBSFN-Area-1) OPTIONAL, + countingResponseList-r10 CountingResponseList-r10 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CountingResponseList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingResponseInfo-r10 + +CountingResponseInfo-r10 ::= SEQUENCE { + countingResponseService-r10 INTEGER (0..maxServiceCount-1), + ... +} + + +MBMSInterestIndication-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + interestIndication-r11 MBMSInterestIndication-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MBMSInterestIndication-r11-IEs ::= SEQUENCE { + mbms-FreqList-r11 CarrierFreqListMBMS-r11 OPTIONAL, + mbms-Priority-r11 ENUMERATED {true} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MBMSInterestIndication-r13-IEs OPTIONAL +} + +MBMSInterestIndication-r13-IEs ::= SEQUENCE { + mbms-Services-r13 MBMSServiceList-r13 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +MBSFNAreaConfiguration-r9 ::= SEQUENCE { + commonSF-Alloc-r9 CommonSF-AllocPatternList-r9, + commonSF-AllocPeriod-r9 ENUMERATED { + rf4, rf8, rf16, rf32, rf64, rf128, rf256}, + pmch-InfoList-r9 PMCH-InfoList-r9, + nonCriticalExtension MBSFNAreaConfiguration-v930-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MBSFNAreaConfiguration-v1250-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v1250-IEs ::= SEQUENCE { + pmch-InfoListExt-r12 PMCH-InfoListExt-r12 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CommonSF-AllocPatternList-r9 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig + + +MeasurementReport ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + measurementReport-r8 MeasurementReport-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MeasurementReport-r8-IEs ::= SEQUENCE { + measResults MeasResults, + nonCriticalExtension MeasurementReport-v8a0-IEs OPTIONAL +} + +MeasurementReport-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +MobilityFromEUTRACommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs, + mobilityFromEUTRACommand-r9 MobilityFromEUTRACommand-r9-IEs, + spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MobilityFromEUTRACommand-r8-IEs ::= SEQUENCE { + cs-FallbackIndicator BOOLEAN, + purpose CHOICE{ + handover Handover, + cellChangeOrder CellChangeOrder + }, + nonCriticalExtension MobilityFromEUTRACommand-v8a0-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MobilityFromEUTRACommand-v8d0-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v8d0-IEs ::= SEQUENCE { + bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +MobilityFromEUTRACommand-r9-IEs ::= SEQUENCE { + cs-FallbackIndicator BOOLEAN, + purpose CHOICE{ + handover Handover, + cellChangeOrder CellChangeOrder, + e-CSFB-r9 E-CSFB-r9, + ... + }, + nonCriticalExtension MobilityFromEUTRACommand-v930-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MobilityFromEUTRACommand-v960-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v960-IEs ::= SEQUENCE { + bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +Handover ::= SEQUENCE { + targetRAT-Type ENUMERATED { + utra, geran, cdma2000-1XRTT, cdma2000-HRPD, + spare4, spare3, spare2, spare1, ...}, + targetRAT-MessageContainer OCTET STRING, + nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERAN + systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO +} + +CellChangeOrder ::= SEQUENCE { + t304 ENUMERATED { + ms100, ms200, ms500, ms1000, + ms2000, ms4000, ms8000, spare1}, + targetRAT-Type CHOICE { + geran SEQUENCE { + physCellId PhysCellIdGERAN, + carrierFreq CarrierFreqGERAN, + networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP + systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP + }, + ... + } +} + +SI-OrPSI-GERAN ::= CHOICE { + si SystemInfoListGERAN, + psi SystemInfoListGERAN +} + +E-CSFB-r9 ::= SEQUENCE { + 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 + redirectCarrierCDMA2000-HRPD-r9 CarrierFreqCDMA2000 OPTIONAL -- Cond concRedir +} + + +Paging ::= SEQUENCE { + pagingRecordList PagingRecordList OPTIONAL, -- Need ON + systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON + etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v890-IEs OPTIONAL +} + +Paging-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension Paging-v920-IEs OPTIONAL +} + +Paging-v920-IEs ::= SEQUENCE { + cmas-Indication-r9 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v1130-IEs OPTIONAL +} + +Paging-v1130-IEs ::= SEQUENCE { + eab-ParamModification-r11 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v13xx-IEs OPTIONAL +} + +Paging-v13xx-IEs ::= SEQUENCE { + redistributionIndication-r13 ENUMERATED {true} OPTIONAL, --Need ON + systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PagingRecordList ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord + +PagingRecord ::= SEQUENCE { + ue-Identity PagingUE-Identity, + cn-Domain ENUMERATED {ps, cs}, + ... +} + +PagingUE-Identity ::= CHOICE { + s-TMSI S-TMSI, + imsi IMSI, + ... +} + +IMSI ::= SEQUENCE (SIZE (6..21)) OF IMSI-Digit + +IMSI-Digit ::= INTEGER (0..9) + + +ProximityIndication-r9 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + proximityIndication-r9 ProximityIndication-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ProximityIndication-r9-IEs ::= SEQUENCE { + type-r9 ENUMERATED {entering, leaving}, + carrierFreq-r9 CHOICE { + eutra-r9 ARFCN-ValueEUTRA, + utra-r9 ARFCN-ValueUTRA, + ..., + eutra2-v9e0 ARFCN-ValueEUTRA-v9e0 + }, + nonCriticalExtension ProximityIndication-v930-IEs OPTIONAL +} + +ProximityIndication-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RNReconfiguration-r10 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rnReconfiguration-r10 RNReconfiguration-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RNReconfiguration-r10-IEs ::= SEQUENCE { + rn-SystemInfo-r10 RN-SystemInfo-r10 OPTIONAL, -- Need ON + rn-SubframeConfig-r10 RN-SubframeConfig-r10 OPTIONAL, -- Need ON + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RN-SystemInfo-r10 ::= SEQUENCE { + systemInformationBlockType1-r10 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON + systemInformationBlockType2-r10 SystemInformationBlockType2 OPTIONAL, -- Need ON + ... +} + + +RNReconfigurationComplete-r10 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rnReconfigurationComplete-r10 RNReconfigurationComplete-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RNReconfigurationComplete-r10-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReconfiguration ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReconfiguration-r8 RRCConnectionReconfiguration-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfiguration-r8-IEs ::= SEQUENCE { + measConfig MeasConfig OPTIONAL, -- Need ON + mobilityControlInfo MobilityControlInfo OPTIONAL, -- Cond HO + dedicatedInfoNASList SEQUENCE (SIZE(1..maxDRB)) OF + DedicatedInfoNAS OPTIONAL, -- Cond nonHO + radioResourceConfigDedicated RadioResourceConfigDedicated OPTIONAL, -- Cond HO-toEUTRA + securityConfigHO SecurityConfigHO OPTIONAL, -- Cond HO + nonCriticalExtension RRCConnectionReconfiguration-v890-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionReconfiguration-v8m0-IEs) OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v920-IEs OPTIONAL +} + +-- Late non-critical extensions: +RRCConnectionReconfiguration-v8m0-IEs ::= SEQUENCE { + -- Following field is only for pre REL-10 late non-critical extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v10i0-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v10i0-IEs ::= SEQUENCE { + antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON + -- Following field is only for late non-critical extensions from REL-10 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non-critical extensions: +RRCConnectionReconfiguration-v920-IEs ::= SEQUENCE { + otherConfig-r9 OtherConfig-r9 OPTIONAL, -- Need ON + fullConfig-r9 ENUMERATED {true} OPTIONAL, -- Cond HO-Reestab + nonCriticalExtension RRCConnectionReconfiguration-v1020-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1020-IEs ::= SEQUENCE { + sCellToReleaseList-r10 SCellToReleaseList-r10 OPTIONAL, -- Need ON + sCellToAddModList-r10 SCellToAddModList-r10 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1130-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1130-IEs ::= SEQUENCE { + systemInfomationBlockType1Dedicated-r11 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1250-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1250-IEs ::= SEQUENCE { + wlan-OffloadInfo-r12 CHOICE { + release NULL, + setup SEQUENCE { + wlan-OffloadConfigDedicated-r12 WLAN-OffloadConfig-r12, + t350-r12 ENUMERATED {min5, min10, min20, min30, min60, + min120, min180, spare1} OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + 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 RRCConnectionReconfiguration-v13xy-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v13xy-IEs ::= SEQUENCE { + sCellToReleaseListExt-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellToAddModListExt-r13 SCellToAddModListExt-r13 OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +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, + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonPSCell-r12 RadioResourceConfigCommonPSCell-r12 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedPSCell-r12 RadioResourceConfigDedicatedPSCell-r12 OPTIONAL, -- Cond SCellAdd2 + ..., + [[ antennaInfoDedicatedPSCell-v1280 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON + ]], + [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL -- Need ON + ]] +} + +PowerCoordinationInfo-r12 ::= SEQUENCE { + p-MeNB-r12 INTEGER (1..16), + p-SeNB-r12 INTEGER (1..16), + powerControlMode-r12 INTEGER (1..2) +} + +SCellToAddModList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-r10 + +SCellToAddModListExt-r13 ::= SEQUENCE (SIZE (maxSCell-Plus1..maxSCell-r13)) OF SCellToAddMod-r13 + +SCellToAddMod-r10 ::= SEQUENCE { + sCellIndex-r10 SCellIndex-r10, + cellIdentification-r10 SEQUENCE { + physCellId-r10 PhysCellId, + dl-CarrierFreq-r10 ARFCN-ValueEUTRA + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonSCell-r10 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedSCell-r10 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2 + ..., + [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max + ]], + [[ antennaInfoDedicatedSCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON + ]] +} + +SCellToAddMod-r13 ::= SEQUENCE { + sCellIndex-v13xy SCellIndex-v13xy, + cellIdentification-r13 SEQUENCE { + physCellId-r13 PhysCellId, + dl-CarrierFreq-r13 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonSCell-r13 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedSCell-r13 RadioResourceConfigDedicatedSCell-r10 OPTIONAL -- Cond SCellAdd2 +} + +SCellToReleaseList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellIndex-r10 + +SCellToReleaseListExt-r13 ::= SEQUENCE (SIZE (maxSCell-Plus1..maxSCell-r13)) OF SCellIndex-v13xy + +SCG-Configuration-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + scg-ConfigPartMCG-r12 SEQUENCE { + scg-Counter-r12 INTEGER (0.. 65535) OPTIONAL, -- Need ON + powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, -- Need ON + ... + } OPTIONAL, -- Need ON + scg-ConfigPartSCG-r12 SCG-ConfigPartSCG-r12 OPTIONAL -- Need ON + } +} + +SCG-ConfigPartSCG-r12 ::= SEQUENCE { + radioResourceConfigDedicatedSCG-r12 RadioResourceConfigDedicatedSCG-r12 OPTIONAL, -- Need ON + sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, -- Need ON + pSCellToAddMod-r12 PSCellToAddMod-r12 OPTIONAL, -- Need ON + sCellToAddModListSCG-r12 SCellToAddModList-r10 OPTIONAL, -- Need ON + mobilityControlInfoSCG-r12 MobilityControlInfoSCG-r12 OPTIONAL, -- Need ON + ..., + [[ + sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellToAddModListSCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL -- Need ON + ]] +} + +SecurityConfigHO ::= SEQUENCE { + handoverType CHOICE { + intraLTE SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond fullConfig + keyChangeIndicator BOOLEAN, + nextHopChainingCount NextHopChainingCount + }, + interRAT SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig, + nas-SecurityParamToEUTRA OCTET STRING (SIZE(6)) + } + }, + ... +} + + + +RRCConnectionReconfigurationComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReconfigurationComplete-r8 + RRCConnectionReconfigurationComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfigurationComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReconfigurationComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1020-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1020-IEs ::= SEQUENCE { + rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1130-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1250-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1250-IEs ::= SEQUENCE { + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishment ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishment-r8-IEs ::= SEQUENCE { + radioResourceConfigDedicated RadioResourceConfigDedicated, + nextHopChainingCount NextHopChainingCount, + nonCriticalExtension RRCConnectionReestablishment-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishment-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReestablishmentComplete-r8 + RRCConnectionReestablishmentComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReestablishmentComplete-v920-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v920-IEs ::= SEQUENCE { + rlf-InfoAvailable-r9 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1020-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1020-IEs ::= SEQUENCE { + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1130-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1250-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1250-IEs ::= SEQUENCE { + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentReject ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionReestablishmentReject-r8 + RRCConnectionReestablishmentReject-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentReject-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReestablishmentReject-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishmentReject-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentRequest ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionReestablishmentRequest-r8 + RRCConnectionReestablishmentRequest-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentRequest-r8-IEs ::= SEQUENCE { + ue-Identity ReestabUE-Identity, + reestablishmentCause ReestablishmentCause, + spare BIT STRING (SIZE (2)) +} + +ReestabUE-Identity ::= SEQUENCE { + c-RNTI C-RNTI, + physCellId PhysCellId, + shortMAC-I ShortMAC-I +} + +ReestablishmentCause ::= ENUMERATED { + reconfigurationFailure, handoverFailure, + otherFailure, spare1} + + +RRCConnectionReject ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionReject-r8 RRCConnectionReject-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReject-r8-IEs ::= SEQUENCE { + waitTime INTEGER (1..16), + nonCriticalExtension RRCConnectionReject-v8a0-IEs OPTIONAL +} + +RRCConnectionReject-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReject-v1020-IEs OPTIONAL +} + +RRCConnectionReject-v1020-IEs ::= SEQUENCE { + extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReject-v1130-IEs OPTIONAL +} + +RRCConnectionReject-v1130-IEs ::= SEQUENCE { + deprioritisationReq-r11 SEQUENCE { + deprioritisationType-r11 ENUMERATED {frequency, e-utra}, + deprioritisationTimer-r11 ENUMERATED {min5, min10, min15, min30} + } OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionRelease ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionRelease-r8 RRCConnectionRelease-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionRelease-r8-IEs ::= SEQUENCE { + releaseCause ReleaseCause, + redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need ON + idleModeMobilityControlInfo IdleModeMobilityControlInfo OPTIONAL, -- Need OP + nonCriticalExtension RRCConnectionRelease-v890-IEs OPTIONAL +} + +RRCConnectionRelease-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionRelease-v9e0-IEs) OPTIONAL, + nonCriticalExtension RRCConnectionRelease-v920-IEs OPTIONAL +} + +-- Late non critical extensions +RRCConnectionRelease-v9e0-IEs ::= SEQUENCE { + redirectedCarrierInfo-v9e0 RedirectedCarrierInfo-v9e0 OPTIONAL, -- Cond NoRedirect-r8 + idleModeMobilityControlInfo-v9e0 IdleModeMobilityControlInfo-v9e0 OPTIONAL, -- Cond IdleInfoEUTRA + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +RRCConnectionRelease-v920-IEs ::= SEQUENCE { + cellInfoList-r9 CHOICE { + geran-r9 CellInfoListGERAN-r9, + utra-FDD-r9 CellInfoListUTRA-FDD-r9, + utra-TDD-r9 CellInfoListUTRA-TDD-r9, + ..., + utra-TDD-r10 CellInfoListUTRA-TDD-r10 + } OPTIONAL, -- Cond Redirection + nonCriticalExtension RRCConnectionRelease-v1020-IEs OPTIONAL +} + +RRCConnectionRelease-v1020-IEs ::= SEQUENCE { + extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +ReleaseCause ::= ENUMERATED {loadBalancingTAUrequired, + other, cs-FallbackHighPriority-v1020, spare1} + +RedirectedCarrierInfo ::= CHOICE { + eutra ARFCN-ValueEUTRA, + geran CarrierFreqsGERAN, + utra-FDD ARFCN-ValueUTRA, + utra-TDD ARFCN-ValueUTRA, + cdma2000-HRPD CarrierFreqCDMA2000, + cdma2000-1xRTT CarrierFreqCDMA2000, + ..., + utra-TDD-r10 CarrierFreqListUTRA-TDD-r10 +} + +RedirectedCarrierInfo-v9e0 ::= SEQUENCE { + eutra-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +CarrierFreqListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxFreqUTRA-TDD-r10)) OF ARFCN-ValueUTRA + +IdleModeMobilityControlInfo ::= SEQUENCE { + freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need ON + freqPriorityListGERAN FreqsPriorityListGERAN OPTIONAL, -- Need ON + freqPriorityListUTRA-FDD FreqPriorityListUTRA-FDD OPTIONAL, -- Need ON + freqPriorityListUTRA-TDD FreqPriorityListUTRA-TDD OPTIONAL, -- Need ON + bandClassPriorityListHRPD BandClassPriorityListHRPD OPTIONAL, -- Need ON + bandClassPriorityList1XRTT BandClassPriorityList1XRTT OPTIONAL, -- Need ON + t320 ENUMERATED { + min5, min10, min20, min30, min60, min120, min180, + spare1} OPTIONAL, -- Need OR + ..., + [[ freqPriorityListExtEUTRA-r12 FreqPriorityListExtEUTRA-r12 OPTIONAL -- Need ON + ]], + [[ freqPriorityListEUTRA-v13xy FreqPriorityListEUTRA-v13xy OPTIONAL, -- Need ON + freqPriorityListExtEUTRA-v13xy FreqPriorityListExtEUTRA-v13xy OPTIONAL -- Need ON + ]] +} + +IdleModeMobilityControlInfo-v9e0 ::= SEQUENCE { + freqPriorityListEUTRA-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v9e0 +} + +FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA + +FreqPriorityListExtEUTRA-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-r12 + +FreqPriorityListEUTRA-v13xy ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v13xy + +FreqPriorityListExtEUTRA-v13xy ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v13xy + +FreqPriorityEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityEUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max +} + +FreqPriorityEUTRA-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + cellReselectionPriority-r12 CellReselectionPriority +} + +FreqPriorityEUTRA-v13xy ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL -- Need ON +} + +FreqsPriorityListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF FreqsPriorityGERAN + +FreqsPriorityGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF FreqPriorityUTRA-FDD + +FreqPriorityUTRA-FDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF FreqPriorityUTRA-TDD + +FreqPriorityUTRA-TDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority +} + +BandClassPriorityListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriorityHRPD + +BandClassPriorityHRPD ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority +} + +BandClassPriorityList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriority1XRTT + +BandClassPriority1XRTT ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority +} + +CellInfoListGERAN-r9 ::= SEQUENCE (SIZE (1..maxCellInfoGERAN-r9)) OF CellInfoGERAN-r9 + +CellInfoGERAN-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdGERAN, + carrierFreq-r9 CarrierFreqGERAN, + systemInformation-r9 SystemInfoListGERAN +} + +CellInfoListUTRA-FDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-FDD-r9 + +CellInfoUTRA-FDD-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdUTRA-FDD, + utra-BCCH-Container-r9 OCTET STRING +} + +CellInfoListUTRA-TDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r9 + +CellInfoUTRA-TDD-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdUTRA-TDD, + utra-BCCH-Container-r9 OCTET STRING +} + +CellInfoListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r10 + +CellInfoUTRA-TDD-r10 ::= SEQUENCE { + physCellId-r10 PhysCellIdUTRA-TDD, + carrierFreq-r10 ARFCN-ValueUTRA, + utra-BCCH-Container-r10 OCTET STRING +} + + +RRCConnectionRequest ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionRequest-r8 RRCConnectionRequest-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionRequest-r8-IEs ::= SEQUENCE { + ue-Identity InitialUE-Identity, + establishmentCause EstablishmentCause, + spare BIT STRING (SIZE (1)) +} + +InitialUE-Identity ::= CHOICE { + s-TMSI S-TMSI, + randomValue BIT STRING (SIZE (40)) +} + +EstablishmentCause ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, spare1} + + +RRCConnectionSetup ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetup-r8-IEs ::= SEQUENCE { + radioResourceConfigDedicated RadioResourceConfigDedicated, + nonCriticalExtension RRCConnectionSetup-v8a0-IEs OPTIONAL +} + +RRCConnectionSetup-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionSetupComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionSetupComplete-r8 RRCConnectionSetupComplete-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetupComplete-r8-IEs ::= SEQUENCE { + selectedPLMN-Identity INTEGER (1..maxPLMN-r11), + registeredMME RegisteredMME OPTIONAL, + dedicatedInfoNAS DedicatedInfoNAS, + nonCriticalExtension RRCConnectionSetupComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1020-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1020-IEs ::= SEQUENCE { + gummei-Type-r10 ENUMERATED {native, mapped} OPTIONAL, + rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + rn-SubframeConfigReq-r10 ENUMERATED {required, notRequired} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1130-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1250-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1250-IEs ::= SEQUENCE { + mobilityState-r12 ENUMERATED {normal, medium, high, spare} OPTIONAL, + mobilityHistoryAvail-r12 ENUMERATED {true} OPTIONAL, + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RegisteredMME ::= SEQUENCE { + plmn-Identity PLMN-Identity OPTIONAL, + mmegi BIT STRING (SIZE (16)), + mmec MMEC +} + + +SCGFailureInformation-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + scgFailureInformation-r12 SCGFailureInformation-r12-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCGFailureInformation-r12-IEs ::= SEQUENCE { + failureReportSCG-r12 FailureReportSCG-r12 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +FailureReportSCG-r12 ::= SEQUENCE { + failureType-r12 ENUMERATED {t313-Expiry, randomAccessProblem, + rlc-MaxNumRetx, scg-ChangeFailure }, + measResultServFreqList-r12 MeasResultServFreqList-r10 OPTIONAL, + measResultNeighCells-r12 MeasResultList2EUTRA-r9 OPTIONAL, + ..., + [[ + measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL + ]] +} + + +SCPTMConfiguration-r13 ::= SEQUENCE { + sc-mtch-InfoList-r13 SC-MTCH-InfoList-r13, + scptmNeighbourCellList-r13 SCPTMNeighbourCellList-r13 OPTIONAL, + ... +} + + +SecurityModeCommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + securityModeCommand-r8 SecurityModeCommand-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeCommand-r8-IEs ::= SEQUENCE { + securityConfigSMC SecurityConfigSMC, + nonCriticalExtension SecurityModeCommand-v8a0-IEs OPTIONAL +} + +SecurityModeCommand-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SecurityConfigSMC ::= SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig, + ... +} + + +SecurityModeComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeComplete-r8 SecurityModeComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension SecurityModeComplete-v8a0-IEs OPTIONAL +} + +SecurityModeComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SecurityModeFailure ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeFailure-r8 SecurityModeFailure-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeFailure-r8-IEs ::= SEQUENCE { + nonCriticalExtension SecurityModeFailure-v8a0-IEs OPTIONAL +} + +SecurityModeFailure-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +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 SidelinkUEInformation-v13x0-IEs OPTIONAL +} + +SidelinkUEInformation-v13x0-IEs ::= SEQUENCE { + commTxResourceReq121-r13 SL-CommTxResourceReqUC-r13 OPTIONAL, + commTxResourceInfoReqRelay-r13 SEQUENCE { + commTxResourceReqRelay-r13 SL-CommTxResourceReqUC-r13, + ue-Type-r13 ENUMERATED {relayUE, remoteUE} + } OPTIONAL, + discTxResourceReq-v13x0 SEQUENCE { + carrierFreqDiscTx-r13 INTEGER (1..maxFreq), + discTxResourceReqAddFreq-r13 SL-DiscTxResourceReqPerFreqList-r13 OPTIONAL + } OPTIONAL, + discTxResourceReqPS-r13 SL-DiscTxResourceReq-r13 OPTIONAL, + discRxGapReq-r13 SL-GapRequest-r13 OPTIONAL, + discTxGapReq-r13 SL-GapRequest-r13 OPTIONAL, + discSysInfoReportList-r13 SL-SysInfoReportList-r13 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SL-CommTxResourceReq-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, + destinationInfoList-r12 SL-DestinationInfoList-r12 +} + +SL-CommTxResourceReqUC-r13 ::= SEQUENCE { + carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, + destinationInfoListUC-r13 SL-DestinationInfoListUC-r13 +} + +SL-DiscTxResourceReqPerFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceReq-r13 + +SL-DiscTxResourceReq-r13 ::= SEQUENCE { + carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, + discTxResourceReq-r13 INTEGER (1..63) +} + +SL-DestinationInfoList-r12 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-DestinationIdentity-r12 + +SL-DestinationIdentity-r12 ::= BIT STRING (SIZE (24)) + +SL-DestinationInfoListUC-r13 ::= SL-DestinationInfoList-r12 + +SL-SysInfoReportList-r13 ::= SEQUENCE (SIZE (1.. maxSL-DiscSysInfoReportFreq-r13)) OF SL-SysInfoReport-r13 + + +SystemInformation ::= SEQUENCE { + criticalExtensions CHOICE { + systemInformation-r8 SystemInformation-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} +SystemInformation-r8-IEs ::= SEQUENCE { + sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + sib2 SystemInformationBlockType2, + sib3 SystemInformationBlockType3, + sib4 SystemInformationBlockType4, + sib5 SystemInformationBlockType5, + sib6 SystemInformationBlockType6, + sib7 SystemInformationBlockType7, + sib8 SystemInformationBlockType8, + sib9 SystemInformationBlockType9, + sib10 SystemInformationBlockType10, + sib11 SystemInformationBlockType11, + ..., + sib12-v920 SystemInformationBlockType12-r9, + sib13-v920 SystemInformationBlockType13-r9, + sib14-v1130 SystemInformationBlockType14-r11, + sib15-v1130 SystemInformationBlockType15-r11, + sib16-v1130 SystemInformationBlockType16-r11, + sib17-v1250 SystemInformationBlockType17-r12, + sib18-v1250 SystemInformationBlockType18-r12, + sib19-v1250 SystemInformationBlockType19-r12, + sib20-v13x0 SystemInformationBlockType20-r13 + }, + nonCriticalExtension SystemInformation-v8a0-IEs OPTIONAL +} + +SystemInformation-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType1 ::= SEQUENCE { + cellAccessRelatedInfo SEQUENCE { + plmn-IdentityList PLMN-IdentityList, + trackingAreaCode TrackingAreaCode, + cellIdentity CellIdentity, + cellBarred ENUMERATED {barred, notBarred}, + intraFreqReselection ENUMERATED {allowed, notAllowed}, + csg-Indication BOOLEAN, + csg-Identity CSG-Identity OPTIONAL -- Need OR + }, + cellSelectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + q-RxLevMinOffset INTEGER (1..8) OPTIONAL -- Need OP + }, + p-Max P-Max OPTIONAL, -- Need OP + freqBandIndicator FreqBandIndicator, + schedulingInfoList SchedulingInfoList, + tdd-Config TDD-Config OPTIONAL, -- Cond TDD + si-WindowLength ENUMERATED { + ms1, ms2, ms5, ms10, ms15, ms20, + ms40}, + systemInfoValueTag INTEGER (0..31), + nonCriticalExtension SystemInformationBlockType1-v890-IEs OPTIONAL +} + +SystemInformationBlockType1-v890-IEs::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType1-v8h0-IEs) OPTIONAL, + nonCriticalExtension SystemInformationBlockType1-v920-IEs OPTIONAL +} + +-- Late non critical extensions +SystemInformationBlockType1-v8h0-IEs ::= SEQUENCE { + multiBandInfoList MultiBandInfoList OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType1-v9e0-IEs ::= SEQUENCE { + freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL, -- Cond FBI-max + multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL, -- Cond mFBI-max + nonCriticalExtension SystemInformationBlockType1-v10j0-IEs OPTIONAL +} + +SystemInformationBlockType1-v10j0-IEs ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +SystemInformationBlockType1-v920-IEs ::= SEQUENCE { + ims-EmergencySupport-r9 ENUMERATED {true} OPTIONAL, -- Need OR + cellSelectionInfo-v920 CellSelectionInfo-v920 OPTIONAL, -- Cond RSRQ + nonCriticalExtension SystemInformationBlockType1-v1130-IEs OPTIONAL +} + +SystemInformationBlockType1-v1130-IEs ::= SEQUENCE { + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR + cellSelectionInfo-v1130 CellSelectionInfo-v1130 OPTIONAL, -- Cond WB-RSRQ + nonCriticalExtension SystemInformationBlockType1-v1250-IEs OPTIONAL +} + +SystemInformationBlockType1-v1250-IEs ::= SEQUENCE { + cellAccessRelatedInfo-v1250 SEQUENCE { + category0Allowed-r12 ENUMERATED {true} OPTIONAL -- Need OP + }, + cellSelectionInfo-v1250 CellSelectionInfo-v1250 OPTIONAL, -- Cond RSRQ2 + freqBandIndicatorPriority-r12 ENUMERATED {true} OPTIONAL, -- Cond mFBI + nonCriticalExtension SystemInformationBlockType1-v13xy-IEs OPTIONAL +} + +SystemInformationBlockType1-v13xy-IEs ::= SEQUENCE { + hyperSFN BIT STRING (SIZE (10)) OPTIONAL, + eDRXAllowed ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PLMN-IdentityList ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo + +PLMN-IdentityInfo ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellReservedForOperatorUse ENUMERATED {reserved, notReserved} +} + +SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo + +SchedulingInfo ::= SEQUENCE { + si-Periodicity ENUMERATED { + rf8, rf16, rf32, rf64, rf128, rf256, rf512}, + sib-MappingInfo SIB-MappingInfo +} + +SIB-MappingInfo ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type + +SIB-Type ::= ENUMERATED { + sibType3, sibType4, sibType5, sibType6, + sibType7, sibType8, sibType9, sibType10, + sibType11, sibType12-v920, sibType13-v920, + sibType14-v1130, sibType15-v1130, + sibType16-v1130, sibType17-v1250, sibType18-v1250, + ..., sibType19-v1250, sibType20-v13xy} + +CellSelectionInfo-v920 ::= SEQUENCE { + q-QualMin-r9 Q-QualMin-r9, + q-QualMinOffset-r9 INTEGER (1..8) OPTIONAL -- Need OP +} + +CellSelectionInfo-v1130 ::= SEQUENCE { + q-QualMinWB-r11 Q-QualMin-r9 +} + +CellSelectionInfo-v1250 ::= SEQUENCE { + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 +} + + +UEAssistanceInformation-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ueAssistanceInformation-r11 UEAssistanceInformation-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEAssistanceInformation-r11-IEs ::= SEQUENCE { + powerPrefIndication-r11 ENUMERATED {normal, lowPowerConsumption} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UECapabilityEnquiry ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueCapabilityEnquiry-r8 UECapabilityEnquiry-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityEnquiry-r8-IEs ::= SEQUENCE { + ue-CapabilityRequest UE-CapabilityRequest, + nonCriticalExtension UECapabilityEnquiry-v8a0-IEs OPTIONAL +} + +UECapabilityEnquiry-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1180-IEs OPTIONAL +} + +UECapabilityEnquiry-v1180-IEs ::= SEQUENCE { + requestedFrequencyBands-r11 SEQUENCE (SIZE (1..16)) OF FreqBandIndicator-r11 OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v13xy-IEs OPTIONAL +} + +UECapabilityEnquiry-v13xy-IEs ::= SEQUENCE { + requestReducedFormat-r13 ENUMERATED {true} OPTIONAL, + skipFallbackCombinations-r13 ENUMERATED {true} OPTIONAL, + requestedMaxCCsDL-r13 INTEGER (2..32) OPTIONAL, + requestedMaxCCsUL-r13 INTEGER (2..32) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-CapabilityRequest ::= SEQUENCE (SIZE (1..maxRAT-Capabilities)) OF RAT-Type + + +UECapabilityInformation ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + ueCapabilityInformation-r8 UECapabilityInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityInformation-r8-IEs ::= SEQUENCE { + ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList, + nonCriticalExtension UECapabilityInformation-v8a0-IEs OPTIONAL +} + +UECapabilityInformation-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityInformation-v1250-IEs OPTIONAL +} + +UECapabilityInformation-v1250-IEs ::= SEQUENCE { + ue-RadioPagingInfo-r12 UE-RadioPagingInfo-r12 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEInformationRequest-r9 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueInformationRequest-r9 UEInformationRequest-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationRequest-r9-IEs ::= SEQUENCE { + rach-ReportReq-r9 BOOLEAN, + rlf-ReportReq-r9 BOOLEAN, + nonCriticalExtension UEInformationRequest-v930-IEs OPTIONAL +} + +UEInformationRequest-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UEInformationRequest-v1020-IEs OPTIONAL +} + +UEInformationRequest-v1020-IEs ::= SEQUENCE { + logMeasReportReq-r10 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UEInformationRequest-v1130-IEs OPTIONAL +} + +UEInformationRequest-v1130-IEs ::= SEQUENCE { + connEstFailReportReq-r11 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UEInformationRequest-v1250-IEs OPTIONAL +} + +UEInformationRequest-v1250-IEs ::= SEQUENCE { + mobilityHistoryReportReq-r12 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEInformationResponse-r9 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueInformationResponse-r9 UEInformationResponse-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationResponse-r9-IEs ::= SEQUENCE { + rach-Report-r9 SEQUENCE { + numberOfPreamblesSent-r9 NumberOfPreamblesSent-r11, + contentionDetected-r9 BOOLEAN + } OPTIONAL, + rlf-Report-r9 RLF-Report-r9 OPTIONAL, + nonCriticalExtension UEInformationResponse-v930-IEs OPTIONAL +} + +-- Late non critical extensions +UEInformationResponse-v9e0-IEs ::= SEQUENCE { + rlf-Report-v9e0 RLF-Report-v9e0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +UEInformationResponse-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING UEInformationResponse-v9e0-IEs) OPTIONAL, + nonCriticalExtension UEInformationResponse-v1020-IEs OPTIONAL +} + +UEInformationResponse-v1020-IEs ::= SEQUENCE { + logMeasReport-r10 LogMeasReport-r10 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1130-IEs OPTIONAL +} + +UEInformationResponse-v1130-IEs ::= SEQUENCE { + connEstFailReport-r11 ConnEstFailReport-r11 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1250-IEs OPTIONAL +} + +UEInformationResponse-v1250-IEs ::= SEQUENCE { + mobilityHistoryReport-r12 MobilityHistoryReport-r12 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RLF-Report-r9 ::= SEQUENCE { + measResultLastServCell-r9 SEQUENCE { + rsrpResult-r9 RSRP-Range, + rsrqResult-r9 RSRQ-Range OPTIONAL + }, + measResultNeighCells-r9 SEQUENCE { + measResultListEUTRA-r9 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r9 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r9 MeasResultListGERAN OPTIONAL, + measResultsCDMA2000-r9 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + ..., + [[ locationInfo-r10 LocationInfo-r10 OPTIONAL, + failedPCellId-r10 CHOICE { + cellGlobalId-r10 CellGlobalIdEUTRA, + pci-arfcn-r10 SEQUENCE { + physCellId-r10 PhysCellId, + carrierFreq-r10 ARFCN-ValueEUTRA + } + } OPTIONAL, + reestablishmentCellId-r10 CellGlobalIdEUTRA OPTIONAL, + timeConnFailure-r10 INTEGER (0..1023) OPTIONAL, + connectionFailureType-r10 ENUMERATED {rlf, hof} OPTIONAL, + previousPCellId-r10 CellGlobalIdEUTRA OPTIONAL + ]], + [[ failedPCellId-v1090 SEQUENCE { + carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 + } OPTIONAL + ]], + [[ basicFields-r11 SEQUENCE { + c-RNTI-r11 C-RNTI, + rlf-Cause-r11 ENUMERATED { + t310-Expiry, randomAccessProblem, + rlc-MaxNumRetx, t312-Expiry-r12}, + timeSinceFailure-r11 TimeSinceFailure-r11 + } OPTIONAL, + previousUTRA-CellId-r11 SEQUENCE { + carrierFreq-r11 ARFCN-ValueUTRA, + physCellId-r11 CHOICE { + fdd-r11 PhysCellIdUTRA-FDD, + tdd-r11 PhysCellIdUTRA-TDD + }, + cellGlobalId-r11 CellGlobalIdUTRA OPTIONAL + } OPTIONAL, + selectedUTRA-CellId-r11 SEQUENCE { + carrierFreq-r11 ARFCN-ValueUTRA, + physCellId-r11 CHOICE { + fdd-r11 PhysCellIdUTRA-FDD, + tdd-r11 PhysCellIdUTRA-TDD + } + } OPTIONAL + ]], + [[ failedPCellId-v1250 SEQUENCE { + tac-FailedPCell-r12 TrackingAreaCode + } OPTIONAL, + measResultLastServCell-v1250 RSRQ-Range-v1250 OPTIONAL, + lastServCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]], + [[ droppedQCI-r13 ENUMERATED {qci1} OPTIONAL + ]] +} + +RLF-Report-v9e0 ::= SEQUENCE { + measResultListEUTRA-v9e0 MeasResultList2EUTRA-v9e0 +} + +MeasResultList2EUTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r9 + +MeasResultList2EUTRA-v9e0 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v9e0 + +MeasResultList2EUTRA-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v1250 + +MeasResult2EUTRA-r9 ::= SEQUENCE { + carrierFreq-r9 ARFCN-ValueEUTRA, + measResultList-r9 MeasResultListEUTRA +} + +MeasResult2EUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL +} + +MeasResult2EUTRA-v1250 ::= SEQUENCE { + rsrq-Type-r12 RSRQ-Type-r12 OPTIONAL +} + +MeasResultList2UTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-r9 + +MeasResult2UTRA-r9 ::= SEQUENCE { + carrierFreq-r9 ARFCN-ValueUTRA, + measResultList-r9 MeasResultListUTRA +} + +MeasResultList2CDMA2000-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2CDMA2000-r9 + +MeasResult2CDMA2000-r9 ::= SEQUENCE { + carrierFreq-r9 CarrierFreqCDMA2000, + measResultList-r9 MeasResultsCDMA2000 +} + +LogMeasReport-r10 ::= SEQUENCE { + absoluteTimeStamp-r10 AbsoluteTimeInfo-r10, + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + logMeasInfoList-r10 LogMeasInfoList-r10, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + ... +} + +LogMeasInfoList-r10 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r10)) OF LogMeasInfo-r10 + +LogMeasInfo-r10 ::= SEQUENCE { + locationInfo-r10 LocationInfo-r10 OPTIONAL, + relativeTimeStamp-r10 INTEGER (0..7200), + servCellIdentity-r10 CellGlobalIdEUTRA, + measResultServCell-r10 SEQUENCE { + rsrpResult-r10 RSRP-Range, + rsrqResult-r10 RSRQ-Range + }, + measResultNeighCells-r10 SEQUENCE { + measResultListEUTRA-r10 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r10 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r10 MeasResultList2GERAN-r10 OPTIONAL, + measResultListCDMA2000-r10 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + ..., + [[ measResultListEUTRA-v1090 MeasResultList2EUTRA-v9e0 OPTIONAL + ]], + [[ measResultListMBSFN-r12 MeasResultListMBSFN-r12 OPTIONAL, + measResultServCell-v1250 RSRQ-Range-v1250 OPTIONAL, + servCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]], + [[ inDeviceCoexDetected-r13 ENUMERATED {true} OPTIONAL + ]] +} + +MeasResultListMBSFN-r12 ::= SEQUENCE (SIZE (1..maxMBSFN-Area)) OF MeasResultMBSFN-r12 + +MeasResultMBSFN-r12 ::= SEQUENCE { + mbsfn-Area-r12 SEQUENCE { + 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 ::= SEQUENCE (SIZE (1.. maxPMCH-PerMBSFN)) OF DataBLER-MCH-Result-r12 + +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 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 { + failedCellId-r11 CellGlobalIdEUTRA, + locationInfo-r11 LocationInfo-r10 OPTIONAL, + measResultFailedCell-r11 SEQUENCE { + rsrpResult-r11 RSRP-Range, + rsrqResult-r11 RSRQ-Range OPTIONAL + }, + measResultNeighCells-r11 SEQUENCE { + measResultListEUTRA-r11 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r11 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r11 MeasResultListGERAN OPTIONAL, + measResultsCDMA2000-r11 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + numberOfPreamblesSent-r11 NumberOfPreamblesSent-r11, + contentionDetected-r11 BOOLEAN, + maxTxPowerReached-r11 BOOLEAN, + timeSinceFailure-r11 TimeSinceFailure-r11, + measResultListEUTRA-v1130 MeasResultList2EUTRA-v9e0 OPTIONAL, + ..., + [[ measResultFailedCell-v1250 RSRQ-Range-v1250 OPTIONAL, + failedCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]] +} + +NumberOfPreamblesSent-r11::= INTEGER (1..200) + +TimeSinceFailure-r11 ::= INTEGER (0..172800) + +MobilityHistoryReport-r12 ::= VisitedCellInfoList-r12 + + +ULHandoverPreparationTransfer ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulHandoverPreparationTransfer-r8 ULHandoverPreparationTransfer-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULHandoverPreparationTransfer-r8-IEs ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + meid BIT STRING (SIZE (56)) OPTIONAL, + dedicatedInfo DedicatedInfoCDMA2000, + nonCriticalExtension ULHandoverPreparationTransfer-v8a0-IEs OPTIONAL +} + +ULHandoverPreparationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +ULInformationTransfer ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulInformationTransfer-r8 ULInformationTransfer-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransfer-r8-IEs ::= SEQUENCE { + dedicatedInfoType CHOICE { + dedicatedInfoNAS DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000 + }, + nonCriticalExtension ULInformationTransfer-v8a0-IEs OPTIONAL +} + +ULInformationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType2 ::= SEQUENCE { + ac-BarringInfo SEQUENCE { + ac-BarringForEmergency BOOLEAN, + ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP + ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP + } OPTIONAL, -- Need OP + radioResourceConfigCommon RadioResourceConfigCommonSIB, + ue-TimersAndConstants UE-TimersAndConstants, + freqInfo SEQUENCE { + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission + }, + mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR + timeAlignmentTimerCommon TimeAlignmentTimer, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v8h0-IEs) OPTIONAL, + [[ ssac-BarringForMMTEL-Voice-r9 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Video-r9 AC-BarringConfig OPTIONAL -- Need OP + ]], + [[ 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-BarringPerPLMN-List-r12 AC-BarringPerPLMN-List-r12 OPTIONAL -- Need OP + ]], + [[ voiceServiceCauseIndication-r12 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ acdc-BarringForCommon-r13 ACDC-BarringForCommon-r13 OPTIONAL, -- Need OP + acdc-BarringPerPLMN-List-r13 ACDC-BarringPerPLMN-List-r13 OPTIONAL -- Need OP + ]] +} + +SystemInformationBlockType2-v8h0-IEs ::= SEQUENCE { + multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType2-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType2-v9e0-IEs ::= SEQUENCE { + ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond ul-FreqMax + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +AC-BarringConfig ::= SEQUENCE { + ac-BarringFactor ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}, + ac-BarringForSpecialAC BIT STRING (SIZE(5)) +} + +MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig + +AC-BarringPerPLMN-List-r12 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF AC-BarringPerPLMN-r12 + +AC-BarringPerPLMN-r12 ::= SEQUENCE { + plmn-IdentityIndex-r12 INTEGER (1..maxPLMN-r11), + ac-BarringInfo-r12 SEQUENCE { + ac-BarringForEmergency-r12 BOOLEAN, + ac-BarringForMO-Signalling-r12 AC-BarringConfig OPTIONAL, -- Need OP + ac-BarringForMO-Data-r12 AC-BarringConfig OPTIONAL -- Need OP + } 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-BarringForCSFB-r12 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Voice-r12 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Video-r12 AC-BarringConfig OPTIONAL -- Need OP +} + +ACDC-BarringForCommon-r13 ::= SEQUENCE { + acdc-HPLMNonly-r13 BOOLEAN, + barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13 +} + +ACDC-BarringPerPLMN-List-r13 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF ACDC-BarringPerPLMN-r13 + +ACDC-BarringPerPLMN-r13 ::= SEQUENCE { + plmn-IdentityIndex-r13 INTEGER (1..maxPLMN-r11), + acdc-HPLMNonly-r13 BOOLEAN, + barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13 +} + +BarringPerACDC-CategoryList-r13 ::= SEQUENCE (SIZE (1..maxACDC-Cat-r13)) OF BarringPerACDC-Category-r13 + +BarringPerACDC-Category-r13 ::= SEQUENCE { + acdc-CatValue-r13 INTEGER (1..maxACDC-Cat-r13), + acdc-BarringConfig-r13 SEQUENCE { + ac-BarringFactor-r13 ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + ac-BarringTime-r13 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512} + } OPTIONAL +} + + +SystemInformationBlockType3 ::= SEQUENCE { + cellReselectionInfoCommon SEQUENCE { + q-Hyst ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24}, + speedStateReselectionPars SEQUENCE { + mobilityStateParameters MobilityStateParameters, + q-HystSF SEQUENCE { + sf-Medium ENUMERATED { + dB-6, dB-4, dB-2, dB0}, + sf-High ENUMERATED { + dB-6, dB-4, dB-2, dB0} + } + } OPTIONAL -- Need OP + }, + cellReselectionServingFreqInfo SEQUENCE { + s-NonIntraSearch ReselectionThreshold OPTIONAL, -- Need OP + threshServingLow ReselectionThreshold, + cellReselectionPriority CellReselectionPriority + }, + intraFreqCellReselectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + p-Max P-Max OPTIONAL, -- Need OP + s-IntraSearch ReselectionThreshold OPTIONAL, -- Need OP + allowedMeasBandwidth AllowedMeasBandwidth OPTIONAL, -- Need OP + presenceAntennaPort1 PresenceAntennaPort1, + neighCellConfig NeighCellConfig, + t-ReselectionEUTRA T-Reselection, + t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL -- Need OP + }, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType3-v10j0-IEs) OPTIONAL, + [[ s-IntraSearch-v920 SEQUENCE { + s-IntraSearchP-r9 ReselectionThreshold, + s-IntraSearchQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL, -- Need OP + s-NonIntraSearch-v920 SEQUENCE { + s-NonIntraSearchP-r9 ReselectionThreshold, + s-NonIntraSearchQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL, -- Need OP + q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP + threshServingLowQ-r9 ReselectionThresholdQ-r9 OPTIONAL -- Need OP + ]], + [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ + ]], + [[ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ + ]], + [[ cellReselectionServingFreqInfo-v13xy CellReselectionServingFreqInfo-v13xy OPTIONAL, -- Need OP + redistributionServingInfo-r13 RedistributionServingInfo-r13 OPTIONAL --Need OR + ]] +} + +RedistributionServingInfo-r13 ::= SEQUENCE { + redistributionFactorServing-r13 INTEGER(0..10), + redistributionFactorCell-r13 ENUMERATED{true} OPTIONAL, --Need OP + t360-r13 ENUMERATED {min4, min8, min16, min32,infinity, + spare3,spare2,spare1}, + redistrOnPagingOnly-r13 ENUMERATED {true} OPTIONAL --Need OP +} + +CellReselectionServingFreqInfo-v13xy ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 +} + +-- Late non critical extensions +SystemInformationBlockType3-v10j0-IEs ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType4 ::= SEQUENCE { + intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need OR + intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need OR + csg-PhysCellIdRange PhysCellIdRange OPTIONAL, -- Cond CSG + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + +IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo + +IntraFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange, + ... +} + +IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange + + +SystemInformationBlockType5 ::= SEQUENCE { + interFreqCarrierFreqList InterFreqCarrierFreqList, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType5-v8h0-IEs) OPTIONAL, + [[ interFreqCarrierFreqList-v1250 InterFreqCarrierFreqList-v1250 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-r12 InterFreqCarrierFreqListExt-r12 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqListExt-v1280 InterFreqCarrierFreqListExt-v1280 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqList-v13xy InterFreqCarrierFreqList-v13xy OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-v13xy InterFreqCarrierFreqListExt-v13xy OPTIONAL -- Need OR + ]] +} + +SystemInformationBlockType5-v8h0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v8h0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v8h0 OPTIONAL, -- Need OP + nonCriticalExtension SystemInformationBlockType5-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType5-v9e0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v9e0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType5-v10j0-IEs OPTIONAL +} + +SystemInformationBlockType5-v10j0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v10j0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo + +InterFreqCarrierFreqList-v1250 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v1250 + +InterFreqCarrierFreqListExt-r12 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-r12 + +InterFreqCarrierFreqListExt-v1280 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v10j0 + +InterFreqCarrierFreqList-v13xy ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v13xy + +InterFreqCarrierFreqListExt-v13xy ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v13xy + +InterFreqCarrierFreqInfo ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueEUTRA, + q-RxLevMin Q-RxLevMin, + p-Max P-Max OPTIONAL, -- Need OP + t-ReselectionEUTRA T-Reselection, + t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + allowedMeasBandwidth AllowedMeasBandwidth, + presenceAntennaPort1 PresenceAntennaPort1, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + neighCellConfig NeighCellConfig, + q-OffsetFreq Q-OffsetRange DEFAULT dB0, + interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR + interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR + ..., + [[ q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP + threshX-Q-r9 SEQUENCE { + threshX-HighQ-r9 ReselectionThresholdQ-r9, + threshX-LowQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL -- Cond RSRQ + ]], + [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ + ]] +} + +InterFreqCarrierFreqInfo-v8h0 ::= SEQUENCE { + multiBandInfoList MultiBandInfoList OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v9e0 ::= SEQUENCE { + dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond dl-FreqMax + multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v10j0 ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v1250 ::= SEQUENCE { + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ2 +} + +InterFreqCarrierFreqInfo-r12 ::= SEQUENCE { + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9, + q-RxLevMin-r12 Q-RxLevMin, + p-Max-r12 P-Max OPTIONAL, -- Need OP + t-ReselectionEUTRA-r12 T-Reselection, + t-ReselectionEUTRA-SF-r12 SpeedStateScaleFactors OPTIONAL, -- Need OP + threshX-High-r12 ReselectionThreshold, + threshX-Low-r12 ReselectionThreshold, + allowedMeasBandwidth-r12 AllowedMeasBandwidth, + presenceAntennaPort1-r12 PresenceAntennaPort1, + 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 + q-QualMin-r12 Q-QualMin-r9 OPTIONAL, -- Need OP + threshX-Q-r12 SEQUENCE { + threshX-HighQ-r12 ReselectionThresholdQ-r9, + threshX-LowQ-r12 ReselectionThresholdQ-r9 + } 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 OP + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL, -- Cond RSRQ2 +... +} + +InterFreqCarrierFreqInfo-v13xy ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL, -- Need OP + redistributionInterFreqInfo-r13 RedistributionInterFreqInfo-r13 OPTIONAL --Need OP +} + +InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo + +InterFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange +} + +InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange + +RedistributionInterFreqInfo-r13 ::= SEQUENCE { + redistributionFactorFreq-r13 RedistributionFactor-r13 OPTIONAL, --Need OP + redistributionNeighCellList-r13 RedistributionNeighCellList-r13 OPTIONAL --Need OP +} + +RedistributionNeighCellList-r13 ::= SEQUENCE (SIZE (1..maxCellInter)) OF RedistributionNeighCell-r13 + +RedistributionNeighCell-r13 ::= SEQUENCE { + physCellId PhysCellId, + redistributionFactorCell-r13 RedistributionFactor-r13 +} + +RedistributionFactor-r13 ::= INTEGER(1..10) + + +SystemInformationBlockType6 ::= SEQUENCE { + 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, + [[ 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 +SEQUENCE {} OPTIONAL +} + +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 + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + q-RxLevMin INTEGER (-60..-13), + p-MaxUTRA INTEGER (-50..33), + q-QualMin INTEGER (-24..0), + ..., + [[ threshX-Q-r9 SEQUENCE { + threshX-HighQ-r9 ReselectionThresholdQ-r9, + threshX-LowQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL -- Cond RSRQ + ]] +} + +CarrierFreqInfoUTRA-FDD-v8h0 ::= SEQUENCE { + multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL -- Need OR +} + +CarrierFreqListUTRA-FDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF + CarrierFreqUTRA-FDD-Ext-r12 + +CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueUTRA, + 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), + q-QualMin-r12 INTEGER (-24..0), + threshX-Q-r12 SEQUENCE { + threshX-HighQ-r12 ReselectionThresholdQ-r9, + 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 OP + ... +} + +CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD + +CarrierFreqUTRA-TDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + q-RxLevMin INTEGER (-60..-13), + p-MaxUTRA INTEGER (-50..33), + ... +} + +CarrierFreqListUTRA-TDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF + CarrierFreqUTRA-TDD-r12 + +CarrierFreqUTRA-TDD-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueUTRA, + 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 OP + ... +} + +FreqBandIndicator-UTRA-FDD ::= INTEGER (1..86) + + +SystemInformationBlockType7 ::= SEQUENCE { + t-ReselectionGERAN T-Reselection, + t-ReselectionGERAN-SF SpeedStateScaleFactors OPTIONAL, -- Need OR + carrierFreqsInfoList CarrierFreqsInfoListGERAN OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + +CarrierFreqsInfoListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF CarrierFreqsInfoGERAN + +CarrierFreqsInfoGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + commonInfo SEQUENCE { + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + ncc-Permitted BIT STRING (SIZE (8)), + q-RxLevMin INTEGER (0..45), + p-MaxGERAN INTEGER (0..39) OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold + }, + ... +} + + +SystemInformationBlockType8 ::= SEQUENCE { + systemTimeInfo SystemTimeInfoCDMA2000 OPTIONAL, -- Need OR + searchWindowSize INTEGER (0..15) OPTIONAL, -- Need OR + parametersHRPD SEQUENCE { + preRegistrationInfoHRPD PreRegistrationInfoHRPD, + cellReselectionParametersHRPD CellReselectionParametersCDMA2000 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + parameters1XRTT SEQUENCE { + csfb-RegistrationParam1XRTT CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP + longCodeState1XRTT BIT STRING (SIZE (42)) OPTIONAL, -- Need OR + cellReselectionParameters1XRTT CellReselectionParametersCDMA2000 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL, + [[ csfb-SupportForDualRxUEs-r9 BOOLEAN OPTIONAL, -- Need OR + cellReselectionParametersHRPD-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-HRPD + cellReselectionParameters1XRTT-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-1XRTT + csfb-RegistrationParam1XRTT-v920 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT + ac-BarringConfig1XRTT-r9 AC-BarringConfig1XRTT-r9 OPTIONAL -- Cond REG-1XRTT + ]], + [[ csfb-DualRxTxSupport-r10 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT + ]], + [[ sib8-PerPLMN-List-r11 SIB8-PerPLMN-List-r11 OPTIONAL -- Need OR + ]] +} + +CellReselectionParametersCDMA2000 ::= SEQUENCE { + bandClassList BandClassListCDMA2000, + neighCellList NeighCellListCDMA2000, + t-ReselectionCDMA2000 T-Reselection, + t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP +} + +CellReselectionParametersCDMA2000-r11 ::= SEQUENCE { + bandClassList BandClassListCDMA2000, + neighCellList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-r11, + t-ReselectionCDMA2000 T-Reselection, + t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP +} + +CellReselectionParametersCDMA2000-v920 ::= SEQUENCE { + neighCellList-v920 NeighCellListCDMA2000-v920 +} + +NeighCellListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000 + +NeighCellCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + neighCellsPerFreqList NeighCellsPerBandclassListCDMA2000 +} + +NeighCellCDMA2000-r11 ::= SEQUENCE { + bandClass BandclassCDMA2000, + neighFreqInfoList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-r11 +} + +NeighCellsPerBandclassListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000 + +NeighCellsPerBandclassCDMA2000 ::= SEQUENCE { + arfcn ARFCN-ValueCDMA2000, + physCellIdList PhysCellIdListCDMA2000 +} + +NeighCellsPerBandclassCDMA2000-r11 ::= SEQUENCE { + arfcn ARFCN-ValueCDMA2000, + physCellIdList-r11 SEQUENCE (SIZE (1..40)) OF PhysCellIdCDMA2000 +} + +NeighCellListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-v920 + +NeighCellCDMA2000-v920 ::= SEQUENCE { + neighCellsPerFreqList-v920 NeighCellsPerBandclassListCDMA2000-v920 +} + +NeighCellsPerBandclassListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-v920 + +NeighCellsPerBandclassCDMA2000-v920 ::= SEQUENCE { + physCellIdList-v920 PhysCellIdListCDMA2000-v920 +} + +PhysCellIdListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF PhysCellIdCDMA2000 + +PhysCellIdListCDMA2000-v920 ::= SEQUENCE (SIZE (0..24)) OF PhysCellIdCDMA2000 + +BandClassListCDMA2000 ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassInfoCDMA2000 + +BandClassInfoCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + threshX-High INTEGER (0..63), + threshX-Low INTEGER (0..63), + ... +} + +AC-BarringConfig1XRTT-r9 ::= SEQUENCE { + ac-Barring0to9-r9 INTEGER (0..63), + ac-Barring10-r9 INTEGER (0..7), + ac-Barring11-r9 INTEGER (0..7), + ac-Barring12-r9 INTEGER (0..7), + ac-Barring13-r9 INTEGER (0..7), + ac-Barring14-r9 INTEGER (0..7), + ac-Barring15-r9 INTEGER (0..7), + ac-BarringMsg-r9 INTEGER (0..7), + ac-BarringReg-r9 INTEGER (0..7), + ac-BarringEmg-r9 INTEGER (0..7) +} + +SIB8-PerPLMN-List-r11 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF SIB8-PerPLMN-r11 + +SIB8-PerPLMN-r11 ::= SEQUENCE { + plmn-Identity-r11 INTEGER (1..maxPLMN-r11), + parametersCDMA2000-r11 CHOICE { + explicitValue ParametersCDMA2000-r11, + defaultValue NULL + } +} + +ParametersCDMA2000-r11 ::= SEQUENCE { + systemTimeInfo-r11 CHOICE { + explicitValue SystemTimeInfoCDMA2000, + defaultValue NULL + } OPTIONAL, -- Need OR + searchWindowSize-r11 INTEGER (0..15), + parametersHRPD-r11 SEQUENCE { + preRegistrationInfoHRPD-r11 PreRegistrationInfoHRPD, + cellReselectionParametersHRPD-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + parameters1XRTT-r11 SEQUENCE { + csfb-RegistrationParam1XRTT-r11 CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP + csfb-RegistrationParam1XRTT-Ext-r11 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT-PerPLMN + longCodeState1XRTT-r11 BIT STRING (SIZE (42)) OPTIONAL, -- Cond PerPLMN-LC + cellReselectionParameters1XRTT-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL, -- Need OR + ac-BarringConfig1XRTT-r11 AC-BarringConfig1XRTT-r9 OPTIONAL, -- Cond REG-1XRTT-PerPLMN + csfb-SupportForDualRxUEs-r11 BOOLEAN OPTIONAL, -- Need OR + csfb-DualRxTxSupport-r11 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT-PerPLMN + } OPTIONAL, -- Need OR + ... +} + + +SystemInformationBlockType9 ::= SEQUENCE { + hnb-Name OCTET STRING (SIZE(1..48)) OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType10 ::= SEQUENCE { + messageIdentifier BIT STRING (SIZE (16)), + serialNumber BIT STRING (SIZE (16)), + warningType OCTET STRING (SIZE (2)), + dummy OCTET STRING (SIZE (50)) OPTIONAL, -- Need OP + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType11 ::= SEQUENCE { + messageIdentifier BIT STRING (SIZE (16)), + serialNumber BIT STRING (SIZE (16)), + warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment}, + warningMessageSegmentNumber INTEGER (0..63), + warningMessageSegment OCTET STRING, + dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1 + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType12-r9 ::= SEQUENCE { + messageIdentifier-r9 BIT STRING (SIZE (16)), + serialNumber-r9 BIT STRING (SIZE (16)), + warningMessageSegmentType-r9 ENUMERATED {notLastSegment, lastSegment}, + warningMessageSegmentNumber-r9 INTEGER (0..63), + warningMessageSegment-r9 OCTET STRING, + dataCodingScheme-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1 + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType13-r9 ::= SEQUENCE { + mbsfn-AreaInfoList-r9 MBSFN-AreaInfoList-r9, + notificationConfig-r9 MBMS-NotificationConfig-r9, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType14-r11 ::= SEQUENCE { + eab-Param-r11 CHOICE { + eab-Common-r11 EAB-Config-r11, + eab-PerPLMN-List-r11 SEQUENCE (SIZE (1..maxPLMN-r11)) OF EAB-ConfigPLMN-r11 + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +EAB-ConfigPLMN-r11 ::= SEQUENCE { + eab-Config-r11 EAB-Config-r11 OPTIONAL -- Need OR +} + +EAB-Config-r11 ::= SEQUENCE { + eab-Category-r11 ENUMERATED {a, b, c}, + eab-BarringBitmap-r11 BIT STRING (SIZE (10)) +} + + +SystemInformationBlockType15-r11 ::= SEQUENCE { + mbms-SAI-IntraFreq-r11 MBMS-SAI-List-r11 OPTIONAL, -- Need OR + mbms-SAI-InterFreqList-r11 MBMS-SAI-InterFreqList-r11 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ mbms-SAI-InterFreqList-v1140 MBMS-SAI-InterFreqList-v1140 OPTIONAL -- Cond InterFreq + ]] +} + +MBMS-SAI-List-r11 ::= SEQUENCE (SIZE (1..maxSAI-MBMS-r11)) OF MBMS-SAI-r11 + +MBMS-SAI-r11 ::= INTEGER (0..65535) + +MBMS-SAI-InterFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-r11 + +MBMS-SAI-InterFreqList-v1140 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-v1140 + +MBMS-SAI-InterFreq-r11 ::= SEQUENCE { + dl-CarrierFreq-r11 ARFCN-ValueEUTRA-r9, + mbms-SAI-List-r11 MBMS-SAI-List-r11 +} + +MBMS-SAI-InterFreq-v1140 ::= SEQUENCE { + multiBandInfoList-r11 MultiBandInfoList-r11 OPTIONAL -- Need OR +} + + + +SystemInformationBlockType16-r11 ::= SEQUENCE { + timeInfo-r11 SEQUENCE { + timeInfoUTC-r11 INTEGER (0..549755813887), + dayLightSavingTime-r11 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR + leapSeconds-r11 INTEGER (-127..128) OPTIONAL, -- Need OR + localTimeOffset-r11 INTEGER (-63..64) OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType17-r12 ::= SEQUENCE { + wlan-OffloadInfoPerPLMN-List-r12 SEQUENCE (SIZE (1..maxPLMN-r11)) OF + WLAN-OffloadInfoPerPLMN-r12 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +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-Identifiers-r12 + +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, + ..., + [[ commTxPoolNormalCommonExt-r13 SL-CommTxPoolListExt-r13 OPTIONAL, -- Need OR + commTxAllowRelayCommon-r13 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + + +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, + ..., + [[ discConfig-v13x0 SEQUENCE { + discInterFreqList-v13x0 SL-CarrierFreqInfoList-v13x0 OPTIONAL, -- Need OR + gapRequestsAllowedCommon ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + discConfigRelay-r13 SEQUENCE { + discThreshHiRelayUE-r13 RSRP-Range OPTIONAL, -- Need OR + discThreshLoRelayUE-r13 RSRP-Range OPTIONAL, -- Need OR + discHystMaxRelayUE-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf}, + discHystMinRelayUE-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12}, + -- Uu threshold + discThreshHiRemoteUE-r13 RSRP-Range OPTIONAL, -- Need OR + discHystMaxRemoteUE-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12}, + -- Uu threshold + reselectionInfoRemoteUE-IC-r13 ReselectionInfoRelay-r13 + } OPTIONAL, -- Need OR + discConfigPS-13 SEQUENCE { + discRxPoolPS-r13 SL-DiscRxPoolList-r12, + discTxPoolPS-Common-r13 SL-DiscTxPoolList-r12 OPTIONAL -- Need OR + } OPTIONAL -- Need OR + ]] +} + +SL-CarrierFreqInfoList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-r12 + +SL-CarrierFreqInfoList-v13x0 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-v13x0 + +SL-CarrierFreqInfo-r12::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + plmn-IdentityList-r12 PLMN-IdentityList4-r12 OPTIONAL -- Need OP +} + +ReselectionInfoRelay-r13 ::= SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + -- Note that the mapping of invidual values may be different for PC5, but the granularity/ + -- number of values is same as for Uu + filterCoefficient-r13 FilterCoefficient, + minHyst-r13 ENUMERATED {dB0, dB3, + dB6, dB9, dB12, dBinf} OPTIONAL -- Need OR +} + +CellSelectionInfoNFreq-r13 ::= SEQUENCE { + -- Cell selection information as in SIB1 + q-RxLevMin-r13 Q-RxLevMin, + q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need OP + -- Cell re-selection information as in SIB3 + q-Hyst-r13 ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24}, + q-RxLevMinReselection-r13 Q-RxLevMin OPTIONAL, -- Need OP + t-ReselectionEUTRA-r13 T-Reselection +} + +SL-CarrierFreqInfo-v13x0::= SEQUENCE { + discRxResources-r13 SL-DiscRxPoolList-r12 OPTIONAL, -- Need OR + discRxResourcesPS-r13 SL-DiscRxPoolList-r12 OPTIONAL, -- Need OR + discTxResources-r13 SL-DiscTxResourcesInterFreq-r13 OPTIONAL, -- Need OR + discTxResourcesPS-r13 SL-DiscTxResourcesInterFreq-r13 OPTIONAL, -- Need OR + discTxPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx + discTxRefCarrierCommon-r13 ENUMERATED {pCell} OPTIONAL, -- Need OR + discSyncConfig-r13 SL-SyncConfigListNFreq-r12 OPTIONAL, -- Need OR + cellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL -- Need OR +} + +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 +} + +SL-DiscTxResourcesInterFreq-r13 ::= CHOICE { + acquireSI-FromCarrier-r13 NULL, + discTxPoolCommon-r13 SL-DiscTxPoolList-r12, + requestDedicated-r13 NULL, + noTxOnCarrier-r13 NULL +} + + +SystemInformationBlockType20-r13 ::= SEQUENCE { + sc-mcch-RepetionPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256}, + sc-mcch-Offset-r13 INTEGER (0..10), + sc-mcch-Subframe-r13 INTEGER (0..9), + sc-mcch-ModificationPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256, + rf512, rf1024}, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +AntennaInfoCommon ::= SEQUENCE { + antennaPortsCount ENUMERATED {an1, an2, an4, spare1} +} + +AntennaInfoDedicated ::= SEQUENCE { + transmissionMode ENUMERATED { + tm1, tm2, tm3, tm4, tm5, tm6, + tm7, tm8-v920}, + codebookSubsetRestriction CHOICE { + n2TxAntenna-tm3 BIT STRING (SIZE (2)), + n4TxAntenna-tm3 BIT STRING (SIZE (4)), + n2TxAntenna-tm4 BIT STRING (SIZE (6)), + n4TxAntenna-tm4 BIT STRING (SIZE (64)), + n2TxAntenna-tm5 BIT STRING (SIZE (4)), + n4TxAntenna-tm5 BIT STRING (SIZE (16)), + n2TxAntenna-tm6 BIT STRING (SIZE (4)), + n4TxAntenna-tm6 BIT STRING (SIZE (16)) + } OPTIONAL, -- Cond TM + ue-TransmitAntennaSelection CHOICE{ + release NULL, + setup ENUMERATED {closedLoop, openLoop} + } +} + +AntennaInfoDedicated-v920 ::= SEQUENCE { + codebookSubsetRestriction-v920 CHOICE { + n2TxAntenna-tm8-r9 BIT STRING (SIZE (6)), + n4TxAntenna-tm8-r9 BIT STRING (SIZE (32)) + } OPTIONAL -- Cond TM8 +} + +AntennaInfoDedicated-r10 ::= SEQUENCE { + transmissionMode-r10 ENUMERATED { + tm1, tm2, tm3, tm4, tm5, tm6, tm7, tm8-v920, + tm9-v1020, tm10-v1130, spare6, spare5, spare4, + spare3, spare2, spare1}, + codebookSubsetRestriction-r10 BIT STRING OPTIONAL, -- Cond TMX + ue-TransmitAntennaSelection CHOICE{ + release NULL, + setup ENUMERATED {closedLoop, openLoop} + } +} + +AntennaInfoDedicated-v10i0::= SEQUENCE { + maxLayersMIMO-r10 ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL -- Need OR +} + +AntennaInfoDedicated-v1250 ::= SEQUENCE { + alternativeCodebookEnabledFor4TX-r12 BOOLEAN +} + + +AntennaInfoUL-r10 ::= SEQUENCE { + transmissionModeUL-r10 ENUMERATED {tm1, tm2, spare6, spare5, + spare4, spare3, spare2, spare1} OPTIONAL, -- Need OR + fourAntennaPortActivated-r10 ENUMERATED {setup} OPTIONAL -- Need OR +} + + +CQI-ReportConfig ::= SEQUENCE { + cqi-ReportModeAperiodic CQI-ReportModeAperiodic OPTIONAL, -- Need OR + nomPDSCH-RS-EPRE-Offset INTEGER (-1..6), + cqi-ReportPeriodic CQI-ReportPeriodic OPTIONAL -- Need ON +} + +CQI-ReportConfig-v920 ::= SEQUENCE { + cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Cond cqi-Setup + pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL -- Cond PMIRI +} + +CQI-ReportConfig-r10 ::= SEQUENCE { + cqi-ReportAperiodic-r10 CQI-ReportAperiodic-r10 OPTIONAL, -- Need ON + nomPDSCH-RS-EPRE-Offset INTEGER (-1..6), + cqi-ReportPeriodic-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON + pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL, -- Cond PMIRIPCell + csi-SubframePatternConfig-r10 CHOICE { + release NULL, + setup SEQUENCE { + csi-MeasSubframeSet1-r10 MeasSubframePattern-r10, + csi-MeasSubframeSet2-r10 MeasSubframePattern-r10 + } + } OPTIONAL -- Need ON +} + +CQI-ReportConfig-v1130 ::= SEQUENCE { + cqi-ReportPeriodic-v1130 CQI-ReportPeriodic-v1130, + cqi-ReportBoth-r11 CQI-ReportBoth-r11 +} + +CQI-ReportConfig-v1250 ::= SEQUENCE { + csi-SubframePatternConfig-r12 CHOICE { + release NULL, + setup SEQUENCE { + csi-MeasSubframeSets-r12 BIT STRING (SIZE (10)) + } + } 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, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP +} + +CQI-ReportConfig-v13xy ::= SEQUENCE { + cqi-ReportAperiodic-v13xy CQI-ReportAperiodic-v13xy OPTIONAL, -- Need ON + cqi-ReportPeriodic-v13xy CQI-ReportPeriodic-v13xy OPTIONAL -- Need ON +} + +CQI-ReportConfigSCell-r10 ::= SEQUENCE { + cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic OPTIONAL, -- Need OR + nomPDSCH-RS-EPRE-Offset-r10 INTEGER (-1..6), + cqi-ReportPeriodicSCell-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON + pmi-RI-Report-r10 ENUMERATED {setup} OPTIONAL -- Cond PMIRISCell +} + +CQI-ReportConfigSCell-v13x0 ::= SEQUENCE { + cqi-ReportPeriodicSCell-v13x0 CQI-ReportPeriodic-v13xy +} + +CQI-ReportPeriodic ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-PUCCH-ResourceIndex INTEGER (0..1185), + cqi-pmi-ConfigIndex INTEGER (0..1023), + cqi-FormatIndicatorPeriodic CHOICE { + widebandCQI NULL, + subbandCQI SEQUENCE { + k INTEGER (1..4) + } + }, + ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR + simultaneousAckNackAndCQI BOOLEAN + } +} + +CQI-ReportPeriodic-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-PUCCH-ResourceIndex-r10 INTEGER (0..1184), + cqi-PUCCH-ResourceIndexP1-r10 INTEGER (0..1184) OPTIONAL, -- Need OR + cqi-pmi-ConfigIndex INTEGER (0..1023), + cqi-FormatIndicatorPeriodic-r10 CHOICE { + widebandCQI-r10 SEQUENCE { + csi-ReportMode-r10 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-r10 SEQUENCE { + k INTEGER (1..4), + periodicityFactor-r10 ENUMERATED {n2, n4} + } + }, + ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR + simultaneousAckNackAndCQI BOOLEAN, + cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Need OR + csi-ConfigIndex-r10 CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndex2-r10 INTEGER (0..1023), + ri-ConfigIndex2-r10 INTEGER (0..1023) OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + } +} + + +CQI-ReportPeriodic-v1130 ::= SEQUENCE { + simultaneousAckNackAndCQI-Format3-r11 ENUMERATED {setup} OPTIONAL, -- Need OR + cqi-ReportPeriodicProcExtToReleaseList-r11 CQI-ReportPeriodicProcExtToReleaseList-r11 OPTIONAL, -- Need ON + cqi-ReportPeriodicProcExtToAddModList-r11 CQI-ReportPeriodicProcExtToAddModList-r11 OPTIONAL -- Need ON +} + +CQI-ReportPeriodic-v13xy ::= SEQUENCE { + cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL, -- Need ON + simultaneousAckNackAndCQI-Format4-Format5-r13 ENUMERATED {setup} OPTIONAL-- Need OR +} + + +CQI-ReportPeriodicProcExtToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExt-r11 + +CQI-ReportPeriodicProcExtToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExtId-r11 + +CQI-ReportPeriodicProcExt-r11 ::= SEQUENCE { + cqi-ReportPeriodicProcExtId-r11 CQI-ReportPeriodicProcExtId-r11, + cqi-pmi-ConfigIndex-r11 INTEGER (0..1023), + cqi-FormatIndicatorPeriodic-r11 CHOICE { + widebandCQI-r11 SEQUENCE { + csi-ReportMode-r11 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-r11 SEQUENCE { + k INTEGER (1..4), + periodicityFactor-r11 ENUMERATED {n2, n4} + } + }, + ri-ConfigIndex-r11 INTEGER (0..1023) OPTIONAL, -- Need OR + csi-ConfigIndex-r11 CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndex2-r11 INTEGER (0..1023), + ri-ConfigIndex2-r11 INTEGER (0..1023) OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + ..., + [[ cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL -- Need ON + ]] +} + +CQI-ReportAperiodic-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic, + aperiodicCSI-Trigger-r10 SEQUENCE { + trigger1-r10 BIT STRING (SIZE (8)), + trigger2-r10 BIT STRING (SIZE (8)) + } OPTIONAL -- Need OR + } +} + +CQI-ReportAperiodic-v1250 ::= CHOICE { + release NULL, + setup 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)) + } + } +} + +CQI-ReportAperiodic-v13xy ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-ReportModeAperiodic-r13 CQI-ReportModeAperiodic, + aperiodicCSI-Trigger-v13xy SEQUENCE { + trigger1-r13 BIT STRING (SIZE (32)), + trigger2-r13 BIT STRING (SIZE (32)), + trigger3-r13 BIT STRING (SIZE (32)), + trigger4-r13 BIT STRING (SIZE (32)), + trigger5-r13 BIT STRING (SIZE (32)), + trigger6-r13 BIT STRING (SIZE (32)) + } OPTIONAL, -- Need OR + aperiodicCSI-Trigger2-r13 SEQUENCE { + trigger1-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger2-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger3-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger4-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger5-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger6-SubframeSetIndicator-r13 BIT STRING (SIZE (32)) + } OPTIONAL -- Need OR + } +} + +CQI-ReportAperiodicProc-r11 ::= SEQUENCE { + cqi-ReportModeAperiodic-r11 CQI-ReportModeAperiodic, + trigger01-r11 BOOLEAN, + trigger10-r11 BOOLEAN, + trigger11-r11 BOOLEAN +} + +CQI-ReportAperiodicProc-r13 ::= SEQUENCE { + trigger001-r13 BOOLEAN, + trigger010-r13 BOOLEAN, + trigger011-r13 BOOLEAN, + trigger100-r13 BOOLEAN, + trigger101-r13 BOOLEAN, + trigger110-r13 BOOLEAN, + trigger111-r13 BOOLEAN} + +CQI-ReportModeAperiodic ::= ENUMERATED { + rm12, rm20, rm22, rm30, rm31, + rm32-v1250, rm10-v13xy, rm11-v13xx +} + +CQI-ReportBoth-r11 ::= SEQUENCE { + csi-IM-ConfigToReleaseList-r11 CSI-IM-ConfigToReleaseList-r11 OPTIONAL, -- Need ON + csi-IM-ConfigToAddModList-r11 CSI-IM-ConfigToAddModList-r11 OPTIONAL, -- Need ON + csi-ProcessToReleaseList-r11 CSI-ProcessToReleaseList-r11 OPTIONAL, -- Need ON + csi-ProcessToAddModList-r11 CSI-ProcessToAddModList-r11 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-ConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-ConfigId-r11 + +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 + +CQI-ReportBothProc-r11 ::= SEQUENCE { + ri-Ref-CSI-ProcessId-r11 CSI-ProcessId-r11 OPTIONAL, -- Need OR + pmi-RI-Report-r11 ENUMERATED {setup} OPTIONAL -- Need OR +} + +CRI-ReportConfig-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + cri-ConfigIndex-r13 ENUMERATED {n1, n2, n4, n8, n16, n32}, + cri-ConfigIndex2-r13 ENUMERATED {n1, n2, n4, n8, n16, n32} OPTIONAL -- Need OR + } +} + + +CQI-ReportPeriodicProcExtId-r11 ::= INTEGER (1..maxCQI-ProcExt-r11) + + +CrossCarrierSchedulingConfig-r10 ::= SEQUENCE { + schedulingCellInfo-r10 CHOICE { + own-r10 SEQUENCE { -- No cross carrier scheduling + cif-Presence-r10 BOOLEAN + }, + other-r10 SEQUENCE { -- Cross carrier scheduling + schedulingCellId-r10 ServCellIndex-r10, + pdsch-Start-r10 INTEGER (1..4) + } + } +} + +CrossCarrierSchedulingConfig-r13 ::= SEQUENCE { + schedulingCellInfo-r13 CHOICE { + own-r13 SEQUENCE { -- No cross carrier scheduling + cif-Presence-r13 BOOLEAN + }, + other-r13 SEQUENCE { -- Cross carrier scheduling + schedulingCellId-r13 ServCellIndexFull-r13, + pdsch-Start-r13 INTEGER (1..4), + cif-InSchedulingCell-r13 INTEGER (1..7) + } + } +} + + +CSI-IM-Config-r11 ::= SEQUENCE { + csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11, + resourceConfig-r11 INTEGER (0..31), + subframeConfig-r11 INTEGER (0..154), + ... +} + +CSI-IM-ConfigExt-r12 ::= SEQUENCE { + csi-IM-ConfigId-v1250 CSI-IM-ConfigId-v1250, + resourceConfig-r12 INTEGER (0..31), + subframeConfig-r12 INTEGER (0..154), + ... +} + + +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 { + csi-ProcessId-r11 CSI-ProcessId-r11, + csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11, + csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11, + p-C-AndCBSRList-r11 SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r11, + cqi-ReportBothProc-r11 CQI-ReportBothProc-r11 OPTIONAL, -- Need OR + 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 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 + ]], + [[ cqi-ReportAperiodicProc-r13 CQI-ReportAperiodicProc-r13 OPTIONAL, -- Need ON + cqi-ReportAperiodicProc2-r13 CHOICE { + release NULL, + setup CQI-ReportAperiodicProc-r13 + } OPTIONAL, -- Need ON + eMIMO-Type-r13 CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-r13 CSI-RS-InfoNonPrecoded-r13, + beamformed-r13 CSI-RS-InfoBeamformed-r13 + } + } OPTIONAL -- Need ON + ]] +} + +P-C-AndCBSR-r11 ::= SEQUENCE { + p-C-r11 INTEGER (-8..15), + codebookSubsetRestriction-r11 BIT STRING +} + +P-C-AndCBSR-r13 ::= SEQUENCE { + legacySet SEQUENCE { + p-C-r11 INTEGER (-8..15), + codebookSubsetRestriction1-r13 BIT STRING + } OPTIONAL, -- Cond BeamformedKna + codebookSubsetRestriction2-r13 BIT STRING OPTIONAL, -- Cond NonPreCoded + codebookSubsetRestriction3-r13 BIT STRING OPTIONAL -- Cond BeamformedK1a +} + +P-C-AndCBSR-PerResourceConfig-r13 ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r13 + + +CSI-ProcessId-r11 ::= INTEGER (1..maxCSI-Proc-r11) + + +CSI-RS-Config-r10 ::= SEQUENCE { + csi-RS-r10 CHOICE { + release NULL, + setup SEQUENCE { + antennaPortsCount-r10 ENUMERATED {an1, an2, an4, an8}, + resourceConfig-r10 INTEGER (0..31), + subframeConfig-r10 INTEGER (0..154), + p-C-r10 INTEGER (-8..15) + } + } OPTIONAL, -- Need ON + zeroTxPowerCSI-RS-r10 ZeroTxPowerCSI-RS-Conf-r12 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 { + zeroTxPowerCSI-RS-List-r12 SEQUENCE (SIZE (1..maxDS-ZTP-CSI-RS-r12)) OF ZeroTxPowerCSI-RS-r12 + } + } OPTIONAL -- Need ON +} + +CSI-RS-Config-v13x0 ::= SEQUENCE { + eMIMO-Type-r13 CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-r13 CSI-RS-InfoNonPrecoded-r13, + beamformed-r13 CSI-RS-InfoBeamformed-r13 + } + } 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) +} + + +CSI-RS-ConfigNZP-r11 ::= SEQUENCE { + csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11, + antennaPortsCount-r11 ENUMERATED {an1, an2, an4, an8}, + resourceConfig-r11 INTEGER (0..31), + subframeConfig-r11 INTEGER (0..154), + scramblingIdentity-r11 INTEGER (0..503), + qcl-CRS-Info-r11 SEQUENCE { + qcl-ScramblingIdentity-r11 INTEGER (0..503), + crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1}, + mbsfn-SubframeConfigList-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList MBSFN-SubframeConfigList + } + } OPTIONAL -- Need ON + } OPTIONAL, -- Need OR + ..., + [[ eMIMO-Info-r13 CHOICE { + release NULL, + setup SEQUENCE { + nzp-resourceConfigList-r13 SEQUENCE (SIZE (2..8)) OF ResourceConfig-r13, + cdmType ENUMERATED {cdm2, cdm4} OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + ]] +} + +ResourceConfig-r13 ::= INTEGER (0..31) + + +CSI-RS-ConfigNZPId-r11 ::= INTEGER (1..maxCSI-RS-NZP-r11) + + +CSI-RS-ConfigZP-r11 ::= SEQUENCE { + csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11, + resourceConfigList-r11 BIT STRING (SIZE (16)), + subframeConfig-r11 INTEGER (0..154), + ... +} + + +CSI-RS-ConfigZPId-r11 ::= INTEGER (1..maxCSI-RS-ZP-r11) + + +CSI-RS-InfoNonPrecoded-r13 ::= SEQUENCE { + p-C-AndCBSRList-r13 SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r13 OPTIONAL, -- Need OR + codebookConfigN1-r13 ENUMERATED {an1, an2, an3, an4, an8}, + codebookConfigN2-r13 ENUMERATED {an1, an2, an3, an4, an8}, + codebookOverSamplingRateConfig-O1-r13 ENUMERATED {na,an4,an8}, + codebookOverSamplingRateConfig-O2-r13 ENUMERATED {na,an4,an8}, + codebookConfig-r13 ENUMERATED {an1, an2, an3, an4}, + interferenceMeasRestriction-r13 ENUMERATED {on} OPTIONAL -- Need OR +} + +CSI-RS-InfoBeamformed-r13::= SEQUENCE { + csi-RS-ConfigNZPIdListExt-r13 SEQUENCE (SIZE (1..7)) OF CSI-RS-ConfigNZPId-r11 OPTIONAL, -- Need OR + csi-IM-ConfigIdListExt-r13 SEQUENCE (SIZE (1..7)) OF CSI-IM-ConfigIdInfo-r13 OPTIONAL, -- Need OR + p-C-AndCBSR-PerResourceConfigList-r13 SEQUENCE (SIZE (1..7)) OF P-C-AndCBSR-PerResourceConfig-r13 OPTIONAL, -- Need OR + alternativeCodebookEnabledBeamformed-r13 ENUMERATED {true} OPTIONAL, -- Need OR + channelMeasRestriction-r13 ENUMERATED {on} OPTIONAL -- Need OR +} + +CSI-IM-ConfigIdInfo-r13 ::= SEQUENCE { + csi-IM-ConfigId-r13 CSI-IM-ConfigId-r11 OPTIONAL, + interferenceMeasRestriction-r13 ENUMERATED {on} OPTIONAL -- Need OR +} + + +DMRS-Config-r11 ::= CHOICE { + release NULL, + setup SEQUENCE { + scramblingIdentity-r11 INTEGER (0..503), + scramblingIdentity2-r11 INTEGER (0..503) + } +} +DMRS-Config-v13x0 ::= SEQUENCE { + dmrs-tableAlt-r13 ENUMERATED {true} OPTIONAL -- Need OR +} + + +DRB-Identity ::= INTEGER (1..32) + + +EPDCCH-Config-r11 ::= SEQUENCE{ + config-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframePatternConfig-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframePattern-r11 MeasSubframePattern-r10 + } + } OPTIONAL, -- Need ON + startSymbol-r11 INTEGER (1..4) OPTIONAL, -- Need OP + setConfigToReleaseList-r11 EPDCCH-SetConfigToReleaseList-r11 OPTIONAL, -- Need ON + setConfigToAddModList-r11 EPDCCH-SetConfigToAddModList-r11 OPTIONAL -- Need ON + } + } +} + +EPDCCH-SetConfigToAddModList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfig-r11 + +EPDCCH-SetConfigToReleaseList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfigId-r11 + +EPDCCH-SetConfig-r11 ::= SEQUENCE { + setConfigId-r11 EPDCCH-SetConfigId-r11, + transmissionType-r11 ENUMERATED {localised, distributed}, + resourceBlockAssignment-r11 SEQUENCE{ + numberPRB-Pairs-r11 ENUMERATED {n2, n4, n8}, + resourceBlockAssignment-r11 BIT STRING (SIZE(4..38)) + }, + dmrs-ScramblingSequenceInt-r11 INTEGER (0..503), + pucch-ResourceStartOffset-r11 INTEGER (0..2047), + re-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11 OPTIONAL, -- Need OR + ..., + [[ csi-RS-ConfigZPId2-r12 CHOICE { + release NULL, + setup CSI-RS-ConfigZPId-r11 + } OPTIONAL -- Need ON + ]] +} + +EPDCCH-SetConfigId-r11 ::= INTEGER (0..1) + +EIMTA-MainConfig-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + eimta-RNTI-r12 C-RNTI, + eimta-CommandPeriodicity-r12 ENUMERATED {sf10, sf20, sf40, sf80}, + eimta-CommandSubframeSet-r12 BIT STRING (SIZE(10)) + } +} + +EIMTA-MainConfigServCell-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + 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 + } + } + } +} + + +LogicalChannelConfig ::= SEQUENCE { + ul-SpecificParameters SEQUENCE { + priority INTEGER (1..16), + prioritisedBitRate ENUMERATED { + kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, + kBps256, infinity, kBps512-v1020, kBps1024-v1020, + kBps2048-v1020, spare5, spare4, spare3, spare2, + spare1}, + bucketSizeDuration ENUMERATED { + ms50, ms100, ms150, ms300, ms500, ms1000, spare2, + spare1}, + logicalChannelGroup INTEGER (0..3) OPTIONAL -- Need OR + } OPTIONAL, -- Cond UL + ..., + [[ logicalChannelSR-Mask-r9 ENUMERATED {setup} OPTIONAL -- Cond SRmask + ]], + [[ logicalChannelSR-Prohibit-r12 BOOLEAN OPTIONAL -- Need ON + ]] +} + + +MAC-MainConfig ::= SEQUENCE { + ul-SCH-Config SEQUENCE { + maxHARQ-Tx ENUMERATED { + n1, n2, n3, n4, n5, n6, n7, n8, + n10, n12, n16, n20, n24, n28, + spare2, spare1} OPTIONAL, -- Need ON + periodicBSR-Timer PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON + retxBSR-Timer RetxBSR-Timer-r12, + ttiBundling BOOLEAN + } OPTIONAL, -- Need ON + drx-Config DRX-Config OPTIONAL, -- Need ON + timeAlignmentTimerDedicated TimeAlignmentTimer, + phr-Config CHOICE { + release NULL, + setup SEQUENCE { + periodicPHR-Timer ENUMERATED {sf10, sf20, sf50, sf100, sf200, + sf500, sf1000, infinity}, + prohibitPHR-Timer ENUMERATED {sf0, sf10, sf20, sf50, sf100, + sf200, sf500, sf1000}, + dl-PathlossChange ENUMERATED {dB1, dB3, dB6, infinity} + } + } OPTIONAL, -- Need ON + ..., + [[ sr-ProhibitTimer-r9 INTEGER (0..7) OPTIONAL -- Need ON + ]], + [[ mac-MainConfig-v1020 SEQUENCE { + sCellDeactivationTimer-r10 ENUMERATED { + rf2, rf4, rf8, rf16, rf32, rf64, rf128, + spare} OPTIONAL, -- Need OP + extendedBSR-Sizes-r10 ENUMERATED {setup} OPTIONAL, -- Need OR + extendedPHR-r10 ENUMERATED {setup} OPTIONAL -- Need OR + } OPTIONAL -- Need ON + ]], + [[ stag-ToReleaseList-r11 STAG-ToReleaseList-r11 OPTIONAL, -- Need ON + stag-ToAddModList-r11 STAG-ToAddModList-r11 OPTIONAL, -- Need ON + drx-Config-v1130 DRX-Config-v1130 OPTIONAL -- Need ON + ]], + [[ e-HARQ-Pattern-r12 BOOLEAN OPTIONAL, -- Need ON + dualConnectivityPHR CHOICE { + release NULL, + setup SEQUENCE { + phr-ModeOtherCG-r12 ENUMERATED {real, virtual} + } + } OPTIONAL, -- Need ON + logicalChannelSR-Config-r12 CHOICE { + release NULL, + setup SEQUENCE { + logicalChannelSR-ProhibitTimer-r12 ENUMERATED {sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} + } + } OPTIONAL -- Need ON + ]], + [[ extendedPHR2-r13 ENUMERATED {setup} OPTIONAL, -- Need ON + eDRX-Config-CycleStartOffset-r13 CHOICE { + release NULL, + setup + CHOICE { + sf5120 INTEGER(0..1), + sf10240 INTEGER(0..3) + } + } OPTIONAL -- Need ON + ]] +} + +MAC-MainConfigSCell-r11 ::= SEQUENCE { + stag-Id-r11 STAG-Id-r11 OPTIONAL, -- Need OP + ... +} + +DRX-Config ::= CHOICE { + release NULL, + setup SEQUENCE { + onDurationTimer ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200}, + drx-InactivityTimer ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200, psf300, psf500, psf750, + psf1280, psf1920, psf2560, psf0-v1020, + spare9, spare8, spare7, spare6, + spare5, spare4, spare3, spare2, + spare1}, + drx-RetransmissionTimer ENUMERATED { + psf1, psf2, psf4, psf6, psf8, psf16, + psf24, psf33}, + longDRX-CycleStartOffset CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf1280 INTEGER(0..1279), + sf2048 INTEGER(0..2047), + sf2560 INTEGER(0..2559) + }, + shortDRX SEQUENCE { + shortDRX-Cycle ENUMERATED { + sf2, sf5, sf8, sf10, sf16, sf20, + sf32, sf40, sf64, sf80, sf128, sf160, + sf256, sf320, sf512, sf640}, + drxShortCycleTimer INTEGER (1..16) + } OPTIONAL -- Need OR + } +} + +DRX-Config-v1130 ::= SEQUENCE { + drx-RetransmissionTimer-v1130 ENUMERATED {psf0-v1130} OPTIONAL, --Need OR + longDRX-CycleStartOffset-v1130 CHOICE { + sf60-v1130 INTEGER(0..59), + sf70-v1130 INTEGER(0..69) + } OPTIONAL, --Need OR + 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 + +STAG-ToAddMod-r11 ::= SEQUENCE { + stag-Id-r11 STAG-Id-r11, + timeAlignmentTimerSTAG-r11 TimeAlignmentTimer, + ... +} + +STAG-Id-r11::= INTEGER (1..maxSTAG-r11) + + +PDCCH-ConfigSCell-r13 ::= SEQUENCE { + skipMonitoringDCI-format0-1A-r13 ENUMERATED {true} OPTIONAL, -- Need OR + pdcch-candidateReductions-r13 PDCCH-CandidateReductions-r13 OPTIONAL -- Need OR +} + +PDCCH-CandidateReductionValue-r13 ::= ENUMERATED {n0, n33, n66, n100} + +PDCCH-CandidateReductions-r13 ::= SEQUENCE { + pdcch-candidateReductionAL1 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL2 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL3 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL4 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL5 PDCCH-CandidateReductionValue-r13 +} + + +PDCP-Config ::= SEQUENCE { + discardTimer ENUMERATED { + ms50, ms100, ms150, ms300, ms500, + ms750, ms1500, infinity + } OPTIONAL, -- Cond Setup + rlc-AM SEQUENCE { + statusReportRequired BOOLEAN + } OPTIONAL, -- Cond Rlc-AM + rlc-UM SEQUENCE { + pdcp-SN-Size ENUMERATED {len7bits, len12bits} + } OPTIONAL, -- Cond Rlc-UM + headerCompression CHOICE { + notUsed NULL, + rohc SEQUENCE { + maxCID INTEGER (1..16383) DEFAULT 15, + profiles SEQUENCE { + profile0x0001 BOOLEAN, + profile0x0002 BOOLEAN, + profile0x0003 BOOLEAN, + profile0x0004 BOOLEAN, + profile0x0006 BOOLEAN, + profile0x0101 BOOLEAN, + profile0x0102 BOOLEAN, + profile0x0103 BOOLEAN, + profile0x0104 BOOLEAN + }, + ... + } + }, + ..., + [[ rn-IntegrityProtection-r10 ENUMERATED {enabled} OPTIONAL -- Cond RN + ]], + [[ pdcp-SN-Size-v1130 ENUMERATED {len15bits} OPTIONAL -- Cond Rlc-AM2 + ]], + [[ 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, + ms500, ms750, spare14, spare13, spare12, spare11, spare10, + spare9, spare8, spare7, spare6, spare5, spare4, spare3, + spare2, spare1} OPTIONAL -- Cond SetupS + ]], + [[ ul-DataSplitThreshold-r13 CHOICE { + release NULL, + setup ENUMERATED { + b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, + b25600, b51200, b102400, b204800, b409600, b819200, + spare1} + } OPTIONAL, -- Need ON + pdcp-SN-Size-v13xx ENUMERATED {len18bits} OPTIONAL -- Cond Rlc-AM3 + ]] + +} + + +PDSCH-ConfigCommon ::= SEQUENCE { + referenceSignalPower INTEGER (-60..50), + p-b INTEGER (0..3) +} + +PDSCH-ConfigDedicated::= SEQUENCE { + p-a ENUMERATED { + dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} +} + +PDSCH-ConfigDedicated-v1130 ::= SEQUENCE { + dmrs-ConfigPDSCH-r11 DMRS-Config-r11 OPTIONAL, -- Need ON + qcl-Operation ENUMERATED {typeA, typeB} OPTIONAL, -- Need OR + re-MappingQCLConfigToReleaseList-r11 RE-MappingQCLConfigToReleaseList-r11 OPTIONAL, -- Need ON + re-MappingQCLConfigToAddModList-r11 RE-MappingQCLConfigToAddModList-r11 OPTIONAL -- Need ON +} + +PDSCH-ConfigDedicated-v1280 ::= SEQUENCE { + tbsIndexAlt-r12 ENUMERATED {a26, a33} OPTIONAL -- Need OR +} + +PDSCH-ConfigDedicated-v13x0 ::= SEQUENCE { + dmrs-ConfigPDSCH-v13x0 DMRS-Config-v13x0 OPTIONAL -- Need ON +} + +RE-MappingQCLConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-Config-r11 + +RE-MappingQCLConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-ConfigId-r11 + +PDSCH-RE-MappingQCL-Config-r11 ::= SEQUENCE { + pdsch-RE-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11, + optionalSetOfFields-r11 SEQUENCE { + crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1}, + crs-FreqShift-r11 INTEGER (0..5), + mbsfn-SubframeConfigList-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList MBSFN-SubframeConfigList + } + } OPTIONAL, -- Need ON + pdsch-Start-r11 ENUMERATED {reserved, n1, n2, n3, n4, assigned} + } OPTIONAL, -- Need OP + csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11, + qcl-CSI-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11 OPTIONAL, -- Need OR + ... +} + + +PDSCH-RE-MappingQCL-ConfigId-r11 ::= INTEGER (1..maxRE-MapQCL-r11) + + +PHICH-Config ::= SEQUENCE { + phich-Duration ENUMERATED {normal, extended}, + phich-Resource ENUMERATED {oneSixth, half, one, two} +} + + +PhysicalConfigDedicated ::= SEQUENCE { + pdsch-ConfigDedicated PDSCH-ConfigDedicated OPTIONAL, -- Need ON + 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 + 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 + ..., + [[ cqi-ReportConfig-v920 CQI-ReportConfig-v920 OPTIONAL, -- Cond CQI-r8 + antennaInfo-v920 AntennaInfoDedicated-v920 OPTIONAL -- Cond AI-r8 + ]], + [[ antennaInfo-r10 CHOICE { + explicitValue-r10 AntennaInfoDedicated-r10, + defaultValue NULL + } OPTIONAL, -- Cond AI-r10 + antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON + cif-Presence-r10 BOOLEAN OPTIONAL, -- Need ON + cqi-ReportConfig-r10 CQI-ReportConfig-r10 OPTIONAL, -- Cond CQI-r10 + csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1020 PUCCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1020 PUSCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON + schedulingRequestConfig-v1020 SchedulingRequestConfig-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1020 + SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-r10 + SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1020 UplinkPowerControlDedicated-v1020 OPTIONAL -- Need ON + ]], + [[ additionalSpectrumEmissionCA-r10 CHOICE { + release NULL, + setup SEQUENCE { + additionalSpectrumEmissionPCell-r10 AdditionalSpectrumEmission + } + } OPTIONAL -- Need ON + ]], + [[ -- DL configuration as well as configuration applicable for DL and UL + csi-RS-ConfigNZPToReleaseList-r11 CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModList-r11 CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToReleaseList-r11 CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON + epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + -- UL configuration + cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1130 PUCCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1130 UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON + ]], + [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Cond AI-r10 + eimta-MainConfig-r12 EIMTA-MainConfig-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 + ]], + [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON + ]], + [[ pdsch-ConfigDedicated-v13x0 PDSCH-ConfigDedicated-v13x0 OPTIONAL, -- Need ON + pucch-ConfigDedicated-r13 PUCCH-ConfigDedicated-v13xy OPTIONAL, -- Need ON + pusch-ConfigDedicated-r13 PUSCH-ConfigDedicated-v13xy OPTIONAL, -- Need ON + cqi-ReportConfig-v13xy CQI-ReportConfig-v13xy OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v13x0 + SoundingRS-UL-ConfigDedicated-v13x0 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-v13x0 + SoundingRS-UL-ConfigDedicatedAperiodic-v13x0 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON + cqi-ReportConfigPCell-v13x0 CQI-ReportConfig-v13xy OPTIONAL, -- Need ON + csi-RS-Config-v13x0 CSI-RS-Config-v13x0 OPTIONAL -- Need ON + ]] +} + +PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE { + -- DL configuration as well as configuration applicable for DL and UL + nonUL-Configuration-r10 SEQUENCE { + antennaInfo-r10 AntennaInfoDedicated-r10 OPTIONAL, -- Need ON + 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 + -- UL configuration + ul-Configuration-r10 SEQUENCE { + antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON + pusch-ConfigDedicatedSCell-r10 PUSCH-ConfigDedicatedSCell-r10 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSCell-r10 UplinkPowerControlDedicatedSCell-r10 OPTIONAL, -- Need ON + cqi-ReportConfigSCell-r10 CQI-ReportConfigSCell-r10 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-r10 SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1020 + SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-r10 + SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL -- Need ON + } OPTIONAL, -- Cond CommonUL + ..., + [[ -- DL configuration as well as configuration applicable for DL and UL + csi-RS-ConfigNZPToReleaseList-r11 CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModList-r11 CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToReleaseList-r11 CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON + epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + -- UL configuration + cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSCell-v1130 UplinkPowerControlDedicated-v1130 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 + ]], + [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON + ]], + [[ pucch-ConfigDedicated-r13 PUCCH-ConfigDedicated OPTIONAL, -- Need ON + pucch-ConfigDedicatedExt1-r13 PUCCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON + pucch-ConfigDedicatedExt2-r13 PUCCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + pucch-ConfigDedicatedExt3-r13 PUCCH-ConfigDedicated-v1250 OPTIONAL, -- Cond eimta + pucch-ConfigDedicatedExt4-r13 PUCCH-ConfigDedicated-v13xy OPTIONAL, -- Need ON + pucch-Cell-r13 ENUMERATED {true} OPTIONAL, -- Cond PUCCH_SCell + crossCarrierSchedulingConfig-r13 CrossCarrierSchedulingConfig-r13 OPTIONAL, -- Cond Cross-Carrier-Config + schedulingRequestConfig-r13 SchedulingRequestConfig OPTIONAL, -- Need ON + schedulingRequestConfigExt-r13 SchedulingRequestConfig-v1020 OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUCCH-SCell-r13 TPC-PDCCH-ConfigSCell OPTIONAL, -- Cond PUCCH-SCell + pusch-ConfigDedicated-r13 PUSCH-ConfigDedicated OPTIONAL, -- Cond PUSCH-SCell + pusch-ConfigDedicatedExt-r13 PUSCH-ConfigDedicated-v1020 OPTIONAL, -- Cond PUSCH-SCell + pusch-ConfigDedicatedExt2-r13 PUSCH-ConfigDedicated-v13xy OPTIONAL, -- Cond PUSCH-SCell + uplinkPowerControlDedicated-r13 UplinkPowerControlDedicated OPTIONAL, -- Cond UL-Power-SCell + uplinkPowerControlDedicatedExt-r13 UplinkPowerControlDedicated-v1020 OPTIONAL, -- Cond UL-Power-SCell + pdcch-ConfigSCell-r13 PDCCH-ConfigSCell-r13 OPTIONAL, -- Need ON + cqi-ReportConfig-v13xy CQI-ReportConfig-v13xy OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v13x0 PDSCH-ConfigDedicated-v13x0 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v13x0 + SoundingRS-UL-ConfigDedicated-v13x0 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-v13x0 + SoundingRS-UL-ConfigDedicatedAperiodic-v13x0 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON + csi-RS-Config-v13x0 CSI-RS-Config-v13x0 OPTIONAL, -- Need ON + laa-SCellConfiguration-r13 LAA-SCellConfiguration-r13 OPTIONAL -- Need ON + ]] +} + +LAA-SCellConfiguration-r13 ::= SEQUENCE { + subframeStartPosition ENUMERATED {s0, s07}, + laa-SCellSubframeConfig BIT STRING (SIZE(8)) +} + +CSI-RS-ConfigNZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZP-r11 + +CSI-RS-ConfigNZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZPId-r11 + +CSI-RS-ConfigZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZP-r11 + +CSI-RS-ConfigZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZPId-r11 + + +P-Max ::= INTEGER (-30..33) + + +PRACH-ConfigSIB ::= SEQUENCE { + rootSequenceIndex INTEGER (0..837), + prach-ConfigInfo PRACH-ConfigInfo +} + +PRACH-Config ::= SEQUENCE { + rootSequenceIndex INTEGER (0..837), + prach-ConfigInfo PRACH-ConfigInfo OPTIONAL -- Need ON +} + +PRACH-ConfigSCell-r10 ::= SEQUENCE { + prach-ConfigIndex-r10 INTEGER (0..63) +} + +PRACH-ConfigInfo ::= SEQUENCE { + prach-ConfigIndex INTEGER (0..63), + highSpeedFlag BOOLEAN, + zeroCorrelationZoneConfig INTEGER (0..15), + prach-FreqOffset INTEGER (0..94) +} + + +PresenceAntennaPort1 ::= BOOLEAN + + +PUCCH-ConfigCommon ::= SEQUENCE { + deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3}, + nRB-CQI INTEGER (0..98), + nCS-AN INTEGER (0..7), + n1PUCCH-AN INTEGER (0..2047) +} + +PUCCH-ConfigDedicated ::= SEQUENCE { + ackNackRepetition CHOICE{ + release NULL, + setup SEQUENCE { + repetitionFactor ENUMERATED {n2, n4, n6, spare1}, + n1PUCCH-AN-Rep INTEGER (0..2047) + } + }, + tdd-AckNackFeedbackMode ENUMERATED {bundling, multiplexing} OPTIONAL -- Cond TDD +} + +PUCCH-ConfigDedicated-v1020 ::= SEQUENCE { + pucch-Format-r10 CHOICE { + format3-r10 SEQUENCE { + n3PUCCH-AN-List-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) OPTIONAL, -- Need ON + twoAntennaPortActivatedPUCCH-Format3-r10 CHOICE { + release NULL, + setup SEQUENCE { + n3PUCCH-AN-ListP1-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) + } + } OPTIONAL -- Need ON + }, + channelSelection-r10 SEQUENCE { + n1PUCCH-AN-CS-r10 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-List-r10 SEQUENCE (SIZE (1..2)) OF N1PUCCH-AN-CS-r10 + } + } OPTIONAL -- Need ON + } + } OPTIONAL, -- Need OR + twoAntennaPortActivatedPUCCH-Format1a1b-r10 ENUMERATED {true} OPTIONAL, -- Need OR + simultaneousPUCCH-PUSCH-r10 ENUMERATED {true} OPTIONAL, -- Need OR + n1PUCCH-AN-RepP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR +} + +PUCCH-ConfigDedicated-v1130 ::= SEQUENCE { + n1PUCCH-AN-CS-v1130 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-ListP1-r11 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047) + } + } OPTIONAL, -- Need ON + nPUCCH-Param-r11 CHOICE { + release NULL, + setup SEQUENCE { + nPUCCH-Identity-r11 INTEGER (0..503), + n1PUCCH-AN-r11 INTEGER (0..2047) + } + } OPTIONAL -- Need ON +} + +PUCCH-ConfigDedicated-v1250 ::= SEQUENCE { + nkaPUCCH-Param-r12 CHOICE { + release NULL, + setup SEQUENCE { + nkaPUCCH-AN-r12 INTEGER (0..2047) + } + } +} + +PUCCH-ConfigDedicated-v13xy ::= SEQUENCE { + spatialBundlingPUCCH BOOLEAN, + spatialBundlingPUSCH BOOLEAN, + harq-TimingTDD BOOLEAN, + codebooksizeDetermination-r13 INTEGER(0..1), + maximumPayloadCoderate-r13 INTEGER (0..7), + pucch-Format-r13 CHOICE { + format4-r13 SEQUENCE { + format4-resourceConfiguration SEQUENCE (SIZE (4)) OF Format4-resource-r13, + format4-MultiCSI-resourceConfiguration SEQUENCE (SIZE (1..2)) OF Format4-resource-r13 OPTIONAL -- Need OR + }, + format5-r13 SEQUENCE { + format5-resourceConfiguration SEQUENCE (SIZE (4)) OF Format5-resource-r13, + format5-MultiCSI-resourceConfiguration SEQUENCE (SIZE (1..2)) OF Format5-resource-r13 OPTIONAL -- Need OR + + } + } OPTIONAL -- Need OR +} + +Format4-resource-r13 ::= SEQUENCE { + startingPRB-format4-r13 INTEGER (0..109), + numberOfPRB-format4-r13 INTEGER (0..7) +} + +Format5-resource-r13 ::= SEQUENCE { + startingPRB-format5-r13 INTEGER (0..109), + cdm-index-format5-r13 INTEGER (0..1) +} + + + +N1PUCCH-AN-CS-r10 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + + +PUSCH-ConfigCommon ::= SEQUENCE { + pusch-ConfigBasic SEQUENCE { + n-SB INTEGER (1..4), + hoppingMode ENUMERATED {interSubFrame, intraAndInterSubFrame}, + pusch-HoppingOffset INTEGER (0..98), + enable64QAM BOOLEAN + }, + ul-ReferenceSignalsPUSCH UL-ReferenceSignalsPUSCH +} + +PUSCH-ConfigCommon-v1270 ::= SEQUENCE { + enable64QAM-v1270 ENUMERATED {true} +} + +PUSCH-ConfigDedicated ::= SEQUENCE { + betaOffset-ACK-Index INTEGER (0..15), + betaOffset-RI-Index INTEGER (0..15), + betaOffset-CQI-Index INTEGER (0..15) +} + +PUSCH-ConfigDedicated-v1020 ::= SEQUENCE { + betaOffsetMC-r10 SEQUENCE { + betaOffset-ACK-Index-MC-r10 INTEGER (0..15), + betaOffset-RI-Index-MC-r10 INTEGER (0..15), + betaOffset-CQI-Index-MC-r10 INTEGER (0..15) + } OPTIONAL, -- Need OR + groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR + dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicated-v1130 ::= SEQUENCE { + pusch-DMRS-r11 CHOICE { + release NULL, + setup SEQUENCE { + nPUSCH-Identity-r11 INTEGER (0..509), + nDMRS-CSH-Identity-r11 INTEGER (0..509) + } + } +} + +PUSCH-ConfigDedicated-v1250::= SEQUENCE { + uciOnPUSCH CHOICE { + release NULL, + setup SEQUENCE { + betaOffset-ACK-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffset-RI-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffset-CQI-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffsetMC-r12 SEQUENCE { + betaOffset-ACK-Index-MC-SubframeSet2-r12 INTEGER (0..15), + betaOffset-RI-Index-MC-SubframeSet2-r12 INTEGER (0..15), + betaOffset-CQI-Index-MC-SubframeSet2-r12 INTEGER (0..15) + } OPTIONAL -- Need OR + } + } +} + +PUSCH-ConfigDedicated-v13xy ::= SEQUENCE { + betaOffset-r13 SEQUENCE { + betaOffset-ACK-Index-r13 INTEGER (0..15), + betaOffset2-ACK-Index-r13 INTEGER (0..15) + } OPTIONAL, -- Need OR + betaOffsetMC-r13 SEQUENCE { + betaOffset-ACK-Index-MC-r13 INTEGER (0..15), + betaOffset2-ACK-Index-MC-r13 INTEGER (0..15) + } OPTIONAL, -- Need OR + betaOffset-Subframeset2-r13 SEQUENCE { + betaOffset-ACK-Index-SubframeSet2-r13 INTEGER (0..15), + betaOffset2-ACK-Index-SubframeSet2-r13 INTEGER (0..15) + } OPTIONAL, -- Need OR + betaOffset-Subframeset2-MC-r13 SEQUENCE { + betaOffset-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15), + betaOffset2-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15) + } OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicatedSCell-r10 ::= SEQUENCE { + groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR + dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR +} + +UL-ReferenceSignalsPUSCH ::= SEQUENCE { + groupHoppingEnabled BOOLEAN, + groupAssignmentPUSCH INTEGER (0..29), + sequenceHoppingEnabled BOOLEAN, + cyclicShift INTEGER (0..7) +} + + +RACH-ConfigCommon ::= SEQUENCE { + preambleInfo SEQUENCE { + numberOfRA-Preambles ENUMERATED { + n4, n8, n12, n16 ,n20, n24, n28, + n32, n36, n40, n44, n48, n52, n56, + n60, n64}, + preamblesGroupAConfig SEQUENCE { + sizeOfRA-PreamblesGroupA ENUMERATED { + n4, n8, n12, n16 ,n20, n24, n28, + n32, n36, n40, n44, n48, n52, n56, + n60}, + messageSizeGroupA ENUMERATED {b56, b144, b208, b256}, + messagePowerOffsetGroupB ENUMERATED { + minusinfinity, dB0, dB5, dB8, dB10, dB12, + dB15, dB18}, + ... + } OPTIONAL -- Need OP + }, + powerRampingParameters PowerRampingParameters, + ra-SupervisionInfo SEQUENCE { + preambleTransMax PreambleTransMax, + ra-ResponseWindowSize ENUMERATED { + sf2, sf3, sf4, sf5, sf6, sf7, + sf8, sf10}, + mac-ContentionResolutionTimer ENUMERATED { + sf8, sf16, sf24, sf32, sf40, sf48, + sf56, sf64} + }, + maxHARQ-Msg3Tx INTEGER (1..8), + ... +} + +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}, + connEstFailOffset-r12 INTEGER (0..15) OPTIONAL -- Need OP + } +} + +RACH-ConfigCommonSCell-r11 ::= SEQUENCE { + powerRampingParameters-r11 PowerRampingParameters, + ra-SupervisionInfo-r11 SEQUENCE { + preambleTransMax-r11 PreambleTransMax + }, + ... +} + +PowerRampingParameters ::= SEQUENCE { + powerRampingStep ENUMERATED {dB0, dB2,dB4, dB6}, + preambleInitialReceivedTargetPower ENUMERATED { + dBm-120, dBm-118, dBm-116, dBm-114, dBm-112, + dBm-110, dBm-108, dBm-106, dBm-104, dBm-102, + dBm-100, dBm-98, dBm-96, dBm-94, + dBm-92, dBm-90} +} + +PreambleTransMax ::= ENUMERATED { + n3, n4, n5, n6, n7, n8, n10, n20, n50, + n100, n200} + + +RACH-ConfigDedicated ::= SEQUENCE { + ra-PreambleIndex INTEGER (0..63), + ra-PRACH-MaskIndex INTEGER (0..15) +} + + +RadioResourceConfigCommonSIB ::= SEQUENCE { + rach-ConfigCommon RACH-ConfigCommon, + bcch-Config BCCH-Config, + pcch-Config PCCH-Config, + prach-Config PRACH-ConfigSIB, + pdsch-ConfigCommon PDSCH-ConfigCommon, + pusch-ConfigCommon PUSCH-ConfigCommon, + pucch-ConfigCommon PUCCH-ConfigCommon, + soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon, + uplinkPowerControlCommon UplinkPowerControlCommon, + ul-CyclicPrefixLength UL-CyclicPrefixLength, + ..., + [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR + ]], + [[ rach-ConfigCommon-v1250 RACH-ConfigCommon-v1250 OPTIONAL -- Need OR + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]] +} + +RadioResourceConfigCommon ::= SEQUENCE { + rach-ConfigCommon RACH-ConfigCommon OPTIONAL, -- Need ON + prach-Config PRACH-Config, + pdsch-ConfigCommon PDSCH-ConfigCommon OPTIONAL, -- Need ON + pusch-ConfigCommon PUSCH-ConfigCommon, + phich-Config PHICH-Config OPTIONAL, -- Need ON + pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, -- Need ON + soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon OPTIONAL, -- Need ON + uplinkPowerControlCommon UplinkPowerControlCommon OPTIONAL, -- Need ON + antennaInfoCommon AntennaInfoCommon OPTIONAL, -- Need ON + p-Max P-Max OPTIONAL, -- Need OP + tdd-Config TDD-Config OPTIONAL, -- Cond TDD + ul-CyclicPrefixLength UL-CyclicPrefixLength, + ..., + [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need ON + ]], + [[ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL -- Cond TDD3 + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]], + [[ uplinkPowerControlCommon-v13xy UplinkPowerControlCommon-v13xy OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigCommonPSCell-r12 ::= SEQUENCE { + basicFields-r12 RadioResourceConfigCommonSCell-r10, + pucch-ConfigCommon-r12 PUCCH-ConfigCommon, + rach-ConfigCommon-r12 RACH-ConfigCommon, + uplinkPowerControlCommonPSCell-r12 UplinkPowerControlCommonPSCell-r12, + ..., + [[ uplinkPowerControlCommon-v13xy UplinkPowerControlCommon-v13xy OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigCommonSCell-r10 ::= SEQUENCE { + -- DL configuration as well as configuration applicable for DL and UL + nonUL-Configuration-r10 SEQUENCE { + -- 1: Cell characteristics + dl-Bandwidth-r10 ENUMERATED {n6, n15, n25, n50, n75, n100}, + -- 2: Physical configuration, general + antennaInfoCommon-r10 AntennaInfoCommon, + mbsfn-SubframeConfigList-r10 MBSFN-SubframeConfigList OPTIONAL, -- Need OR + -- 3: Physical configuration, control + phich-Config-r10 PHICH-Config, + -- 4: Physical configuration, physical channels + pdsch-ConfigCommon-r10 PDSCH-ConfigCommon, + tdd-Config-r10 TDD-Config OPTIONAL -- Cond TDDSCell + }, + -- UL configuration + ul-Configuration-r10 SEQUENCE { + ul-FreqInfo-r10 SEQUENCE { + ul-CarrierFreq-r10 ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth-r10 ENUMERATED {n6, n15, + n25, n50, n75, n100} OPTIONAL, -- Need OP + additionalSpectrumEmissionSCell-r10 AdditionalSpectrumEmission + }, + p-Max-r10 P-Max OPTIONAL, -- Need OP + uplinkPowerControlCommonSCell-r10 UplinkPowerControlCommonSCell-r10, + -- A special version of IE UplinkPowerControlCommon may be introduced + -- 3: Physical configuration, control + soundingRS-UL-ConfigCommon-r10 SoundingRS-UL-ConfigCommon, + ul-CyclicPrefixLength-r10 UL-CyclicPrefixLength, + -- 4: Physical configuration, physical channels + prach-ConfigSCell-r10 PRACH-ConfigSCell-r10 OPTIONAL, -- Cond TDD-OR-NoR11 + pusch-ConfigCommon-r10 PUSCH-ConfigCommon + } OPTIONAL, -- Need OR + ..., + [[ ul-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Need OP + ]], + [[ rach-ConfigCommonSCell-r11 RACH-ConfigCommonSCell-r11 OPTIONAL, -- Cond ULSCell + prach-ConfigSCell-r11 PRACH-Config OPTIONAL, -- Cond UL + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD2 + uplinkPowerControlCommonSCell-v1130 + UplinkPowerControlCommonSCell-v1130 OPTIONAL -- Cond UL + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]], + [[ pucch-ConfigCommon-r13 PUCCH-ConfigCommon OPTIONAL, -- Cond UL + uplinkPowerControlCommonSCell-v13xx UplinkPowerControlCommonPSCell-r12 OPTIONAL -- Cond UL + ]] +} + +BCCH-Config ::= SEQUENCE { + modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16} +} + +PCCH-Config ::= SEQUENCE { + defaultPagingCycle ENUMERATED { + rf32, rf64, rf128, rf256}, + nB ENUMERATED { + fourT, twoT, oneT, halfT, quarterT, oneEighthT, + oneSixteenthT, oneThirtySecondT} +} + +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 + mac-MainConfig CHOICE { + explicitValue MAC-MainConfig, + defaultValue NULL + } OPTIONAL, -- Cond HO-toEUTRA2 + sps-Config SPS-Config OPTIONAL, -- Need ON + physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON + ..., + [[ rlf-TimersAndConstants-r9 RLF-TimersAndConstants-r9 OPTIONAL -- Need ON + ]], + [[ measSubframePatternPCell-r10 MeasSubframePatternPCell-r10 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-Info-r11 NeighCellsCRS-Info-r11 OPTIONAL -- Need ON + ]], + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-Info-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Cond CRSIM + ]] +} + +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 + naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL, -- Need ON + ..., + [[ neighCellsCRS-InfoPSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigDedicatedSCG-r12 ::= SEQUENCE { + 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 + ... +} + +RadioResourceConfigDedicatedSCell-r10 ::= SEQUENCE { + -- UE specific configuration extensions applicable for an SCell + physicalConfigDedicatedSCell-r10 PhysicalConfigDedicatedSCell-r10 OPTIONAL, -- Need ON + ..., + [[ mac-MainConfigSCell-r11 MAC-MainConfigSCell-r11 OPTIONAL -- Cond SCellAdd + ]], + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-InfoSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON + ]] + +} + +SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod + +SRB-ToAddMod ::= SEQUENCE { + srb-Identity INTEGER (1..2), + rlc-Config CHOICE { + explicitValue RLC-Config, + defaultValue NULL + } OPTIONAL, -- Cond Setup + logicalChannelConfig CHOICE { + explicitValue LogicalChannelConfig, + defaultValue NULL + } OPTIONAL, -- Cond Setup + ... +} + +DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod + +DRB-ToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddModSCG-r12 + +DRB-ToAddMod ::= SEQUENCE { + eps-BearerIdentity INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + drb-Identity DRB-Identity, + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + rlc-Config RLC-Config OPTIONAL, -- Cond SetupM + logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupM + logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond SetupM + ..., + [[ drb-TypeChange-r12 ENUMERATED {toMCG} OPTIONAL, -- Need OP + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL -- Need ON + ]], + [[ rlc-Config-v13xx RLC-Config-v13xx OPTIONAL -- Need ON + ]] +} + +DRB-ToAddModSCG-r12 ::= SEQUENCE { + drb-Identity-r12 DRB-Identity, + drb-Type-r12 CHOICE { + split-r12 NULL, + scg-r12 SEQUENCE { + eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + pdcp-Config-r12 PDCP-Config OPTIONAL -- Cond PDCP-S + } + } OPTIONAL, -- Cond SetupS2 + rlc-ConfigSCG-r12 RLC-Config OPTIONAL, -- Cond SetupS + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL, -- Need ON + logicalChannelIdentitySCG-r12 INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupS + logicalChannelConfigSCG-r12 LogicalChannelConfig OPTIONAL, -- Cond SetupS + ... +} + +DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity + +MeasSubframePatternPCell-r10 ::= CHOICE { + release NULL, + setup MeasSubframePattern-r10 +} + +NeighCellsCRS-Info-r11 ::= CHOICE { + release NULL, + setup CRS-AssistanceInfoList-r11 +} + +CRS-AssistanceInfoList-r11 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r11 + +CRS-AssistanceInfo-r11 ::= SEQUENCE { + physCellId-r11 PhysCellId, + antennaPortsCount-r11 ENUMERATED {an1, an2, an4, spare1}, + mbsfn-SubframeConfigList-r11 MBSFN-SubframeConfigList, + ... +} + +NeighCellsCRS-Info-r13 ::= CHOICE { + release NULL, + setup CRS-AssistanceInfoList-r13 +} + +CRS-AssistanceInfoList-r13 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r13 + +CRS-AssistanceInfo-r13 ::= SEQUENCE { + physCellId-r13 PhysCellId, + antennaPortsCount-r13 ENUMERATED {an1, an2, an4, spare1}, + mbsfn-SubframeConfigList-r13 MBSFN-SubframeConfigList OPTIONAL, -- Need ON + ... +} + +NAICS-AssistanceInfo-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + neighCellsToReleaseList-r12 NeighCellsToReleaseList-r12 OPTIONAL , -- Need ON + neighCellsToAddModList-r12 NeighCellsToAddModList-r12 OPTIONAL, -- Need ON + servCellp-a-r12 P-a OPTIONAL -- Need ON + } +} + +NeighCellsToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF PhysCellId + +NeighCellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF NeighCellsInfo-r12 + +NeighCellsInfo-r12 ::= SEQUENCE { + physCellId-r12 PhysCellId, + p-b-r12 INTEGER (0..3), + crs-PortsCount-r12 ENUMERATED {n1, n2, n4, spare}, + mbsfn-SubframeConfig-r12 MBSFN-SubframeConfigList OPTIONAL, -- Need ON + p-aList-r12 SEQUENCE (SIZE (1..maxP-a-PerNeighCell-r12)) OF P-a, + transmissionModeList-r12 BIT STRING (SIZE(8)), + resAllocGranularity-r12 INTEGER (1..4), + ... +} +P-a ::= ENUMERATED { dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} + + +RLC-Config ::= CHOICE { + am SEQUENCE { + ul-AM-RLC UL-AM-RLC, + dl-AM-RLC DL-AM-RLC + }, + um-Bi-Directional SEQUENCE { + ul-UM-RLC UL-UM-RLC, + dl-UM-RLC DL-UM-RLC + }, + um-Uni-Directional-UL SEQUENCE { + ul-UM-RLC UL-UM-RLC + }, + um-Uni-Directional-DL SEQUENCE { + dl-UM-RLC DL-UM-RLC + }, + ... +} + +RLC-Config-v1250 ::= SEQUENCE { + ul-extended-RLC-LI-Field-r12 BOOLEAN, + dl-extended-RLC-LI-Field-r12 BOOLEAN +} + +RLC-Config-v13xx ::= SEQUENCE { + ul-extended-RLC-AM-SN-r13 BOOLEAN, + dl-extended-RLC-AM-SN-r13 BOOLEAN, + pollPDU-v13xy PollPDU-v13xy OPTIONAL -- Need OR +} + +UL-AM-RLC ::= SEQUENCE { + t-PollRetransmit T-PollRetransmit, + pollPDU PollPDU, + pollByte PollByte, + maxRetxThreshold ENUMERATED { + t1, t2, t3, t4, t6, t8, t16, t32} +} + +DL-AM-RLC ::= SEQUENCE { + t-Reordering T-Reordering, + t-StatusProhibit T-StatusProhibit +} + +UL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLength +} + +DL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLength, + t-Reordering T-Reordering +} + +SN-FieldLength ::= ENUMERATED {size5, size10} + +T-PollRetransmit ::= ENUMERATED { + ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms105, + ms110, ms115, ms120, ms125, ms130, ms135, + ms140, ms145, ms150, ms155, ms160, ms165, + ms170, ms175, ms180, ms185, ms190, ms195, + ms200, ms205, ms210, ms215, ms220, ms225, + ms230, ms235, ms240, ms245, ms250, ms300, + ms350, ms400, ms450, ms500, spare9, spare8, + spare7, spare6, spare5, spare4, spare3, + spare2, spare1} + +PollPDU ::= ENUMERATED { + p4, p8, p16, p32, p64, p128, p256, pInfinity} + +PollPDU-v13xy ::= ENUMERATED { + p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384} + +PollByte ::= ENUMERATED { + kB25, kB50, kB75, kB100, kB125, kB250, kB375, + kB500, kB750, kB1000, kB1250, kB1500, kB2000, + kB3000, kBinfinity, spare1} + +T-Reordering ::= ENUMERATED { + ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms110, + ms120, ms130, ms140, ms150, ms160, ms170, + ms180, ms190, ms200, spare1} + +T-StatusProhibit ::= ENUMERATED { + ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms105, + ms110, ms115, ms120, ms125, ms130, ms135, + ms140, ms145, ms150, ms155, ms160, ms165, + ms170, ms175, ms180, ms185, ms190, ms195, + ms200, ms205, ms210, ms215, ms220, ms225, + ms230, ms235, ms240, ms245, ms250, ms300, + ms350, ms400, ms450, ms500, spare8, spare7, + spare6, spare5, spare4, spare3, spare2, + spare1} + + +RLF-TimersAndConstants-r9 ::= CHOICE { + release NULL, + setup SEQUENCE { + t301-r9 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t310-r9 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n310-r9 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311-r9 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311-r9 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ... + } +} + +RLF-TimersAndConstantsSCG-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + t313-r12 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n313-r12 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + n314-r12 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ... + } +} + + +RN-SubframeConfig-r10 ::= SEQUENCE { + subframeConfigPattern-r10 CHOICE { + subframeConfigPatternFDD-r10 BIT STRING (SIZE(8)), + subframeConfigPatternTDD-r10 INTEGER (0..31) + } OPTIONAL, -- Need ON + rpdcch-Config-r10 SEQUENCE { + resourceAllocationType-r10 ENUMERATED {type0, type1, type2Localized, type2Distributed, + spare4, spare3, spare2, spare1}, + resourceBlockAssignment-r10 CHOICE { + type01-r10 CHOICE { + nrb6-r10 BIT STRING (SIZE(6)), + nrb15-r10 BIT STRING (SIZE(8)), + nrb25-r10 BIT STRING (SIZE(13)), + nrb50-r10 BIT STRING (SIZE(17)), + nrb75-r10 BIT STRING (SIZE(19)), + nrb100-r10 BIT STRING (SIZE(25)) + }, + type2-r10 CHOICE { + nrb6-r10 BIT STRING (SIZE(5)), + nrb15-r10 BIT STRING (SIZE(7)), + nrb25-r10 BIT STRING (SIZE(9)), + nrb50-r10 BIT STRING (SIZE(11)), + nrb75-r10 BIT STRING (SIZE(12)), + nrb100-r10 BIT STRING (SIZE(13)) + }, + ... + }, + demodulationRS-r10 CHOICE { + interleaving-r10 ENUMERATED {crs}, + noInterleaving-r10 ENUMERATED {crs, dmrs} + }, + pdsch-Start-r10 INTEGER (1..3), + pucch-Config-r10 CHOICE { + tdd CHOICE { + channelSelectionMultiplexingBundling SEQUENCE { + n1PUCCH-AN-List-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + }, + fallbackForFormat3 SEQUENCE { + n1PUCCH-AN-P0-r10 INTEGER (0..2047), + n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR + } + }, + fdd SEQUENCE { + n1PUCCH-AN-P0-r10 INTEGER (0..2047), + n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR + } + }, + ... + } OPTIONAL, -- Need ON + ... +} + + +SchedulingRequestConfig ::= CHOICE { + release NULL, + setup SEQUENCE { + sr-PUCCH-ResourceIndex INTEGER (0..2047), + sr-ConfigIndex INTEGER (0..157), + dsr-TransMax ENUMERATED { + n4, n8, n16, n32, n64, spare3, spare2, spare1} + } +} + +SchedulingRequestConfig-v1020 ::= SEQUENCE { + sr-PUCCH-ResourceIndexP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR +} + + +SoundingRS-UL-ConfigCommon ::= CHOICE { + release NULL, + setup SEQUENCE { + srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7}, + srs-SubframeConfig ENUMERATED { + sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7, + sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15}, + ackNackSRS-SimultaneousTransmission BOOLEAN, + srs-MaxUpPts ENUMERATED {true} OPTIONAL -- Cond TDD + } +} + +SoundingRS-UL-ConfigDedicated ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3}, + srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + freqDomainPosition INTEGER (0..23), + duration BOOLEAN, + srs-ConfigIndex INTEGER (0..1023), + transmissionComb INTEGER (0..1), + cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} + } +} + +SoundingRS-UL-ConfigDedicated-v1020 ::= SEQUENCE { + srs-AntennaPort-r10 SRS-AntennaPort +} + +SoundingRS-UL-ConfigDedicated-v13x0 ::= CHOICE{ + release NULL, + setup SEQUENCE { + transmissionComb-v13x0 INTEGER (2..3) OPTIONAL, -- Need OR + cyclicShift-v13x0 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR + transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR + } +} + +SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-UpPtsAdd ENUMERATED {sym2, sym4}, + srs-Bandwidth-r13 ENUMERATED {bw0, bw1, bw2, bw3}, + srs-HoppingBandwidth-r13 ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + freqDomainPosition-r13 INTEGER (0..23), + duration-r13 BOOLEAN, + srs-ConfigIndex-r13 INTEGER (0..1023), + transmissionComb-r13 INTEGER (0..3), + cyclicShift-r13 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, + cs8, cs9, cs10, cs11}, + srs-AntennaPort-r13 SRS-AntennaPort, + transmissionCombNum-r13 ENUMERATED {n2, n4} + } +} + +SoundingRS-UL-ConfigDedicatedAperiodic-r10 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-ConfigIndexAp-r10 INTEGER (0..31), + srs-ConfigApDCI-Format4-r10 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r10 OPTIONAL,--Need ON + srs-ActivateAp-r10 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-r10 SRS-ConfigAp-r10, + srs-ConfigApDCI-Format1a2b2c-r10 SRS-ConfigAp-r10, + ... + } + } OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAperiodic-v13x0 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format4-v13x0 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-v13x0 OPTIONAL,--Need ON + srs-ActivateAp-v13x0 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-v13x0 SRS-ConfigAp-v13x0 OPTIONAL, -- Need ON + srs-ConfigApDCI-Format1a2b2c-v13x0 SRS-ConfigAp-v13x0 OPTIONAL, -- Need ON + ... + } + } OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-UpPtsAdd ENUMERATED {sym2, sym4}, + srs-ConfigIndexAp-r13 INTEGER (0..31), + srs-ConfigApDCI-Format4-r13 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r13 OPTIONAL,--Need ON + srs-ActivateAp-r13 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-r13 SRS-ConfigAp-r13, + srs-ConfigApDCI-Format1a2b2c-r13 SRS-ConfigAp-r13, + ... + } + } OPTIONAL -- Need ON + } +} + +SRS-ConfigAp-r10 ::= SEQUENCE { + srs-AntennaPortAp-r10 SRS-AntennaPort, + srs-BandwidthAp-r10 ENUMERATED {bw0, bw1, bw2, bw3}, + freqDomainPositionAp-r10 INTEGER (0..23), + transmissionCombAp-r10 INTEGER (0..1), + cyclicShiftAp-r10 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} +} + +SRS-ConfigAp-v13x0 ::= SEQUENCE { + transmissionCombAp-v13x0 INTEGER (2..3) OPTIONAL, -- Need OR + cyclicShiftAp-v13x0 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR + transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR +} + +SRS-ConfigAp-r13 ::= SEQUENCE { + srs-AntennaPortAp-r10 SRS-AntennaPort, + srs-BandwidthAp-r10 ENUMERATED {bw0, bw1, bw2, bw3}, + freqDomainPositionAp-r10 INTEGER (0..23), + transmissionCombAp-r10 INTEGER (0..3), + cyclicShiftAp-r10 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, + cs8, cs9, cs10, cs11}, + transmissionCombNum-r13 ENUMERATED {n2, n4} +} + +SRS-AntennaPort ::= ENUMERATED {an1, an2, an4, spare1} + + +SPS-Config ::= SEQUENCE { + semiPersistSchedC-RNTI C-RNTI OPTIONAL, -- Need OR + sps-ConfigDL SPS-ConfigDL OPTIONAL, -- Need ON + sps-ConfigUL SPS-ConfigUL OPTIONAL -- Need ON +} + +SPS-ConfigDL ::= CHOICE{ + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalDL ENUMERATED { + sf10, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, spare6, + spare5, spare4, spare3, spare2, + spare1}, + numberOfConfSPS-Processes INTEGER (1..8), + n1PUCCH-AN-PersistentList N1PUCCH-AN-PersistentList, + ..., + [[ twoAntennaPortActivated-r10 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-PersistentListP1-r10 N1PUCCH-AN-PersistentList + } + } OPTIONAL -- Need ON + ]] + } +} + +SPS-ConfigUL ::= CHOICE { + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalUL ENUMERATED { + sf10, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, spare6, + spare5, spare4, spare3, spare2, + spare1}, + implicitReleaseAfter ENUMERATED {e2, e3, e4, e8}, + p0-Persistent SEQUENCE { + p0-NominalPUSCH-Persistent INTEGER (-126..24), + p0-UE-PUSCH-Persistent INTEGER (-8..7) + } OPTIONAL, -- Need OP + twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD + ..., + [[ 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 + ]] + } +} + +N1PUCCH-AN-PersistentList ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + + +TDD-Config ::= SEQUENCE { + subframeAssignment ENUMERATED { + sa0, sa1, sa2, sa3, sa4, sa5, sa6}, + specialSubframePatterns ENUMERATED { + ssp0, ssp1, ssp2, ssp3, ssp4,ssp5, ssp6, ssp7, + ssp8} +} + +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, + sf10240, infinity} + +TPC-PDCCH-Config ::= CHOICE { + release NULL, + setup SEQUENCE { + tpc-RNTI BIT STRING (SIZE (16)), + tpc-Index TPC-Index + } +} + +TPC-PDCCH-ConfigSCell ::= CHOICE { + release NULL, + setup SEQUENCE { + tpc-Index-PUCCH-SCell-r13 TPC-Index + } +} + +TPC-Index ::= CHOICE { + indexOfFormat3 INTEGER (1..15), + indexOfFormat3A INTEGER (1..31) +} + + +UplinkPowerControlCommon ::= SEQUENCE { + p0-NominalPUSCH INTEGER (-126..24), + alpha Alpha-r12, + p0-NominalPUCCH INTEGER (-127..-96), + deltaFList-PUCCH DeltaFList-PUCCH, + deltaPreambleMsg3 INTEGER (-1..6) +} + +UplinkPowerControlCommon-v1020 ::= SEQUENCE { + deltaF-PUCCH-Format3-r10 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF3, deltaF4, deltaF5, deltaF6}, + deltaF-PUCCH-Format1bCS-r10 ENUMERATED {deltaF1, deltaF2, spare2, spare1} +} + +UplinkPowerControlCommon-v13xy ::= SEQUENCE { + deltaF-PUCCH-Format4 ENUMERATED {deltaFX, deltaFX1, deltaFX2,deltaFX3, deltaFX4, deltaFX5, deltaFX6, deltaFX7} OPTIONAL, -- Need OR + deltaF-PUCCH-Format5 ENUMERATED { deltaFX, deltaFX1, deltaFX2, deltaFX3, deltaFX4, deltaFX5, deltaFX6, deltaFX7} OPTIONAL -- Need OR +} + +UplinkPowerControlCommonPSCell-r12 ::= SEQUENCE { +-- For uplink power control the additional/ missing fields are signalled (compared to SCell) + deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF3, deltaF4, deltaF5, deltaF6}, + deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2, spare2, spare1}, + p0-NominalPUCCH-r12 INTEGER (-127..-96), + deltaFList-PUCCH-r12 DeltaFList-PUCCH +} + +UplinkPowerControlCommonPSCell-v13xy ::= SEQUENCE { +-- For uplink power control the additional/ missing fields are signalled (compared to SCell) + deltaF-PUCCH-Format4 ENUMERATED {deltaFX, deltaFX1, deltaFX2,deltaFX3, deltaFX4, deltaFX5, deltaFX6, deltaFX7} OPTIONAL, -- Need OR + deltaF-PUCCH-Format5 ENUMERATED { deltaFX, deltaFX1, deltaFX2,deltaFX3, deltaFX4, deltaFX5, deltaFX6, deltaFX7} OPTIONAL -- Need OR +} + +UplinkPowerControlCommonSCell-r10 ::= SEQUENCE { + p0-NominalPUSCH-r10 INTEGER (-126..24), + alpha-r10 Alpha-r12 +} + +UplinkPowerControlCommonSCell-v1130 ::= SEQUENCE { + deltaPreambleMsg3-r11 INTEGER (-1..6) +} + +UplinkPowerControlDedicated ::= SEQUENCE { + p0-UE-PUSCH INTEGER (-8..7), + deltaMCS-Enabled ENUMERATED {en0, en1}, + accumulationEnabled BOOLEAN, + p0-UE-PUCCH INTEGER (-8..7), + pSRS-Offset INTEGER (0..15), + filterCoefficient FilterCoefficient DEFAULT fc4 +} + +UplinkPowerControlDedicated-v1020 ::= SEQUENCE { + deltaTxD-OffsetListPUCCH-r10 DeltaTxD-OffsetListPUCCH-r10 OPTIONAL, -- Need OR + pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL -- Need OR +} + +UplinkPowerControlDedicated-v1130 ::= SEQUENCE { + pSRS-Offset-v1130 INTEGER (16..31) OPTIONAL, -- Need OR + pSRS-OffsetAp-v1130 INTEGER (16..31) OPTIONAL, -- Need OR + deltaTxD-OffsetListPUCCH-v1130 DeltaTxD-OffsetListPUCCH-v1130 OPTIONAL -- Need OR +} + +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 Alpha-r12, + p0-UE-PUSCH-SubframeSet2-r12 INTEGER (-8..7) + } + } +} + +UplinkPowerControlDedicatedSCell-r10 ::= SEQUENCE { + p0-UE-PUSCH-r10 INTEGER (-8..7), + deltaMCS-Enabled-r10 ENUMERATED {en0, en1}, + accumulationEnabled-r10 BOOLEAN, + pSRS-Offset-r10 INTEGER (0..15), + 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}, + deltaF-PUCCH-Format2 ENUMERATED {deltaF-2, deltaF0, deltaF1, deltaF2}, + deltaF-PUCCH-Format2a ENUMERATED {deltaF-2, deltaF0, deltaF2}, + deltaF-PUCCH-Format2b ENUMERATED {deltaF-2, deltaF0, deltaF2} +} + +DeltaTxD-OffsetListPUCCH-r10 ::= SEQUENCE { + deltaTxD-OffsetPUCCH-Format1-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format1a1b-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format22a2b-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format3-r10 ENUMERATED {dB0, dB-2}, + ... + +} + +DeltaTxD-OffsetListPUCCH-v1130 ::= SEQUENCE { + deltaTxD-OffsetPUCCH-Format1bCS-r11 ENUMERATED {dB0, dB-1} +} + +NextHopChainingCount ::= INTEGER (0..7) + + +SecurityAlgorithmConfig ::= SEQUENCE { + cipheringAlgorithm CipheringAlgorithm-r12, + integrityProtAlgorithm ENUMERATED { + eia0-v920, eia1, eia2, eia3-v1130, spare4, spare3, + spare2, spare1, ...} +} + +CipheringAlgorithm-r12 ::= ENUMERATED { + eea0, eea1, eea2, eea3-v1130, spare4, spare3, + spare2, spare1, ...} + + +ShortMAC-I ::= BIT STRING (SIZE (16)) + + +AdditionalSpectrumEmission ::= INTEGER (1..32) + + +ARFCN-ValueCDMA2000 ::= INTEGER (0..2047) + + +ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN) + +ARFCN-ValueEUTRA-v9e0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2) + +ARFCN-ValueEUTRA-r9 ::= INTEGER (0..maxEARFCN2) + + +ARFCN-ValueGERAN ::= INTEGER (0..1023) + + +ARFCN-ValueUTRA ::= INTEGER (0..16383) + + +BandclassCDMA2000 ::= ENUMERATED { + bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8, + bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16, + bc17, bc18-v9a0, bc19-v9a0, bc20-v9a0, bc21-v9a0, + spare10, spare9, spare8, spare7, spare6, spare5, spare4, + spare3, spare2, spare1, ...} + + +BandIndicatorGERAN ::= ENUMERATED {dcs1800, pcs1900} + + +CarrierFreqCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + arfcn ARFCN-ValueCDMA2000 +} + + +CarrierFreqGERAN ::= SEQUENCE { + arfcn ARFCN-ValueGERAN, + bandIndicator BandIndicatorGERAN +} + + +CarrierFreqsGERAN ::= SEQUENCE { + startingARFCN ARFCN-ValueGERAN, + bandIndicator BandIndicatorGERAN, + followingARFCNs CHOICE { + explicitListOfARFCNs ExplicitListOfARFCNs, + equallySpacedARFCNs SEQUENCE { + arfcn-Spacing INTEGER (1..8), + numberOfFollowingARFCNs INTEGER (0..31) + }, + variableBitMapOfARFCNs OCTET STRING (SIZE (1..16)) + } +} + +ExplicitListOfARFCNs ::= SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN + + +CarrierFreqListMBMS-r11 ::= SEQUENCE (SIZE (1..maxFreqMBMS-r11)) OF ARFCN-ValueEUTRA-r9 + + +CDMA2000-Type ::= ENUMERATED {type1XRTT, typeHRPD} + + +CellIdentity ::= BIT STRING (SIZE (28)) + + +CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellIndex + +CellIndex ::= INTEGER (1..maxCellMeas) + + +CellReselectionPriority ::= INTEGER (0..7) + + +CellReselectionSubPriority-r13 ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8} + + +CSFB-RegistrationParam1XRTT ::= SEQUENCE { + sid BIT STRING (SIZE (15)), + nid BIT STRING (SIZE (16)), + multipleSID BOOLEAN, + multipleNID BOOLEAN, + homeReg BOOLEAN, + foreignSIDReg BOOLEAN, + foreignNIDReg BOOLEAN, + parameterReg BOOLEAN, + powerUpReg BOOLEAN, + registrationPeriod BIT STRING (SIZE (7)), + registrationZone BIT STRING (SIZE (12)), + totalZone BIT STRING (SIZE (3)), + zoneTimer BIT STRING (SIZE (3)) +} + +CSFB-RegistrationParam1XRTT-v920 ::= SEQUENCE { + powerDownReg-r9 ENUMERATED {true} +} + + +CellGlobalIdEUTRA ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellIdentity CellIdentity +} + + +CellGlobalIdUTRA ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellIdentity BIT STRING (SIZE (28)) +} + + +CellGlobalIdGERAN ::= SEQUENCE { + plmn-Identity PLMN-Identity, + locationAreaCode BIT STRING (SIZE (16)), + cellIdentity BIT STRING (SIZE (16)) +} + + +CellGlobalIdCDMA2000 ::= CHOICE { + cellGlobalId1XRTT BIT STRING (SIZE (47)), + cellGlobalIdHRPD BIT STRING (SIZE (128)) +} + + +CSG-Identity ::= BIT STRING (SIZE (27)) + + +FreqBandIndicator ::= INTEGER (1..maxFBI) + +FreqBandIndicator-v9e0 ::= INTEGER (maxFBI-Plus1..maxFBI2) + +FreqBandIndicator-r11 ::= INTEGER (1..maxFBI2) + + +MobilityControlInfo ::= SEQUENCE { + targetPhysCellId PhysCellId, + carrierFreq CarrierFreqEUTRA OPTIONAL, -- Cond HO-toEUTRA2 + carrierBandwidth CarrierBandwidthEUTRA OPTIONAL, -- Cond HO-toEUTRA + additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Cond HO-toEUTRA + t304 ENUMERATED { + ms50, ms100, ms150, ms200, ms500, ms1000, + ms2000, spare1}, + newUE-Identity C-RNTI, + radioResourceConfigCommon RadioResourceConfigCommon, + rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL, -- Need OP + ..., + [[ carrierFreq-v9e0 CarrierFreqEUTRA-v9e0 OPTIONAL -- Need ON + ]], + [[ drb-ContinueROHC-r11 ENUMERATED {true} OPTIONAL -- Cond HO + ]] +} + +MobilityControlInfoSCG-r12 ::= SEQUENCE { + 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 + ... +} + +CarrierBandwidthEUTRA ::= SEQUENCE { + dl-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100, spare10, + spare9, spare8, spare7, spare6, spare5, + spare4, spare3, spare2, spare1}, + ul-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100, spare10, + spare9, spare8, spare7, spare6, spare5, + spare4, spare3, spare2, spare1} OPTIONAL -- Need OP +} + +CarrierFreqEUTRA ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueEUTRA, + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL -- Cond FDD +} + +CarrierFreqEUTRA-v9e0 ::= SEQUENCE { + dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9, + ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9 OPTIONAL -- Cond FDD +} + + +MobilityParametersCDMA2000 ::= OCTET STRING + + +MobilityStateParameters ::= SEQUENCE { + t-Evaluation ENUMERATED { + s30, s60, s120, s180, s240, spare3, spare2, spare1}, + t-HystNormal ENUMERATED { + s30, s60, s120, s180, s240, spare3, spare2, spare1}, + n-CellChangeMedium INTEGER (1..16), + n-CellChangeHigh INTEGER (1..16) +} + + +MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator + +MultiBandInfoList-v9e0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF MultiBandInfo-v9e0 + +MultiBandInfoList-v10j0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF NS-PmaxList-r10 + +MultiBandInfoList-r11 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-r11 + +MultiBandInfo-v9e0 ::= SEQUENCE { + freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL -- Need OP +} + + +NS-PmaxList-r10 ::= SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-r10 + +NS-PmaxValue-r10 ::= SEQUENCE { + additionalPmax-r10 P-Max OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission +} + + +PhysCellId ::= INTEGER (0..503) + + +PhysCellIdRange ::= SEQUENCE { + start PhysCellId, + range ENUMERATED { + n4, n8, n12, n16, n24, n32, n48, n64, n84, + n96, n128, n168, n252, n504, spare2, + spare1} OPTIONAL -- Need OP +} + + +PhysCellIdRangeUTRA-FDDList-r9::= SEQUENCE (SIZE (1..maxPhysCellIdRange-r9)) OF PhysCellIdRangeUTRA-FDD-r9 + +PhysCellIdRangeUTRA-FDD-r9 ::= SEQUENCE { + start-r9 PhysCellIdUTRA-FDD, + range-r9 INTEGER (2..512) OPTIONAL -- Need OP +} + + +PhysCellIdCDMA2000 ::= INTEGER (0..maxPNOffset) + + +PhysCellIdGERAN ::= SEQUENCE { + networkColourCode BIT STRING (SIZE (3)), + baseStationColourCode BIT STRING (SIZE (3)) +} + + +PhysCellIdUTRA-FDD ::= INTEGER (0..511) + + +PhysCellIdUTRA-TDD ::= INTEGER (0..127) + + +PLMN-Identity ::= SEQUENCE { + mcc MCC OPTIONAL, -- Cond MCC + mnc MNC +} + +MCC ::= SEQUENCE (SIZE (3)) OF + MCC-MNC-Digit + +MNC ::= SEQUENCE (SIZE (2..3)) OF + MCC-MNC-Digit + +MCC-MNC-Digit ::= INTEGER (0..9) + + + +PLMN-IdentityList3-r11 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity + + +PreRegistrationInfoHRPD ::= SEQUENCE { + preRegistrationAllowed BOOLEAN, + preRegistrationZoneId PreRegistrationZoneIdHRPD OPTIONAL, -- cond PreRegAllowed + secondaryPreRegistrationZoneIdList SecondaryPreRegistrationZoneIdListHRPD OPTIONAL -- Need OR +} + +SecondaryPreRegistrationZoneIdListHRPD ::= SEQUENCE (SIZE (1..2)) OF PreRegistrationZoneIdHRPD + +PreRegistrationZoneIdHRPD ::= INTEGER (0..255) + + +Q-QualMin-r9 ::= INTEGER (-34..-3) + + +Q-RxLevMin ::= INTEGER (-70..-22) + + +Q-OffsetRange ::= ENUMERATED { + dB-24, dB-22, dB-20, dB-18, dB-16, dB-14, + dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3, + dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5, + dB6, dB8, dB10, dB12, dB14, dB16, dB18, + dB20, dB22, dB24} + + +Q-OffsetRangeInterRAT ::= INTEGER (-15..15) + + +ReselectionThreshold ::= INTEGER (0..31) + + +ReselectionThresholdQ-r9 ::= INTEGER (0..31) + + +SCellIndex-r10 ::= INTEGER (1..7) +SCellIndex-v13xy ::= INTEGER (8..31) +SCellIndex-r13 ::= INTEGER (1..31) + + +ServCellIndex-r10 ::= INTEGER (0..7) +ServCellIndex-v13xy ::= INTEGER (8..31) +ServCellIndexFull-r13 ::= INTEGER (0..31) + + +SpeedStateScaleFactors ::= SEQUENCE { + sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0}, + sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0} +} + +SystemInfoListGERAN ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF + OCTET STRING (SIZE (1..23)) + + +SystemTimeInfoCDMA2000 ::= SEQUENCE { + cdma-EUTRA-Synchronisation BOOLEAN, + cdma-SystemTime CHOICE { + synchronousSystemTime BIT STRING (SIZE (39)), + asynchronousSystemTime BIT STRING (SIZE (49)) + } +} + + +TrackingAreaCode ::= BIT STRING (SIZE (16)) + + +T-Reselection ::= INTEGER (0..7) + + +AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100} + + +CSI-RSRP-Range-r12 ::= INTEGER(0..97) + + +Hysteresis ::= INTEGER (0..30) + + +LocationInfo-r10 ::= SEQUENCE { + locationCoordinates-r10 CHOICE { + ellipsoid-Point-r10 OCTET STRING, + ellipsoidPointWithAltitude-r10 OCTET STRING, + ..., + ellipsoidPointWithUncertaintyCircle-r11 OCTET STRING, + ellipsoidPointWithUncertaintyEllipse-r11 OCTET STRING, + ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 OCTET STRING, + ellipsoidArc-r11 OCTET STRING, + polygon-r11 OCTET STRING + }, + horizontalVelocity-r10 OCTET STRING OPTIONAL, + gnss-TOD-msec-r10 OCTET STRING OPTIONAL, + ... +} + + +MBSFN-RSRQ-Range-r12 ::= INTEGER(0..31) + +MeasConfig ::= SEQUENCE { + -- Measurement objects + measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need ON + measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need ON + -- Reporting configurations + reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need ON + reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need ON + -- Measurement identities + measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need ON + measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need ON + -- Other parameters + quantityConfig QuantityConfig OPTIONAL, -- Need ON + measGapConfig MeasGapConfig OPTIONAL, -- Need ON + s-Measure RSRP-Range OPTIONAL, -- Need ON + preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP + speedStatePars CHOICE { + release NULL, + setup SEQUENCE { + mobilityStateParameters MobilityStateParameters, + timeToTrigger-SF SpeedStateScaleFactors + } + } OPTIONAL, -- Need ON + ..., + [[ measObjectToAddModList-v9e0 MeasObjectToAddModList-v9e0 OPTIONAL -- Need ON + ]], + [[ allowInterruptions-r11 BOOLEAN OPTIONAL -- Need ON + ]], + [[ measScaleFactor-r12 CHOICE { + 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 + ]], + [[ ul-DelayConfig-r13 UL-DelayConfig-r13 OPTIONAL -- Need ON + ]] +} + +MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId + +MeasIdToRemoveListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId-v1250 + +MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId + +ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId + + +MeasDS-Config-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + dmtc-PeriodOffset-r12 CHOICE { + ms40-r12 INTEGER(0..39), + ms80-r12 INTEGER(0..79), + ms160-r12 INTEGER(0..159), + ... + }, + ds-OccasionDuration-r12 CHOICE { + 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 + ... + } +} + +MeasCSI-RS-ToRemoveList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12 + +MeasCSI-RS-ToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Config-r12 + +MeasCSI-RS-Id-r12 ::= INTEGER (1..maxCSI-RS-Meas-r12) + +MeasCSI-RS-Config-r12 ::= SEQUENCE { + measCSI-RS-Id-r12 MeasCSI-RS-Id-r12, + physCellId-r12 INTEGER (0..503), + scramblingIdentity-r12 INTEGER (0..503), + resourceConfig-r12 INTEGER (0..31), + subframeOffset-r12 INTEGER (0..4), + csi-RS-IndividualOffset-r12 Q-OffsetRange, + ... +} + + +MeasGapConfig ::= CHOICE { + release NULL, + setup SEQUENCE { + gapOffset CHOICE { + gp0 INTEGER (0..39), + gp1 INTEGER (0..79), + ... + } + } +} + + +MeasId ::= INTEGER (1..maxMeasId) + +MeasId-v1250 ::= INTEGER (maxMeasId-Plus1..maxMeasId-r12) + + +MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod + +MeasIdToAddModListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddModExt-r12 + +MeasIdToAddMod ::= SEQUENCE { + measId MeasId, + measObjectId MeasObjectId, + reportConfigId ReportConfigId +} + +MeasIdToAddModExt-r12 ::= SEQUENCE { + measId-v1250 MeasId-v1250, + measObjectId-r12 MeasObjectId, + reportConfigId-r12 ReportConfigId +} + + +MeasObjectCDMA2000 ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + carrierFreq CarrierFreqCDMA2000, + searchWindowSize INTEGER (0..15) OPTIONAL, -- Need ON + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CellsToAddModListCDMA2000 OPTIONAL, -- Need ON + cellForWhichToReportCGI PhysCellIdCDMA2000 OPTIONAL, -- Need ON + ... +} + +CellsToAddModListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModCDMA2000 + +CellsToAddModCDMA2000 ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdCDMA2000 +} + + +MeasObjectEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + allowedMeasBandwidth AllowedMeasBandwidth, + presenceAntennaPort1 PresenceAntennaPort1, + neighCellConfig NeighCellConfig, + offsetFreq Q-OffsetRange DEFAULT dB0, + -- Cell list + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CellsToAddModList OPTIONAL, -- Need ON + -- Black list + blackCellsToRemoveList CellIndexList OPTIONAL, -- Need ON + blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need ON + cellForWhichToReportCGI PhysCellId OPTIONAL, -- Need ON + ..., + [[measCycleSCell-r10 MeasCycleSCell-r10 OPTIONAL, -- Need ON + measSubframePatternConfigNeigh-r10 MeasSubframePatternConfigNeigh-r10 OPTIONAL -- Need ON + ]], + [[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 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 + ]], + [[ + whiteCellsToRemoveList-r13 CellIndexList OPTIONAL, -- Need ON + whiteCellsToAddModList-r13 WhiteCellsToAddModList-r13 OPTIONAL, -- Need ON + measRSSI-Config-r13 MeasRSSI-Config-r13 OPTIONAL -- Need ON + ]] +} + +MeasObjectEUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +CellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod + +CellsToAddMod ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellId, + cellIndividualOffset Q-OffsetRange +} + +BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF BlackCellsToAddMod + +BlackCellsToAddMod ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellIdRange PhysCellIdRange +} + +MeasCycleSCell-r10 ::= ENUMERATED {sf160, sf256, sf320, sf512, + sf640, sf1024, sf1280, spare1} + +MeasSubframePatternConfigNeigh-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + measSubframePatternNeigh-r10 MeasSubframePattern-r10, + measSubframeCellList-r10 MeasSubframeCellList-r10 OPTIONAL -- Cond always + } +} + +MeasSubframeCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdRange + +AltTTT-CellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF AltTTT-CellsToAddMod-r12 + +AltTTT-CellsToAddMod-r12 ::= SEQUENCE { + cellIndex-r12 INTEGER (1..maxCellMeas), + physCellIdRange-r12 PhysCellIdRange +} + +WhiteCellsToAddModList-r13 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF WhiteCellsToAddMod-r13 + +WhiteCellsToAddMod-r13 ::= SEQUENCE { + cellIndex-r13 INTEGER (1..maxCellMeas), + physCellIdRange-r13 PhysCellIdRange +} + +MeasRSSI-Config-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + rmtc-Period-r13 ENUMERATED {ms40, ms80, ms160, ms320, ms640}, + rmtc-SubframeOffset-r13 INTEGER(0..639) OPTIONAL, -- Need ON + measDuration-r13 ENUMERATED {sym1, sym14, sym28, sym42, sym70} + } +} + + +MeasObjectGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B, + cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON + ... +} + + +MeasObjectId ::= INTEGER (1..maxObjectId) + + +MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod + +MeasObjectToAddModList-v9e0 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod-v9e0 + +MeasObjectToAddMod ::= SEQUENCE { + measObjectId MeasObjectId, + measObject CHOICE { + measObjectEUTRA MeasObjectEUTRA, + measObjectUTRA MeasObjectUTRA, + measObjectGERAN MeasObjectGERAN, + measObjectCDMA2000 MeasObjectCDMA2000, + ... + } +} + +MeasObjectToAddMod-v9e0 ::= SEQUENCE { + measObjectEUTRA-v9e0 MeasObjectEUTRA-v9e0 OPTIONAL -- Cond eutra +} + + +MeasObjectUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CHOICE { + cellsToAddModListUTRA-FDD CellsToAddModListUTRA-FDD, + cellsToAddModListUTRA-TDD CellsToAddModListUTRA-TDD + } OPTIONAL, -- Need ON + cellForWhichToReportCGI CHOICE { + utra-FDD PhysCellIdUTRA-FDD, + utra-TDD PhysCellIdUTRA-TDD + } OPTIONAL, -- Need ON + ..., + [[ csg-allowedReportingCells-v930 CSG-AllowedReportingCells-r9 OPTIONAL -- Need ON + ]], + [[ reducedMeasPerformance-r12 BOOLEAN OPTIONAL -- Need ON + ]] +} + +CellsToAddModListUTRA-FDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-FDD + +CellsToAddModUTRA-FDD ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdUTRA-FDD +} + +CellsToAddModListUTRA-TDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-TDD + +CellsToAddModUTRA-TDD ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdUTRA-TDD +} + +CSG-AllowedReportingCells-r9 ::= SEQUENCE { + physCellIdRangeUTRA-FDDList-r9 PhysCellIdRangeUTRA-FDDList-r9 OPTIONAL -- Need OR +} + +MeasResults ::= SEQUENCE { + measId MeasId, + measResultPCell SEQUENCE { + rsrpResult RSRP-Range, + rsrqResult RSRQ-Range + }, + measResultNeighCells CHOICE { + measResultListEUTRA MeasResultListEUTRA, + measResultListUTRA MeasResultListUTRA, + measResultListGERAN MeasResultListGERAN, + measResultsCDMA2000 MeasResultsCDMA2000, + ... + } OPTIONAL, + ..., + [[ measResultForECID-r9 MeasResultForECID-r9 OPTIONAL + ]], + [[ locationInfo-r10 LocationInfo-r10 OPTIONAL, + measResultServFreqList-r10 MeasResultServFreqList-r10 OPTIONAL + ]], + [[ measId-v1250 MeasId-v1250 OPTIONAL, + measResultPCell-v1250 RSRQ-Range-v1250 OPTIONAL, + measResultCSI-RS-List-r12 MeasResultCSI-RS-List-r12 OPTIONAL + ]], + [[ measResultForRSSI-r13 MeasResultForRSSI-r13 OPTIONAL, + measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL, + measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL, + measResultPCell-v13xy SEQUENCE { + rs-sinrResult-r13 RS-SINR-Range-r13 + } OPTIONAL, + ul-PDCP-DelayResultList-r13 UL-PDCP-DelayResultList-r13 OPTIONAL + ]] + +} + +MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA + +MeasResultEUTRA ::= SEQUENCE { + physCellId PhysCellId, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdEUTRA, + trackingAreaCode TrackingAreaCode, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + rsrpResult RSRP-Range OPTIONAL, + rsrqResult RSRQ-Range OPTIONAL, + ..., + [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL + ]], + [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL, + measResult-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ rs-sinrResult-r13 RS-SINR-Range-r13 OPTIONAL + ]] + } +} + +MeasResultServFreqList-r10 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServFreq-r10 + +MeasResultServFreqListExt-r13 ::= SEQUENCE (SIZE (maxServCell-Plus1..maxServCell-r13)) OF MeasResultServFreq-r13 + +MeasResultServFreq-r10 ::= SEQUENCE { + servFreqId-r10 ServCellIndex-r10, + measResultSCell-r10 SEQUENCE { + rsrpResultSCell-r10 RSRP-Range, + rsrqResultSCell-r10 RSRQ-Range + } OPTIONAL, + measResultBestNeighCell-r10 SEQUENCE { + physCellId-r10 PhysCellId, + rsrpResultNCell-r10 RSRP-Range, + rsrqResultNCell-r10 RSRQ-Range + } OPTIONAL, + ..., + [[ measResultSCell-v1250 RSRQ-Range-v1250 OPTIONAL, + measResultBestNeighCell-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ measResultSCell-v13xy SEQUENCE { + rs-sinrResult-r13 RS-SINR-Range-r13 + } OPTIONAL, + measResultBestNeighCell-v13xy SEQUENCE { + rs-sinrResult-r13 RS-SINR-Range-r13 + } OPTIONAL + ]] +} + +MeasResultServFreq-r13 ::= SEQUENCE { + servFreqId-r13 ServCellIndexFull-r13, + measResultSCell-r13 SEQUENCE { + rsrpResultSCell-r13 RSRP-Range, + rsrqResultSCell-r13 RSRQ-Range-v13xx, + rs-sinrResult-r13 RS-SINR-Range-r13 OPTIONAL + } OPTIONAL, + measResultBestNeighCell-r13 SEQUENCE { + physCellId-r13 PhysCellId, + rsrpResultNCell-r10 RSRP-Range, + rsrqResultNCell-r13 RSRQ-Range-v13xx, + rs-sinrResult-r13 RS-SINR-Range-r13 OPTIONAL + } OPTIONAL, + ... +} + +MeasResultCSI-RS-List-r12 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCSI-RS-r12 + +MeasResultCSI-RS-r12 ::= SEQUENCE { + measCSI-RS-Id-r12 MeasCSI-RS-Id-r12, + csi-RSRP-Result-r12 CSI-RSRP-Range-r12, + ... +} + +MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA + +MeasResultUTRA ::= SEQUENCE { + physCellId CHOICE { + fdd PhysCellIdUTRA-FDD, + tdd PhysCellIdUTRA-TDD + }, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdUTRA, + locationAreaCode BIT STRING (SIZE (16)) OPTIONAL, + routingAreaCode BIT STRING (SIZE (8)) OPTIONAL, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + utra-RSCP INTEGER (-5..91) OPTIONAL, + utra-EcN0 INTEGER (0..49) OPTIONAL, + ..., + [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL + ]], + [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL + ]] + } +} + +MeasResultListGERAN ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultGERAN + +MeasResultGERAN ::= SEQUENCE { + carrierFreq CarrierFreqGERAN, + physCellId PhysCellIdGERAN, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdGERAN, + routingAreaCode BIT STRING (SIZE (8)) OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + rssi INTEGER (0..63), + ... + } +} + +MeasResultsCDMA2000 ::= SEQUENCE { + preRegistrationStatusHRPD BOOLEAN, + measResultListCDMA2000 MeasResultListCDMA2000 +} + +MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDMA2000 + +MeasResultCDMA2000 ::= SEQUENCE { + physCellId PhysCellIdCDMA2000, + cgi-Info CellGlobalIdCDMA2000 OPTIONAL, + measResult SEQUENCE { + pilotPnPhase INTEGER (0..32767) OPTIONAL, + pilotStrength INTEGER (0..63), + ... + } +} + +MeasResultForECID-r9 ::= SEQUENCE { + ue-RxTxTimeDiffResult-r9 INTEGER (0..4095), + currentSFN-r9 BIT STRING (SIZE (10)) +} + +PLMN-IdentityList2 ::= SEQUENCE (SIZE (1..5)) OF PLMN-Identity + +AdditionalSI-Info-r9 ::= SEQUENCE { + csg-MemberStatus-r9 ENUMERATED {member} OPTIONAL, + csg-Identity-r9 CSG-Identity OPTIONAL +} +MeasResultForRSSI-r13 ::= SEQUENCE { + rssi-Result-r13 RSSI-Range-r13, + channelOccupancy-r13 INTEGER (0..100) +} + +UL-PDCP-DelayResultList-r13 ::= SEQUENCE (SIZE (1..maxQCI-r13)) OF UL-PDCP-DelayResult-r13 + + +UL-PDCP-DelayResult-r13 ::= SEQUENCE { + qci-Id-r13 ENUMERATED {qci1, qci2, qci3, qci4, spare4, spare3, spare2, spare1}, + excessDelay-r13 INTEGER (0..31) +} + + +MeasResultSSTD-r13 ::= SEQUENCE { + sfn-OffsetResult-r13 INTEGER (0..1023), + frameBoundaryOffsetResult-r13 INTEGER (-4..5), + subframeBoundaryOffsetResult-r13 INTEGER (0..63) +} + + +MeasScaleFactor-r12 ::= ENUMERATED {sf-EUTRA-cf1, sf-EUTRA-cf2} + + +QuantityConfig ::= SEQUENCE { + quantityConfigEUTRA QuantityConfigEUTRA OPTIONAL, -- Need ON + quantityConfigUTRA QuantityConfigUTRA OPTIONAL, -- Need ON + quantityConfigGERAN QuantityConfigGERAN OPTIONAL, -- Need ON + quantityConfigCDMA2000 QuantityConfigCDMA2000 OPTIONAL, -- Need ON + ..., + [[ quantityConfigUTRA-v1020 QuantityConfigUTRA-v1020 OPTIONAL -- Need ON + ]], + [[ quantityConfigEUTRA-v1250 QuantityConfigEUTRA-v1250 OPTIONAL -- Need ON + ]], + [[ quantityConfigEUTRA-v13xy QuantityConfigEUTRA-v13xy OPTIONAL -- Need ON + ]] +} + +QuantityConfigEUTRA ::= SEQUENCE { + filterCoefficientRSRP FilterCoefficient DEFAULT fc4, + filterCoefficientRSRQ FilterCoefficient DEFAULT fc4 +} + +QuantityConfigEUTRA-v1250 ::= SEQUENCE { + filterCoefficientCSI-RSRP-r12 FilterCoefficient OPTIONAL -- Need OR +} + +QuantityConfigEUTRA-v13xy ::= SEQUENCE { + filterCoefficientRS-SINR-r13 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigUTRA ::= SEQUENCE { + measQuantityUTRA-FDD ENUMERATED {cpich-RSCP, cpich-EcN0}, + measQuantityUTRA-TDD ENUMERATED {pccpch-RSCP}, + filterCoefficient FilterCoefficient DEFAULT fc4 +} + +QuantityConfigUTRA-v1020 ::= SEQUENCE { + filterCoefficient2-FDD-r10 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigGERAN ::= SEQUENCE { + measQuantityGERAN ENUMERATED {rssi}, + filterCoefficient FilterCoefficient DEFAULT fc2 +} + +QuantityConfigCDMA2000 ::= SEQUENCE { + measQuantityCDMA2000 ENUMERATED {pilotStrength, pilotPnPhaseAndPilotStrength} +} + + +ReportConfigEUTRA ::= SEQUENCE { + triggerType CHOICE { + event SEQUENCE { + eventId CHOICE { + eventA1 SEQUENCE { + a1-Threshold ThresholdEUTRA + }, + eventA2 SEQUENCE { + a2-Threshold ThresholdEUTRA + }, + eventA3 SEQUENCE { + a3-Offset INTEGER (-30..30), + reportOnLeave BOOLEAN + }, + eventA4 SEQUENCE { + a4-Threshold ThresholdEUTRA + }, + eventA5 SEQUENCE { + a5-Threshold1 ThresholdEUTRA, + a5-Threshold2 ThresholdEUTRA + }, + ..., + eventA6-r10 SEQUENCE { + a6-Offset-r10 INTEGER (-30..30), + a6-ReportOnLeave-r10 BOOLEAN + }, + eventC1-r12 SEQUENCE { + c1-Threshold-r12 ThresholdEUTRA-v1250, + c1-ReportOnLeave-r12 BOOLEAN + }, + eventC2-r12 SEQUENCE { + c2-RefCSI-RS-r12 MeasCSI-RS-Id-r12, + c2-Offset-r12 INTEGER (-30..30), + c2-ReportOnLeave-r12 BOOLEAN + } + }, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + periodical SEQUENCE { + purpose ENUMERATED { + reportStrongestCells, reportCGI} + } + }, + triggerQuantity ENUMERATED {rsrp, rsrq}, + reportQuantity ENUMERATED {sameAsTriggerQuantity, both}, + maxReportCells INTEGER (1..maxCellReport), + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + ..., + [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI + ue-RxTxTimeDiffPeriodical-r9 ENUMERATED {setup} OPTIONAL -- Need OR + ]], + [[ includeLocationInfo-r10 ENUMERATED {true} OPTIONAL, -- Need OR + reportAddNeighMeas-r10 ENUMERATED {setup} OPTIONAL -- Need OR + ]], + [[ 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 + ]], + [[ reportSSTD-Meas-r13 BOOLEAN OPTIONAL, -- Need ON + triggerQuantity-v13xy CHOICE { + release NULL, + setup ENUMERATED {sinr} + } OPTIONAL, -- Need ON + aN-ThresholdSINR-r13 CHOICE { + release NULL, + setup SEQUENCE { + threshold1-r13 ThresholdEUTRA-v13xy OPTIONAL, -- Need ON + threshold2-r13 ThresholdEUTRA-v13xy OPTIONAL -- Need ON + } + } OPTIONAL, -- Cond SINR + reportQuantity-v13xy CHOICE { + release NULL, + setup ENUMERATED {rsrpANDsinr, rsrqANDsinr, all} + } OPTIONAL, -- Need ON + useWhiteCellList-r13 BOOLEAN OPTIONAL, -- Need ON + measRSSI-ReportConfig-r13 MeasRSSI-ReportConfig-r13 OPTIONAL -- Need OR + ]] +} + +RSRQ-RangeConfig-r12 ::= CHOICE { + release NULL, + setup RSRQ-Range-v1250 +} + +ThresholdEUTRA ::= CHOICE{ + threshold-RSRP RSRP-Range, + threshold-RSRQ RSRQ-Range +} + +ThresholdEUTRA-v1250 ::= CSI-RSRP-Range-r12 + +ThresholdEUTRA-v13xy ::= RS-SINR-Range-r13 + +MeasRSSI-ReportConfig-r13 ::= SEQUENCE { + channelOccupancyThreshold-r13 RSSI-Range-r13 +} + + +ReportConfigId ::= INTEGER (1..maxReportConfigId) + + +ReportConfigInterRAT ::= SEQUENCE { + triggerType CHOICE { + event SEQUENCE { + eventId CHOICE { + eventB1 SEQUENCE { + b1-Threshold CHOICE { + b1-ThresholdUTRA ThresholdUTRA, + b1-ThresholdGERAN ThresholdGERAN, + b1-ThresholdCDMA2000 ThresholdCDMA2000 + } + }, + eventB2 SEQUENCE { + b2-Threshold1 ThresholdEUTRA, + b2-Threshold2 CHOICE { + b2-Threshold2UTRA ThresholdUTRA, + b2-Threshold2GERAN ThresholdGERAN, + b2-Threshold2CDMA2000 ThresholdCDMA2000 + } + }, + ... + }, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + periodical SEQUENCE { + purpose ENUMERATED { + reportStrongestCells, + reportStrongestCellsForSON, + reportCGI} + } + }, + maxReportCells INTEGER (1..maxCellReport), + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + ..., + [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL -- Cond reportCGI + ]], + [[ reportQuantityUTRA-FDD-r10 ENUMERATED {both} OPTIONAL -- Need OR + ]], + [[ includeLocationInfo-r11 BOOLEAN OPTIONAL -- Need ON + ]], + [[ b2-Threshold1-v1250 CHOICE { + release NULL, + setup RSRQ-Range-v1250 + } OPTIONAL -- Need ON + ]] +} + +ThresholdUTRA ::= CHOICE{ + utra-RSCP INTEGER (-5..91), + utra-EcN0 INTEGER (0..49) +} + +ThresholdGERAN ::= INTEGER (0..63) + +ThresholdCDMA2000 ::= INTEGER (0..63) + + +ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod + +ReportConfigToAddMod ::= SEQUENCE { + reportConfigId ReportConfigId, + reportConfig CHOICE { + reportConfigEUTRA ReportConfigEUTRA, + reportConfigInterRAT ReportConfigInterRAT + } +} + + + +ReportInterval ::= ENUMERATED { + ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, + min1, min6, min12, min30, min60, spare3, spare2, spare1} + + +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-v1250 ::= INTEGER(-30..46) + +RSRQ-Range-v13xx ::= INTEGER(-30..46) + + +RSRQ-Type-r12 ::= SEQUENCE { + allSymbols-r12 BOOLEAN, + wideBand-r12 BOOLEAN +} + + +RS-SINR-Range-r13 ::= INTEGER(0..127) + + +RSSI-Range-r13 ::= INTEGER(0..76) + + +TimeToTrigger ::= ENUMERATED { + ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, + ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, + ms5120} + + +UL-DelayConfig-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + delayThreshold-r13 ENUMERATED { + ms30, ms40, ms50, ms60, ms70, ms80, + ms90,ms100, ms150, ms300, ms500, ms750, spare4, spare3, spare2, spare1}, + delayReportInterval-r13 ENUMERATED { + ms1024, ms2048, ms5120, ms10240} + } +} + + +AbsoluteTimeInfo-r10 ::= BIT STRING (SIZE (48)) + + +AreaConfiguration-r10 ::= CHOICE { + cellGlobalIdList-r10 CellGlobalIdList-r10, + trackingAreaCodeList-r10 TrackingAreaCodeList-r10 +} + +AreaConfiguration-v1130 ::= SEQUENCE { + trackingAreaCodeList-v1130 TrackingAreaCodeList-v1130 +} + +CellGlobalIdList-r10 ::= SEQUENCE (SIZE (1..32)) OF CellGlobalIdEUTRA + +TrackingAreaCodeList-r10 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaCode + +TrackingAreaCodeList-v1130 ::= SEQUENCE { + plmn-Identity-perTAC-List-r11 SEQUENCE (SIZE (1..8)) OF PLMN-Identity +} + + +C-RNTI ::= BIT STRING (SIZE (16)) + + +DedicatedInfoCDMA2000 ::= OCTET STRING + + +DedicatedInfoNAS ::= OCTET STRING + + +FilterCoefficient ::= ENUMERATED { + fc0, fc1, fc2, fc3, fc4, fc5, + fc6, fc7, fc8, fc9, fc11, fc13, + fc15, fc17, fc19, spare1, ...} + + +LoggingDuration-r10 ::= ENUMERATED { + min10, min20, min40, min60, min90, min120, spare2, spare1} + + +LoggingInterval-r10 ::= ENUMERATED { + ms1280, ms2560, ms5120, ms10240, ms20480, + ms30720, ms40960, ms61440} + + +MeasSubframePattern-r10 ::= CHOICE { + subframePatternFDD-r10 BIT STRING (SIZE (40)), + subframePatternTDD-r10 CHOICE { + subframeConfig1-5-r10 BIT STRING (SIZE (20)), + subframeConfig0-r10 BIT STRING (SIZE (70)), + subframeConfig6-r10 BIT STRING (SIZE (60)), + ... + }, + ... +} + + +MMEC ::= BIT STRING (SIZE (8)) + + +NeighCellConfig ::= BIT STRING (SIZE (2)) + + +OtherConfig-r9 ::= SEQUENCE { + reportProximityConfig-r9 ReportProximityConfig-r9 OPTIONAL, -- Need ON + ..., + [[ idc-Config-r11 IDC-Config-r11 OPTIONAL, -- Need ON + powerPrefIndicationConfig-r11 PowerPrefIndicationConfig-r11 OPTIONAL, -- Need ON + obtainLocationConfig-r11 ObtainLocationConfig-r11 OPTIONAL -- Need ON + ]] +} + +IDC-Config-r11 ::= SEQUENCE { + idc-Indication-r11 ENUMERATED {setup} OPTIONAL, -- Need OR + autonomousDenialParameters-r11 SEQUENCE { + autonomousDenialSubframes-r11 ENUMERATED {n2, n5, n10, n15, + n20, n30, spare2, spare1}, + autonomousDenialValidity-r11 ENUMERATED { + sf200, sf500, sf1000, sf2000, + spare4, spare3, spare2, spare1} + } OPTIONAL, -- Need OR + ..., + [[ idc-Indication-UL-CA-r11 ENUMERATED {setup} OPTIONAL -- Cond idc-Ind + ]] +} + +ObtainLocationConfig-r11 ::= SEQUENCE { + obtainLocation-r11 ENUMERATED {setup} OPTIONAL -- Need OR +} + +PowerPrefIndicationConfig-r11 ::= CHOICE{ + release NULL, + setup SEQUENCE{ + powerPrefIndicationTimer-r11 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, + s30, s60, s90, s120, s300, s600, spare3, + spare2, spare1} + } +} + +ReportProximityConfig-r9 ::= SEQUENCE { + proximityIndicationEUTRA-r9 ENUMERATED {enabled} OPTIONAL, -- Need OR + proximityIndicationUTRA-r9 ENUMERATED {enabled} OPTIONAL -- Need OR +} + + +RAND-CDMA2000 ::= BIT STRING (SIZE (32)) + + +RAT-Type ::= ENUMERATED { + eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT, + spare3, spare2, spare1, ...} + + +RRC-TransactionIdentifier ::= INTEGER (0..3) + + +S-TMSI ::= SEQUENCE { + mmec MMEC, + m-TMSI BIT STRING (SIZE (32)) +} + + +TraceReference-r10 ::= SEQUENCE { + plmn-Identity-r10 PLMN-Identity, + traceId-r10 OCTET STRING (SIZE (3)) +} + + +UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-Capabilities)) OF UE-CapabilityRAT-Container + +UE-CapabilityRAT-Container ::= SEQUENCE { + rat-Type RAT-Type, + ueCapabilityRAT-Container OCTET STRING +} + + +UE-EUTRA-Capability ::= SEQUENCE { + accessStratumRelease AccessStratumRelease, + ue-Category INTEGER (1..5), + pdcp-Parameters PDCP-Parameters, + phyLayerParameters PhyLayerParameters, + rf-Parameters RF-Parameters, + measParameters MeasParameters, + featureGroupIndicators BIT STRING (SIZE (32)) OPTIONAL, + interRAT-Parameters SEQUENCE { + utraFDD IRAT-ParametersUTRA-FDD OPTIONAL, + utraTDD128 IRAT-ParametersUTRA-TDD128 OPTIONAL, + utraTDD384 IRAT-ParametersUTRA-TDD384 OPTIONAL, + utraTDD768 IRAT-ParametersUTRA-TDD768 OPTIONAL, + geran IRAT-ParametersGERAN OPTIONAL, + cdma2000-HRPD IRAT-ParametersCDMA2000-HRPD OPTIONAL, + cdma2000-1xRTT IRAT-ParametersCDMA2000-1XRTT OPTIONAL + }, + nonCriticalExtension UE-EUTRA-Capability-v920-IEs OPTIONAL +} + +-- Late non critical extensions +UE-EUTRA-Capability-v9a0-IEs ::= SEQUENCE { + featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9c0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9c0-IEs ::= SEQUENCE { + interRAT-ParametersUTRA-v9c0 IRAT-ParametersUTRA-v9c0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9d0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9d0-IEs ::= SEQUENCE { + phyLayerParameters-v9d0 PhyLayerParameters-v9d0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9e0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9e0-IEs ::= SEQUENCE { + rf-Parameters-v9e0 RF-Parameters-v9e0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9h0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9h0-IEs ::= SEQUENCE { + interRAT-ParametersUTRA-v9h0 IRAT-ParametersUTRA-v9h0 OPTIONAL, + -- Following field is only to be used for late REL-9 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10c0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10c0-IEs ::= SEQUENCE { + otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10f0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10f0-IEs ::= SEQUENCE { + rf-Parameters-v10f0 RF-Parameters-v10f0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10i0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10i0-IEs ::= SEQUENCE { + rf-Parameters-v10i0 RF-Parameters-v10i0 OPTIONAL, + -- Following field is only to be used for late REL-10 extensions + lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v10j0-IEs) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v11d0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10j0-IEs ::= SEQUENCE { + rf-Parameters-v10j0 RF-Parameters-v10j0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-EUTRA-Capability-v11d0-IEs ::= SEQUENCE { + rf-Parameters-v11d0 RF-Parameters-v11d0 OPTIONAL, + otherParameters-v11d0 Other-Parameters-v11d0 OPTIONAL, + -- Following field is only to be used for late REL-11 extensions + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +UE-EUTRA-Capability-v920-IEs ::= SEQUENCE { + phyLayerParameters-v920 PhyLayerParameters-v920, + interRAT-ParametersGERAN-v920 IRAT-ParametersGERAN-v920, + interRAT-ParametersUTRA-v920 IRAT-ParametersUTRA-v920 OPTIONAL, + interRAT-ParametersCDMA2000-v920 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL, + deviceType-r9 ENUMERATED {noBenFromBatConsumpOpt} OPTIONAL, + csg-ProximityIndicationParameters-r9 CSG-ProximityIndicationParameters-r9, + neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9, + son-Parameters-r9 SON-Parameters-r9, + nonCriticalExtension UE-EUTRA-Capability-v940-IEs OPTIONAL +} + +UE-EUTRA-Capability-v940-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v9a0-IEs) + OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1020-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1020-IEs ::= SEQUENCE { + ue-Category-v1020 INTEGER (6..8) OPTIONAL, + phyLayerParameters-v1020 PhyLayerParameters-v1020 OPTIONAL, + rf-Parameters-v1020 RF-Parameters-v1020 OPTIONAL, + measParameters-v1020 MeasParameters-v1020 OPTIONAL, + featureGroupIndRel10-r10 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersCDMA2000-v1020 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL, + ue-BasedNetwPerfMeasParameters-r10 UE-BasedNetwPerfMeasParameters-r10 OPTIONAL, + interRAT-ParametersUTRA-TDD-v1020 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1060-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1060-IEs ::= SEQUENCE { + fdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL, + rf-Parameters-v1060 RF-Parameters-v1060 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1090-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1090-IEs ::= SEQUENCE { + rf-Parameters-v1090 RF-Parameters-v1090 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1130-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1130-IEs ::= SEQUENCE { + pdcp-Parameters-v1130 PDCP-Parameters-v1130, + phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL, + rf-Parameters-v1130 RF-Parameters-v1130, + measParameters-v1130 MeasParameters-v1130, + interRAT-ParametersCDMA2000-v1130 IRAT-ParametersCDMA2000-v1130, + otherParameters-r11 Other-Parameters-r11, + fdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1170-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1170-IEs ::= SEQUENCE { + phyLayerParameters-v1170 PhyLayerParameters-v1170 OPTIONAL, + ue-Category-v1170 INTEGER (9..10) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1180-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1180-IEs ::= SEQUENCE { + rf-Parameters-v1180 RF-Parameters-v1180 OPTIONAL, + mbms-Parameters-r11 MBMS-Parameters-r11 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v11a0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v11a0-IEs ::= SEQUENCE { + ue-Category-v11a0 INTEGER (11..12) OPTIONAL, + measParameters-v11a0 MeasParameters-v11a0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1250-IEs 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-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-v1250 MeasParameters-v1250 OPTIONAL, + dc-Parameters-r12 DC-Parameters-r12 OPTIONAL, + mbms-Parameters-v1250 MBMS-Parameters-v1250 OPTIONAL, + mac-Parameters-r12 MAC-Parameters-r12 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 UE-EUTRA-Capability-v1260-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1260-IEs ::= SEQUENCE { + ue-CategoryDL-v1260 INTEGER (15..16) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1270-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1270-IEs ::= SEQUENCE { + rf-Parameters-v1270 RF-Parameters-v1270 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1280-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1280-IEs ::= SEQUENCE { + phyLayerParameters-v1280 PhyLayerParameters-v1280 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v13x0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v13x0-IEs ::= SEQUENCE { + dc-Parameters-v13x0 DC-Parameters-v13x0 OPTIONAL, + measParameters-v13xy MeasParameters-v13xy OPTIONAL, + mac-Parameters-v13x0 MAC-Parameters-v13x0 OPTIONAL, + pdcp-Parameters-v13x0 PDCP-Parameters-v13x0 OPTIONAL, + phyLayerParameters-v13x0 PhyLayerParameters-v13x0 OPTIONAL, + rf-Parameters-v13x0 RF-Parameters-v13x0 OPTIONAL, + rlc-Parameters-v13x0 RLC-Parameters-v13x0 OPTIONAL, + ue-CategoryDL-v13x0 INTEGER (17) OPTIONAL, + ue-CategoryUL-v13x0 INTEGER (14) OPTIONAL, + scptm-Parameters-v13x0 SCPTM-Parameters-v13x0 OPTIONAL, + sl-Parameters-r13 SL-Parameters-r13 OPTIONAL, + supportOfLAA-r13 ENUMERATED {supported} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-r9 ::= SEQUENCE { + phyLayerParameters-r9 PhyLayerParameters OPTIONAL, + featureGroupIndicators-r9 BIT STRING (SIZE (32)) OPTIONAL, + featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersGERAN-r9 IRAT-ParametersGERAN OPTIONAL, + interRAT-ParametersUTRA-r9 IRAT-ParametersUTRA-v920 OPTIONAL, + interRAT-ParametersCDMA2000-r9 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL, + neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9 OPTIONAL, + ... +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1060 ::= SEQUENCE { + phyLayerParameters-v1060 PhyLayerParameters-v1020 OPTIONAL, + featureGroupIndRel10-v1060 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersCDMA2000-v1060 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL, + interRAT-ParametersUTRA-TDD-v1060 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL, + ..., + [[ otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL + ]] +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1130 ::= SEQUENCE { + phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL, + measParameters-v1130 MeasParameters-v1130 OPTIONAL, + otherParameters-r11 Other-Parameters-r11 OPTIONAL, + ... +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1180 ::= SEQUENCE { + mbms-Parameters-r11 MBMS-Parameters-r11 +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1250 ::= SEQUENCE { + phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL, + measParameters-v1250 MeasParameters-v1250 OPTIONAL +} + +AccessStratumRelease ::= ENUMERATED { + rel8, rel9, rel10, rel11, rel12, spare3, + spare2, spare1, ...} + +DC-Parameters-r12 ::= SEQUENCE { + drb-TypeSplit-r12 ENUMERATED {supported} OPTIONAL, + drb-TypeSCG-r12 ENUMERATED {supported} OPTIONAL +} + +DC-Parameters-v13x0 ::= SEQUENCE { + pdcp-TransferSplitUL-r13 ENUMERATED {supported} OPTIONAL, + ue-SSTD-Meas-r13 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-r12 ::= SEQUENCE { + logicalChannelSR-ProhibitTimer-r12 ENUMERATED {supported} OPTIONAL, + longDRX-Command-r12 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v13x0 ::= SEQUENCE { + extendedMAC-LengthField-r13 ENUMERATED {supported} OPTIONAL, + extendedLongDRX-r13 ENUMERATED {supported} OPTIONAL +} + +RLC-Parameters-r12 ::= SEQUENCE { + extended-RLC-LI-Field-r12 ENUMERATED {supported} +} + +RLC-Parameters-v13x0 ::= SEQUENCE { + extendedRLC-SN-SO-Field-r13 ENUMERATED {supported} +} + +PDCP-Parameters ::= SEQUENCE { + supportedROHC-Profiles SEQUENCE { + profile0x0001 BOOLEAN, + profile0x0002 BOOLEAN, + profile0x0003 BOOLEAN, + profile0x0004 BOOLEAN, + profile0x0006 BOOLEAN, + profile0x0101 BOOLEAN, + profile0x0102 BOOLEAN, + profile0x0103 BOOLEAN, + profile0x0104 BOOLEAN + }, + maxNumberROHC-ContextSessions ENUMERATED { + cs2, cs4, cs8, cs12, cs16, cs24, cs32, + cs48, cs64, cs128, cs256, cs512, cs1024, + cs16384, spare2, spare1} DEFAULT cs16, + ... +} + +PDCP-Parameters-v1130 ::= SEQUENCE { + pdcp-SN-Extension-r11 ENUMERATED {supported} OPTIONAL, + supportRohcContextContinue-r11 ENUMERATED {supported} OPTIONAL +} + +PDCP-Parameters-v13x0 ::= SEQUENCE { + pdcp-SN-Extension-18bits-r13 ENUMERATED {supported} +} + +PhyLayerParameters ::= SEQUENCE { + ue-TxAntennaSelectionSupported BOOLEAN, + ue-SpecificRefSigsSupported BOOLEAN +} + +PhyLayerParameters-v920 ::= SEQUENCE { + enhancedDualLayerFDD-r9 ENUMERATED {supported} OPTIONAL, + enhancedDualLayerTDD-r9 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v9d0 ::= SEQUENCE { + tm5-FDD-r9 ENUMERATED {supported} OPTIONAL, + tm5-TDD-r9 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1020 ::= SEQUENCE { + twoAntennaPortsForPUCCH-r10 ENUMERATED {supported} OPTIONAL, + tm9-With-8Tx-FDD-r10 ENUMERATED {supported} OPTIONAL, + pmi-Disabling-r10 ENUMERATED {supported} OPTIONAL, + crossCarrierScheduling-r10 ENUMERATED {supported} OPTIONAL, + simultaneousPUCCH-PUSCH-r10 ENUMERATED {supported} OPTIONAL, + multiClusterPUSCH-WithinCC-r10 ENUMERATED {supported} OPTIONAL, + nonContiguousUL-RA-WithinCC-List-r10 NonContiguousUL-RA-WithinCC-List-r10 OPTIONAL +} + +PhyLayerParameters-v1130 ::= SEQUENCE { + crs-InterfHandl-r11 ENUMERATED {supported} OPTIONAL, + ePDCCH-r11 ENUMERATED {supported} OPTIONAL, + multiACK-CSI-Reporting-r11 ENUMERATED {supported} OPTIONAL, + ss-CCH-InterfHandl-r11 ENUMERATED {supported} OPTIONAL, + tdd-SpecialSubframe-r11 ENUMERATED {supported} OPTIONAL, + txDiv-PUCCH1b-ChSelect-r11 ENUMERATED {supported} OPTIONAL, + ul-CoMP-r11 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1170 ::= SEQUENCE { + interBandTDD-CA-WithDifferentConfig-r11 BIT STRING (SIZE (2)) OPTIONAL +} + +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-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, + discoverySignalsInDeactSCell-r12 ENUMERATED {supported} OPTIONAL, + naics-Capability-List-r12 NAICS-Capability-List-r12 OPTIONAL +} + +PhyLayerParameters-v1280 ::= SEQUENCE { + alternativeTBS-Indices-r12 ENUMERATED {supported} OPTIONAL +} +PhyLayerParameters-v13x0 ::= SEQUENCE { + codebook-HARQ-ACK-r13 BIT STRING (SIZE (2)) OPTIONAL, + fdd-Harq-TimingTDD-r13 ENUMERATED {supported} OPTIONAL, maxNumberUpdatedCSI-Proc-r13 INTEGER(5..32) OPTIONAL, + supportedBlindDecoding-r13 INTEGER(1..32) OPTIONAL, + pucch-Format4-r13 ENUMERATED {supported} OPTIONAL, + pucch-Format5-r13 ENUMERATED {supported} OPTIONAL, + pucch-SCell-r13 ENUMERATED {supported} OPTIONAL +} + +NonContiguousUL-RA-WithinCC-List-r10 ::= SEQUENCE (SIZE (1..maxBands)) OF NonContiguousUL-RA-WithinCC-r10 + +NonContiguousUL-RA-WithinCC-r10 ::= SEQUENCE { + nonContiguousUL-RA-WithinCC-Info-r10 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters ::= SEQUENCE { + supportedBandListEUTRA SupportedBandListEUTRA +} + +RF-Parameters-v9e0 ::= SEQUENCE { + supportedBandListEUTRA-v9e0 SupportedBandListEUTRA-v9e0 OPTIONAL +} + +RF-Parameters-v1020 ::= SEQUENCE { + supportedBandCombination-r10 SupportedBandCombination-r10 +} + +RF-Parameters-v1060 ::= SEQUENCE { + supportedBandCombinationExt-r10 SupportedBandCombinationExt-r10 +} + +RF-Parameters-v1090 ::= SEQUENCE { + supportedBandCombination-v1090 SupportedBandCombination-v1090 OPTIONAL +} + +RF-Parameters-v10f0 ::= SEQUENCE { + modifiedMPR-Behavior-r10 BIT STRING (SIZE (32)) OPTIONAL +} + +RF-Parameters-v10i0 ::= SEQUENCE { + supportedBandCombination-v10i0 SupportedBandCombination-v10i0 OPTIONAL +} + +RF-Parameters-v10j0 ::= SEQUENCE { + multiNS-Pmax-r10 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1130 ::= SEQUENCE { + supportedBandCombination-v1130 SupportedBandCombination-v1130 OPTIONAL +} + +RF-Parameters-v1180 ::= SEQUENCE { + freqBandRetrieval-r11 ENUMERATED {supported} OPTIONAL, + requestedBands-r11 SEQUENCE (SIZE (1.. maxBands)) OF FreqBandIndicator-r11 OPTIONAL, + supportedBandCombinationAdd-r11 SupportedBandCombinationAdd-r11 OPTIONAL +} + +RF-Parameters-v11d0 ::= SEQUENCE { + supportedBandCombinationAdd-v11d0 SupportedBandCombinationAdd-v11d0 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 +} + +RF-Parameters-v1270 ::= SEQUENCE { + supportedBandCombination-v1270 SupportedBandCombination-v1270 OPTIONAL, + supportedBandCombinationAdd-v1270 SupportedBandCombinationAdd-v1270 OPTIONAL +} + +RF-Parameters-v13x0 ::= SEQUENCE { + requestedMaximumCCs-r13 ENUMERATED {supported, includedUL, + includedDL, includedBoth} OPTIONAL, + skipFallbackCombinations-r13 ENUMERATED {supported, included} OPTIONAL, + supportedBandCombinations-r13 SupportedBandCombinations-r13 OPTIONAL, + supportedMIMO-CapabilityDL-r13 MIMO-CapabilityDL-r10 OPTIONAL +} +SupportedBandCombination-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-r10 + +SupportedBandCombinationExt-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParametersExt-r10 + +SupportedBandCombination-v1090 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1090 + +SupportedBandCombination-v10i0 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v10i0 + +SupportedBandCombination-v1130 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1130 + +SupportedBandCombination-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1250 + +SupportedBandCombination-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1270 + +SupportedBandCombinationAdd-r11 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-r11 + +SupportedBandCombinationAdd-v11d0 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v10i0 + +SupportedBandCombinationAdd-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1250 + +SupportedBandCombinationAdd-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1270 + + + +SupportedBandCombinations-r13 ::= SEQUENCE { + bandCombinationList-r13 BandCombinationList-r13 +} + +BandCombinationList-r13 ::= SEQUENCE (SIZE (maxBandComb-r13)) OF BandCombination-r13 + +BandCombination-r13 ::= SEQUENCE { + additionalFallbackSupported-r13 ENUMERATED {true} OPTIONAL, + bandCombinationParameters-r13 BandCombinationParametersCommon-r13 +} + +BandCombinationParametersCommon-r13 ::= SEQUENCE { + bandParameterList-r13 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r13, + supportedBandwidthCombinationSet-r13 SupportedBandwidthCombinationSet-r10 OPTIONAL, + multipleTimingAdvance-r13 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r13 ENUMERATED {supported} OPTIONAL, + bandInfoEUTRA-r13 BandInfoEUTRA, + dc-Support-r13 SEQUENCE { + asynchronous-r13 ENUMERATED {supported} OPTIONAL, + supportedCellGrouping-r13 CHOICE { + threeEntries-r13 BIT STRING (SIZE(3)), + fourEntries-r13 BIT STRING (SIZE(7)), + fiveEntries-r13 BIT STRING (SIZE(15)) + } OPTIONAL + } OPTIONAL, + supportedNAICS-2CRS-AP-r13 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL, + commSupportedBandsPerBC-r13 BIT STRING (SIZE (1.. maxBands)) OPTIONAL +} + + +BandCombinationParameters-r10 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r10 + +BandCombinationParametersExt-r10 ::= SEQUENCE { + supportedBandwidthCombinationSet-r10 SupportedBandwidthCombinationSet-r10 OPTIONAL +} + +BandCombinationParameters-v1090 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1090 + +BandCombinationParameters-v10i0::= SEQUENCE { +bandParameterList-v10i0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v10i0 OPTIONAL +} + +BandCombinationParameters-v1130 ::= SEQUENCE { + multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL, + bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1130 OPTIONAL, + ... +} + +BandCombinationParameters-r11 ::= SEQUENCE { + bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-r11, + supportedBandwidthCombinationSet-r11 SupportedBandwidthCombinationSet-r10 OPTIONAL, + multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL, + bandInfoEUTRA-r11 BandInfoEUTRA, + ... +} + +BandCombinationParameters-v1250::= SEQUENCE { + dc-Support-r12 SEQUENCE { + 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, + ... +} + +BandCombinationParameters-v1270 ::= SEQUENCE { + bandParameterList-v1270 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1270 OPTIONAL +} + + +SupportedBandwidthCombinationSet-r10 ::= BIT STRING (SIZE (1..maxBandwidthCombSet-r10)) + +BandParameters-r10 ::= SEQUENCE { + bandEUTRA-r10 FreqBandIndicator, + bandParametersUL-r10 BandParametersUL-r10 OPTIONAL, + bandParametersDL-r10 BandParametersDL-r10 OPTIONAL +} + +BandParameters-v1090 ::= SEQUENCE { + bandEUTRA-v1090 FreqBandIndicator-v9e0 OPTIONAL, + ... +} + +BandParameters-v10i0::= SEQUENCE { + bandParametersDL-v10i0 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v10i0 +} + +BandParameters-v1130 ::= SEQUENCE { + supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4} +} + +BandParameters-r11 ::= SEQUENCE { + bandEUTRA-r11 FreqBandIndicator-r11, + bandParametersUL-r11 BandParametersUL-r10 OPTIONAL, + bandParametersDL-r11 BandParametersDL-r10 OPTIONAL, + supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4} OPTIONAL +} + +BandParameters-v1270 ::= SEQUENCE { + bandParametersDL-v1270 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v1270 +} + +BandParameters-r13 ::= SEQUENCE { + bandEUTRA-r13 FreqBandIndicator-r11, + bandParametersUL-r13 BandParametersUL-r13 OPTIONAL, + bandParametersDL-r13 BandParametersDL-r13 OPTIONAL, + supportedCSI-Proc-r13 ENUMERATED {n1, n3, n4} OPTIONAL +} + +BandParametersUL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersUL-r10 + +BandParametersUL-r13 ::= SEQUENCE OF CA-MIMO-ParametersUL-r10 + + +CA-MIMO-ParametersUL-r10 ::= SEQUENCE { + ca-BandwidthClassUL-r10 CA-BandwidthClass-r10, + supportedMIMO-CapabilityUL-r10 MIMO-CapabilityUL-r10 OPTIONAL +} + +BandParametersDL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-r10 + +BandParametersDL-r13 ::= SEQUENCE OF CA-MIMO-ParametersDL-r13 + +CA-MIMO-ParametersDL-r10 ::= SEQUENCE { + ca-BandwidthClassDL-r10 CA-BandwidthClass-r10, + supportedMIMO-CapabilityDL-r10 MIMO-CapabilityDL-r10 OPTIONAL +} + +CA-MIMO-ParametersDL-v10i0 ::= SEQUENCE { + fourLayerTM3-TM4-r10 ENUMERATED {supported} OPTIONAL +} + +CA-MIMO-ParametersDL-v1270 ::= SEQUENCE { + intraBandContiguousCC-InfoList-r12 SEQUENCE (SIZE (1..maxServCell-r10)) OF IntraBandContiguousCC-Info-r12 +} + +CA-MIMO-ParametersDL-r13 ::= SEQUENCE { + ca-BandwidthClassDL-r13 CA-BandwidthClass-r10, + supportedMIMO-CapabilityDL-r13 MIMO-CapabilityDL-r10 OPTIONAL, + fourLayerTM3-TM4-r13 ENUMERATED {supported} OPTIONAL, + intraBandContiguousCC-InfoList-r13 SEQUENCE (SIZE (1..maxServCell-r13)) OF IntraBandContiguousCC-Info-r12 +} + +IntraBandContiguousCC-Info-r12 ::= SEQUENCE { + fourLayerTM3-TM4-perCC-r12 ENUMERATED {supported} OPTIONAL, + supportedMIMO-CapabilityDL-r12 MIMO-CapabilityDL-r10 OPTIONAL, + supportedCSI-Proc-r12 ENUMERATED {n1, n3, n4} OPTIONAL +} + +CA-BandwidthClass-r10 ::= ENUMERATED {a, b, c, d, e, f, ...} + +MIMO-CapabilityUL-r10 ::= ENUMERATED {twoLayers, fourLayers} + +MIMO-CapabilityDL-r10 ::= ENUMERATED {twoLayers, fourLayers, eightLayers} + +SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA + +SupportedBandListEUTRA-v9e0::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9e0 + +SupportedBandListEUTRA-v1250 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1250 + +SupportedBandEUTRA ::= SEQUENCE { + bandEUTRA FreqBandIndicator, + halfDuplex BOOLEAN +} + +SupportedBandEUTRA-v9e0 ::= SEQUENCE { + bandEUTRA-v9e0 FreqBandIndicator-v9e0 OPTIONAL +} + +SupportedBandEUTRA-v1250 ::= SEQUENCE { + dl-256QAM-r12 ENUMERATED {supported} OPTIONAL, + ul-64QAM-r12 ENUMERATED {supported} OPTIONAL +} + +MeasParameters ::= SEQUENCE { + bandListEUTRA BandListEUTRA +} + +MeasParameters-v1020 ::= SEQUENCE { + bandCombinationListEUTRA-r10 BandCombinationListEUTRA-r10 +} + +MeasParameters-v1130 ::= SEQUENCE { + rsrqMeasWideband-r11 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v11a0 ::= SEQUENCE { + benefitsFromInterruption-r11 ENUMERATED {true} OPTIONAL +} + +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, + rsrq-OnAllSymbols-r12 ENUMERATED {supported} OPTIONAL, + crs-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL, + csi-RS-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v13xy ::= SEQUENCE { + rs-SINR-Meas-r13 ENUMERATED {supported} OPTIONAL, + whiteCellList-r13 ENUMERATED {supported} OPTIONAL +} + +BandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF BandInfoEUTRA + +BandCombinationListEUTRA-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandInfoEUTRA + +BandInfoEUTRA ::= SEQUENCE { + interFreqBandList InterFreqBandList, + interRAT-BandList InterRAT-BandList OPTIONAL +} + +InterFreqBandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterFreqBandInfo + +InterFreqBandInfo ::= SEQUENCE { + interFreqNeedForGaps BOOLEAN +} + +InterRAT-BandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterRAT-BandInfo + +InterRAT-BandInfo ::= SEQUENCE { + interRAT-NeedForGaps BOOLEAN +} + +IRAT-ParametersUTRA-FDD ::= SEQUENCE { + supportedBandListUTRA-FDD SupportedBandListUTRA-FDD +} + +IRAT-ParametersUTRA-v920 ::= SEQUENCE { + e-RedirectionUTRA-r9 ENUMERATED {supported} +} + +IRAT-ParametersUTRA-v9c0 ::= SEQUENCE { + voiceOverPS-HS-UTRA-FDD-r9 ENUMERATED {supported} OPTIONAL, + voiceOverPS-HS-UTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-FDD-ToUTRA-FDD-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-FDD-ToGERAN-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-TDD128-ToUTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-TDD128-ToGERAN-r9 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersUTRA-v9h0 ::= SEQUENCE { + mfbi-UTRA-r9 ENUMERATED {supported} +} + +SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-FDD + +SupportedBandUTRA-FDD ::= ENUMERATED { + bandI, bandII, bandIII, bandIV, bandV, bandVI, + bandVII, bandVIII, bandIX, bandX, bandXI, + bandXII, bandXIII, bandXIV, bandXV, bandXVI, ..., + bandXVII-8a0, bandXVIII-8a0, bandXIX-8a0, bandXX-8a0, + bandXXI-8a0, bandXXII-8a0, bandXXIII-8a0, bandXXIV-8a0, + bandXXV-8a0, bandXXVI-8a0, bandXXVII-8a0, bandXXVIII-8a0, + bandXXIX-8a0, bandXXX-8a0, bandXXXI-8a0, bandXXXII-8a0} + +IRAT-ParametersUTRA-TDD128 ::= SEQUENCE { + supportedBandListUTRA-TDD128 SupportedBandListUTRA-TDD128 +} + +SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD128 + +SupportedBandUTRA-TDD128 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD384 ::= SEQUENCE { + supportedBandListUTRA-TDD384 SupportedBandListUTRA-TDD384 +} + +SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD384 + +SupportedBandUTRA-TDD384 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD768 ::= SEQUENCE { + supportedBandListUTRA-TDD768 SupportedBandListUTRA-TDD768 +} + +SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD768 + +SupportedBandUTRA-TDD768 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD-v1020 ::= SEQUENCE { + e-RedirectionUTRA-TDD-r10 ENUMERATED {supported} +} + +IRAT-ParametersGERAN ::= SEQUENCE { + supportedBandListGERAN SupportedBandListGERAN, + interRAT-PS-HO-ToGERAN BOOLEAN +} + +IRAT-ParametersGERAN-v920 ::= SEQUENCE { + dtm-r9 ENUMERATED {supported} OPTIONAL, + e-RedirectionGERAN-r9 ENUMERATED {supported} OPTIONAL +} + +SupportedBandListGERAN ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandGERAN + +SupportedBandGERAN ::= ENUMERATED { + gsm450, gsm480, gsm710, gsm750, gsm810, gsm850, + gsm900P, gsm900E, gsm900R, gsm1800, gsm1900, + spare5, spare4, spare3, spare2, spare1, ...} + +IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE { + supportedBandListHRPD SupportedBandListHRPD, + tx-ConfigHRPD ENUMERATED {single, dual}, + rx-ConfigHRPD ENUMERATED {single, dual} +} + +SupportedBandListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000 + +IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE { + supportedBandList1XRTT SupportedBandList1XRTT, + tx-Config1XRTT ENUMERATED {single, dual}, + rx-Config1XRTT ENUMERATED {single, dual} +} + +IRAT-ParametersCDMA2000-1XRTT-v920 ::= SEQUENCE { + e-CSFB-1XRTT-r9 ENUMERATED {supported}, + e-CSFB-ConcPS-Mob1XRTT-r9 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersCDMA2000-1XRTT-v1020 ::= SEQUENCE { + e-CSFB-dual-1XRTT-r10 ENUMERATED {supported} +} + +IRAT-ParametersCDMA2000-v1130 ::= SEQUENCE { + cdma2000-NW-Sharing-r11 ENUMERATED {supported} OPTIONAL +} + +SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000 + +CSG-ProximityIndicationParameters-r9 ::= SEQUENCE { + intraFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL, + interFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL, + utran-ProximityIndication-r9 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-r9 ::= SEQUENCE { + intraFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL, + interFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL, + utran-SI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL +} + +SON-Parameters-r9 ::= SEQUENCE { + rach-Report-r9 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-r10 ::= SEQUENCE { + loggedMeasurementsIdle-r10 ENUMERATED {supported} OPTIONAL, + standaloneGNSS-Location-r10 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-v1250 ::= SEQUENCE { + loggedMBSFNMeasurements-r12 ENUMERATED {supported} +} + +OTDOA-PositioningCapabilities-r10 ::= SEQUENCE { + otdoa-UE-Assisted-r10 ENUMERATED {supported}, + interFreqRSTD-Measurement-r10 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-r11 ::= SEQUENCE { + inDeviceCoexInd-r11 ENUMERATED {supported} OPTIONAL, + powerPrefInd-r11 ENUMERATED {supported} OPTIONAL, + ue-Rx-TxTimeDiffMeasurements-r11 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v11d0 ::= SEQUENCE { + inDeviceCoexInd-UL-CA-r11 ENUMERATED {supported} OPTIONAL +} + +MBMS-Parameters-r11 ::= SEQUENCE { + mbms-SCell-r11 ENUMERATED {supported} OPTIONAL, + mbms-NonServingCell-r11 ENUMERATED {supported} OPTIONAL +} + +MBMS-Parameters-v1250 ::= SEQUENCE { + mbms-AsyncDC-r12 ENUMERATED {supported} OPTIONAL +} + +SCPTM-Parameters-v13x0 ::= SEQUENCE { + scptm-ParallelReception-r13 ENUMERATED {supported} OPTIONAL +} + +WLAN-IW-Parameters-r12 ::= SEQUENCE { + wlan-IW-RAN-Rules-r12 ENUMERATED {supported} OPTIONAL, + wlan-IW-ANDSF-Policies-r12 ENUMERATED {supported} OPTIONAL +} + +NAICS-Capability-List-r12 ::= SEQUENCE (SIZE (1..maxNAICS-Entries-r12)) OF NAICS-Capability-Entry-r12 + + +NAICS-Capability-Entry-r12 ::= SEQUENCE { + 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}, + ... +} + +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 +} + +SL-Parameters-r13 ::= SEQUENCE { + discSysInfoReporting-r13 ENUMERATED {supported} 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-v1250 INTEGER (0) OPTIONAL, + ... +} + + +UE-TimersAndConstants ::= SEQUENCE { + t300 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t301 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t310 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n310 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ... +} + + +VisitedCellInfoList-r12 ::= SEQUENCE (SIZE (1..maxCellHistory-r12)) OF VisitedCellInfo-r12 + +VisitedCellInfo-r12 ::= SEQUENCE { + visitedCellId-r12 CHOICE { + cellGlobalId-r12 CellGlobalIdEUTRA, + pci-arfcn-r12 SEQUENCE { + physCellId-r12 PhysCellId, + carrierFreq-r12 ARFCN-ValueEUTRA-r9 + } + } OPTIONAL, + timeSpent-r12 INTEGER (0..4095), + ... +} + + +WLAN-OffloadConfig-r12 ::= SEQUENCE { + thresholdRSRP-r12 SEQUENCE { + thresholdRSRP-Low-r12 RSRP-Range, + thresholdRSRP-High-r12 RSRP-Range + } OPTIONAL, -- Need OR + thresholdRSRQ-r12 SEQUENCE { + thresholdRSRQ-Low-r12 RSRQ-Range, + thresholdRSRQ-High-r12 RSRQ-Range + } OPTIONAL, -- Need OR + thresholdRSRQ-OnAllSymbolsWithWB-r12 SEQUENCE { + thresholdRSRQ-OnAllSymbolsWithWB-Low-r12 RSRQ-Range, + thresholdRSRQ-OnAllSymbolsWithWB-High-r12 RSRQ-Range + } OPTIONAL, -- Need OP + thresholdRSRQ-OnAllSymbols-r12 SEQUENCE { + thresholdRSRQ-OnAllSymbolsLow-r12 RSRQ-Range, + thresholdRSRQ-OnAllSymbolsHigh-r12 RSRQ-Range + } OPTIONAL, -- Need OP + thresholdRSRQ-WB-r12 SEQUENCE { + thresholdRSRQ-WB-Low-r12 RSRQ-Range, + thresholdRSRQ-WB-High-r12 RSRQ-Range + } 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-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 OPTIONAL, -- Need OR + ... +} + +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, + r16777216, r33554432, r67108864, r134217728, r268435456, + r536870912, r1073741824, r2147483648, r4294967296} + + +MBMS-NotificationConfig-r9 ::= SEQUENCE { + notificationRepetitionCoeff-r9 ENUMERATED {n2, n4}, + notificationOffset-r9 INTEGER (0..10), + notificationSF-Index-r9 INTEGER (1..6) +} + + +MBMSServiceList-r13 ::= SEQUENCE (SIZE (0..maxMBMSServiceListPerUE-r13)) OF MBMSServiceInfo-r13 + +MBMSServiceInfo-r13 ::= SEQUENCE { + tmgi-r13 TMGI-r9 +} + + +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 MBSFN-AreaId-r12, + non-MBSFNregionLength ENUMERATED {s1, s2}, + notificationIndicator-r9 INTEGER (0..7), + mcch-Config-r9 SEQUENCE { + mcch-RepetitionPeriod-r9 ENUMERATED {rf32, rf64, rf128, rf256}, + mcch-Offset-r9 INTEGER (0..10), + mcch-ModificationPeriod-r9 ENUMERATED {rf512, rf1024}, + sf-AllocInfo-r9 BIT STRING (SIZE(6)), + signallingMCS-r9 ENUMERATED {n2, n7, n13, n19} + }, + ... +} + + +MBSFN-SubframeConfig ::= SEQUENCE { + radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32}, + radioframeAllocationOffset INTEGER (0..7), + subframeAllocation CHOICE { + oneFrame BIT STRING (SIZE(6)), + fourFrames BIT STRING (SIZE(24)) + } +} + +PMCH-InfoList-r9 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-Info-r9 + +PMCH-InfoListExt-r12 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-InfoExt-r12 + +PMCH-Info-r9 ::= SEQUENCE { + pmch-Config-r9 PMCH-Config-r9, + mbms-SessionInfoList-r9 MBMS-SessionInfoList-r9, + ... +} + +PMCH-InfoExt-r12 ::= SEQUENCE { + pmch-Config-r12 PMCH-Config-r12, + mbms-SessionInfoList-r12 MBMS-SessionInfoList-r9, + ... +} + +MBMS-SessionInfoList-r9 ::= SEQUENCE (SIZE (0..maxSessionPerPMCH)) OF MBMS-SessionInfo-r9 + +MBMS-SessionInfo-r9 ::= SEQUENCE { + tmgi-r9 TMGI-r9, + sessionId-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Need OR + logicalChannelIdentity-r9 INTEGER (0..maxSessionPerPMCH-1), + ... +} + +PMCH-Config-r9 ::= SEQUENCE { + sf-AllocEnd-r9 INTEGER (0..1535), + dataMCS-r9 INTEGER (0..28), + mch-SchedulingPeriod-r9 ENUMERATED { + rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}, + ... +} + +PMCH-Config-r12 ::= SEQUENCE { + sf-AllocEnd-r12 INTEGER (0..1535), + dataMCS-r12 CHOICE { + normal-r12 INTEGER (0..28), + higerOrder-r12 INTEGER (0..27) + }, + mch-SchedulingPeriod-r12 ENUMERATED { + rf4, rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}, + ... +} + +TMGI-r9 ::= SEQUENCE { + plmn-Id-r9 CHOICE { + plmn-Index-r9 INTEGER (1..maxPLMN-r11), + explicitValue-r9 PLMN-Identity + }, + serviceId-r9 OCTET STRING (SIZE (3)) +} + + + +SC-MTCH-InfoList-r13 ::= SEQUENCE (SIZE (0..maxSC-MTCH-r13)) OF SC-MTCH-Info-r13 + +SC-MTCH-Info-r13 ::= SEQUENCE { + mbmsSessionInfo-r13 MBMSSessionInfo-r13, + g-RNTI-r13 C-RNTI, + sc-mtch-schedulingInfo-r13 SC-MTCH-SchedulingInfo-r13 OPTIONAL, + sc-mtch-neighbourCell-r13 BIT STRING (SIZE(maxNeighCellSCPTM-r13)) OPTIONAL, + ... +} + +MBMSSessionInfo-r13 ::= SEQUENCE { + tmgi-r13 TMGI-r9, + sessionId-r13 OCTET STRING (SIZE (1)) OPTIONAL -- Need OR +} + +SC-MTCH-SchedulingInfo-r13::= SEQUENCE { + onDurationTimerSCPTM-r13 ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200}, + drx-InactivityTimerSCPTM-r13 ENUMERATED { + psf0, psf1, psf2, psf4, psf8, + psf10, psf20, psf40, + psf80, psf160, ps320, + psf640, psf960, + psf1280, psf1920, psf2560}, + schedulingPeriodStartOffsetSCPTM-r13 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023) + }, + ... +} + + +SCPTMNeighbourCellList-r13 ::= SEQUENCE (SIZE (1..maxNeighCellSCPTM-r13)) OF CellIdentity + + +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, + sc-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 + ..., + [[ scheduled-r13x0 CHOICE { + release NULL, + setup SEQUENCE { + logicalChGroupInfoList-r13 LogicalChGroupInfoList-r13, + multipleTxAllowed-r13 BOOLEAN + } + } OPTIONAL, -- Need ON + ue-Selected-r13x0 SEQUENCE { + commTxPoolNormalDedicatedExt-r13 SEQUENCE { + poolToReleaseListExt-r13 SL-TxPoolToReleaseListExt-r13 OPTIONAL, -- Need ON + poolToAddModListExt-r13 SL-CommTxPoolToAddModListExt-r13 OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + commTxAllowRelayDedicated-r13 BOOLEAN OPTIONAL -- Need ON + ]]} + +LogicalChGroupInfoList-r13 ::= SEQUENCE (SIZE (1..maxLCG-r13)) OF SL-PriorityList-r13 + +SL-CommTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommTxPoolToAddMod-r12 + +SL-CommTxPoolToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPool-v13x0)) OF SL-CommTxPoolToAddModExt-r13 + +SL-CommTxPoolToAddMod-r12 ::= SEQUENCE { + poolIdentity-r12 SL-TxPoolIdentity-r12, + pool-r12 SL-CommResourcePool-r12 +} + +SL-CommTxPoolToAddModExt-r13 ::= SEQUENCE { + poolIdentity-v13x0 SL-CommTxPoolIdentity-v13x0, + pool-r13 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-CommTxPoolListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPool-v13x0)) 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 + ..., + [[ priorityList-r13 SL-PriorityList-r13 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 + ..., + [[ discTF-IndexList-v1260 CHOICE { + release NULL, + setup SEQUENCE { + discTF-IndexList-r12b SL-TF-IndexPairList-r12b + } + } OPTIONAL -- Need ON + ]], + [[ discTxResourcesPS-r13 CHOICE { + release NULL, + setup CHOICE { + scheduled-r13 SL-DiscTxConfigScheduled-r13, + ue-Selected-r13 SEQUENCE { + discTxPoolPS-Dedicated-r13 SL-DiscTxPoolDedicated-r13 + } + } + } OPTIONAL, -- Need ON + discTxInterFreqInfo-r13 CHOICE { + release NULL, + setup SEQUENCE { + discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need OR + discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR + discTxInfoInterFreqListExt-r13 SL-DiscTxInfoInterFreqListExt-r13 OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + gapRequestsAllowedDedicated-r13 ENUMERATED {false, true} OPTIONAL, -- Need ON + discRxGapConfig-r13 CHOICE { + release NULL, + setup SL-GapConfig-r13 + } OPTIONAL, -- Need ON + discTxGapConfig-r13 CHOICE { + release NULL, + setup SL-GapConfig-r13 + } OPTIONAL, -- Need ON + discSysInfoReportConfig-r13 CHOICE { + release NULL, + setup SL-DiscSysInfoReportFreqList-r13 + } OPTIONAL -- Need ON + ]] +} + +SL-DiscSysInfoReportFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9 + +SL-DiscTxInfoInterFreqListExt-r13 ::= SEQUENCE { + discTxFreqToAddModList-r13 SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceInfoPerFreq-r13 OPTIONAL, -- Need ON + discTxFreqToReleaseList-r13 SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9 OPTIONAL -- Need ON +} + +SL-DiscTxResourceInfoPerFreq-r13 ::= SEQUENCE { + discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9, + discTxResources-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR + discTxResourcesPS-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR + discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR + cellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL -- Need OR +} + +SL-DiscTxResource-r13 ::= CHOICE { + release NULL, + setup CHOICE { + scheduled-r13 SEQUENCE { + discTxConfig-r13 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON + discTF-IndexList-r13 SL-TF-IndexPairList-r12b OPTIONAL, -- Need ON + discHoppingConfig-r13 SL-HoppingConfigDisc-r12 + OPTIONAL -- Need ON + }, + ue-Selected-r13 SEQUENCE { + discTxPoolDedicated-r13 SEQUENCE { + poolToReleaseList-r13 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r13 SL-DiscTxPoolToAddModList-r12 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-DiscTxConfigScheduled-r13 ::= SEQUENCE { + discTxConfig-r12 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON + discTF-IndexList-r12 SL-TF-IndexPairList-r12 OPTIONAL, -- Need ON + discHoppingConfig-r12 SL-HoppingConfigDisc-r12 +} + +SL-DiscTxPoolDedicated-r13 ::= SEQUENCE { + poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r12 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON +} + +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-TF-IndexPairList-r12b ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12b + +SL-TF-IndexPair-r12b ::= SEQUENCE { + discSF-Index-r12b INTEGER (0..209) OPTIONAL, -- Need ON + discPRB-Index-r12b INTEGER (0..49) OPTIONAL -- Need ON +} + +SL-DiscTxRefCarrierDedicated-r13 ::= CHOICE { + pCell NULL, + sCell SCellIndex-r10 +} + + +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, rf16-v13x0, 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 + ..., + [[ discPeriod-v13x0 CHOICE { + release NULL, + setup ENUMERATED {rf4, rf7, rf8, rf14, rf28, + spare3, spare2, spare} + } OPTIONAL, -- Need ON + -- Note: Extended values apply for PS discovery (not only for relay). E-UTRAN sets original + -- field to spare value to ensure legacy UEs ignore the concerned entry + rxParamsAddNeighFreq-r13 SEQUENCE { + physCellId-r13 PhysCellId + } OPTIONAL, -- Need ON + txParamsAddNeighFreq-r13 SEQUENCE { + physCellId-r13 PhysCellId, + p-Max P-Max OPTIONAL, -- Need OP + tdd-Config-r13 TDD-Config OPTIONAL, -- Need OR + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR + freqInfo SEQUENCE { + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission + }, + referenceSignalPower INTEGER (-60..50), + syncConfigIndex-r13 INTEGER (0..15) OPTIONAL -- Need OR + } OPTIONAL -- Need ON + ]] +} + +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-GapConfig-r13 ::= SEQUENCE { + gapPatternList-r13 SL-GapPatternList-r13 +} + +SL-GapPatternList-r13 ::= SEQUENCE (SIZE (1..maxSL-GP-r13)) OF SL-GapPattern-r13 + +SL-GapPattern-r13 ::= SEQUENCE { + gapPeriod-r13 ENUMERATED {rf4, rf7, rf8, rf14, rf16, rf28, rf32, + rf64, rf128, rf256, rf512, rf1024, spare}, + gapOffset-r12 SL-OffsetIndicator-r12, + gapSubframeBitmap-r13 BIT STRING (SIZE (1..10240)) +} + + +SL-GapRequest-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-GapFreqInfo-r13 + +SL-GapFreqInfo-r13 ::= SEQUENCE { + carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, + gapPatternList-r13 SL-GapPatternList-r13 +} + + +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} + + +SL-PriorityList-r13 ::= SEQUENCE (SIZE (1..maxSL-Prio-r13)) OF SL-Priority-r13 + +SL-Priority-r13 ::= INTEGER (1..8) + + +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 + ..., + [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +SL-SyncConfigListNFreq-r12 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfigNFreq-r13 + +SL-SyncConfigNFreq-r13 ::= SEQUENCE { + asyncParameters-r13 SEQUENCE { + syncCP-Len-r13 SL-CP-Len-r12, + syncOffsetIndicator-r13 SL-OffsetIndicatorSync-r12, + slssid-r13 SLSSID-r12 + } OPTIONAL, -- Need OR + txParameters-r13 SEQUENCE { + syncTxParameters-r13 SL-TxParameters-r12, + syncTxThreshIC-r13 RSRP-RangeSL-r12, + syncInfoReserved-r13 BIT STRING (SIZE (19)) OPTIONAL, -- Need OR + syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + rxParameters-r1s SEQUENCE { + discSyncWindow-r13 ENUMERATED {w1, w2} + } OPTIONAL, -- Need OR + ... +} + +SL-SysInfoReport-r13 ::= SEQUENCE { + plmn-IdentityList-r13 PLMN-IdentityList OPTIONAL, + cellIdentity-13 CellIdentity OPTIONAL, + carrierFreqInfo-13 ARFCN-ValueEUTRA-r9 OPTIONAL, + discRxResources-r13 SL-DiscRxPoolList-r12 OPTIONAL, + discTxPoolCommon-r13 SL-DiscTxPoolList-r12 OPTIONAL, + discTxPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL, + discSyncConfig-r13 SEQUENCE { + asyncParameters-r13 SEQUENCE { + syncCP-Len-r13 SL-CP-Len-r12, + syncOffsetIndicator-r13 SL-OffsetIndicatorSync-r12, + slssid-r13 SLSSID-r12 + } OPTIONAL, + txParameters-r13 SEQUENCE { + syncTxParameters-r13 SL-TxParameters-r12, + syncTxThreshIC-r13 RSRP-RangeSL-r12, + syncInfoReserved-r13 BIT STRING (SIZE (19)) OPTIONAL, + syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL + } OPTIONAL + } OPTIONAL, + cellSelectionInfo-r13 SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + q-RxLevMinOffset-r13 INTEGER (1..8) OPTIONAL + } OPTIONAL, + q-Hyst-r13 ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24} + OPTIONAL, + q-RxLevMin-r13 Q-RxLevMin OPTIONAL, + t-ReselectionEUTRA-r13 T-Reselection OPTIONAL, + tdd-Config-r13 TDD-Config OPTIONAL, + freqInfo-r13 SEQUENCE { + ul-CarrierFreq-r13 ARFCN-ValueEUTRA OPTIONAL, + ul-Bandwidth-r13 ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, + additionalSpectrumEmission-r13 AdditionalSpectrumEmission OPTIONAL + } OPTIONAL, + p-Max-r13 P-Max OPTIONAL, + referenceSignalPower-r13 INTEGER (-60..50) OPTIONAL +} + + +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-CommTxPoolIdentity-v13x0 ::= INTEGER (maxSL-CommTxPool-r12Plus1-r13.. maxSL-CommTxPool-r13) + +SL-CommTxPoolIdentity-r13 ::= INTEGER (1.. maxSL-CommTxPool-r13) + + +SL-TxPoolToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-TxPoolIdentity-r12 + +SL-TxPoolToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPool-v13x0)) OF SL-CommTxPoolIdentity-v13x0 + +maxACDC-Cat-r13 INTEGER ::= 16 -- Maximum number of ACDC categories (per PLMN) +maxBandComb-r10 INTEGER ::= 128 -- Maximum number of band combinations. +maxBandComb-r11 INTEGER ::= 256 -- Maximum number of additional band combinations. +maxBandComb-r13 INTEGER ::= 384 -- Maximum number of band combinations in Rel-13 +maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps +maxBandwidthClass-r10 INTEGER ::= 16 -- Maximum number of supported CA BW classes per band +maxBandwidthCombSet-r10 INTEGER ::= 32 -- Maximum number of bandwidth combination sets per + -- supported band combination +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- + -- 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 + -- assistance +maxCombIDC-r11 INTEGER ::= 128 -- Maximum number of reported UL CA combinations +maxCSI-IM-r11 INTEGER ::= 3 -- Maximum number of CSI-IM configurations + -- (per carrier frequency) +maxCSI-IM-r12 INTEGER ::= 4 -- Maximum number of CSI-IM configurations + -- (per carrier frequency) +maxCSI-Proc-r11 INTEGER ::= 4 -- Maximum number of CSI processes (per carrier + -- frequency) +maxCSI-RS-NZP-r11 INTEGER ::= 3 -- Maximum number of CSI RS resource + -- 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) +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 + -- which system information can be provided as + -- redirection assistance +maxCellInter INTEGER ::= 16 -- Maximum number of neighbouring inter-frequency + -- cells listed in SIB type 5 +maxCellIntra INTEGER ::= 16 -- Maximum number of neighbouring intra-frequency + -- cells listed in SIB type 4 +maxCellListGERAN INTEGER ::= 3 -- Maximum number of lists of GERAN cells +maxCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the + -- cell lists in a measurement object +maxCellReport INTEGER ::= 8 -- Maximum number of reported cells/CSI-RS resources +maxCSI-RS-Meas-r12 INTEGER ::= 96 -- Maximum number of entries in the CSI-RS list + -- in a measurement object +maxDRB INTEGER ::= 11 -- Maximum number of Data Radio Bearers +maxDS-Duration-r12 INTEGER ::= 5 -- Maximum number of subframes in a discovery signals + -- occasion +maxDS-ZTP-CSI-RS-r12 INTEGER ::= 5 -- Maximum number of zero transmission power CSI-RS for + -- a serving cell concerning discovery signals +maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency +maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range +maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range +maxEPDCCH-Set-r11 INTEGER ::= 2 -- Maximum number of EPDCCH sets +maxFBI INTEGER ::= 64 -- Maximum value of fequency band indicator +maxFBI-Plus1 INTEGER ::= 65 -- Lowest value extended FBI range +maxFBI2 INTEGER ::= 256 -- Highest value extended FBI range +maxFreq INTEGER ::= 8 -- Maximum number of carrier frequencies +maxFreqIDC-r11 INTEGER ::= 32 -- Maximum number of carrier frequencies that are + -- affected by the IDC problems +maxFreqMBMS-r11 INTEGER ::= 5 -- Maximum number of carrier frequencies for which an + -- MBMS capable UE may indicate an interest +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 +maxLCG-r13 INTEGER ::= 4 -- Maximum number of logical channel groups +maxLogMeasReport-r10 INTEGER ::= 520 -- Maximum number of logged measurement entries + -- 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 +maxMBMSServiceListPerUE-r13 INTEGER ::= 16 -- Maximum number of services which the UE can + -- include in the MBMS interest indication +maxMeasId INTEGER ::= 32 +maxMeasId-Plus1 INTEGER ::= 33 +maxMeasId-r12 INTEGER ::= 64 +maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands + -- that a cell belongs to +maxNS-Pmax-r10 INTEGER ::= 8 -- Maximum number of NS and P-Max values per band +maxNAICS-Entries-r12 INTEGER ::= 8 -- Maximum number of supported NAICS combination(s) +maxNeighCell-r12 INTEGER ::= 8 -- Maximum number of neighbouring cells in NAICS + -- configuration (per carrier frequency) +maxNeighCellSCPTM-r13 INTEGER ::= 8 -- Maximum number of SCPTM neighbour cells +maxObjectId INTEGER ::= 32 +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 +maxPLMN-r11 INTEGER ::= 6 -- Maximum number of PLMNs +maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets +maxPMCH-PerMBSFN INTEGER ::= 15 +maxQCI-r13 INTEGER ::= 6 -- Maximum number of QCIs +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) +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 +maxSCell-r13 INTEGER ::= 31 -- Highest value of extended number range of SCells +maxSCell-Plus1 INTEGER ::= 5 -- Lowest value of extended number range of SCells +maxSC-MTCH-r13 INTEGER ::= 1024 -- Maximum number of SC-MTCHs in one cell +maxSL-CommRxPoolNFreq-r13 INTEGER ::= 32 -- Maximum number of individual sidelink communication + -- Rx resource pools on neighbouring freq +maxSL-CommRxPoolPreconf-v13x0 INTEGER ::= 12 -- Maximum number of additional preconfigured + -- sidelink communication Rx resource pool entries +maxSL-CommTxPool-r12Plus1-r13 INTEGER ::= 5 -- First additional individual sidelink + -- communication Tx resource pool +maxSL-CommTxPool-v13x0 INTEGER ::= 4 -- Maximum number of additional sidelink + -- communication Tx resource pool entries +maxSL-CommTxPool-r13 INTEGER ::= 8 -- Maximum number of individual sidelink + -- communication Tx resource pools +maxSL-CommTxPoolPreconf-v13x0 INTEGER ::= 7 -- Maximum number of additional preconfigured + -- sidelink communication Tx resource pool entries +maxSL-Dest-r12 INTEGER ::= 16 -- Maximum number of sidelink destinations +maxSL-DiscPowerClass-r12 INTEGER ::= 3 -- Maximum number of sidelink power classes +maxSL-DiscRxPoolPreconf-r13 INTEGER ::= 4 -- Maximum number of preconfigured sidelink + -- discovery Rx resource pool entries +maxSL-DiscSysInfoReportFreq-r13 INTEGER ::= 8 -- Maximum number of frequencies to include in a + -- UESidelinkInformation for SI reporting +maxSL-DiscTxPoolPreconf-r13 INTEGER ::= 1 -- Maximum number of preconfigured sidelink + -- discovery Tx resource pool entries +maxSL-GP-r13 INTEGER ::= 8 -- Maximum number of gap patterns that can be requested + -- for a frequency or assigned +maxSL-Prio-r13 INTEGER ::= 8 -- Maximum number of entries in sidelink priority list +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 +maxServCell-r13 INTEGER ::= 32 -- Highest value of extended number range of Serving cells +maxServCell-Plus1 INTEGER ::= 6 -- Lowest value of extended number range of Serving cells +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 +maxSIB INTEGER ::= 32 -- Maximum number of SIBs +maxSIB-1 INTEGER ::= 31 +maxSI-Message INTEGER ::= 32 -- Maximum number of SI messages +maxSimultaneousBands-r10 INTEGER ::= 64 -- Maximum number of simultaneously aggregated bands +maxSubframePatternIDC-r11 INTEGER ::= 8 -- Maximum number of subframe reservation patterns + -- that the UE can simultaneously recommend to the + -- E-UTRAN for use. +maxUTRA-FDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA FDD carrier frequencies +maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequencies +maxWLAN-Id-r12 INTEGER ::= 16 -- Maximum number of WLAN identifiers + + +END diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn new file mode 100644 index 0000000000..9fb62b72f3 --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/EUTRA-Sidelink-Preconf.asn @@ -0,0 +1,130 @@ +-- 3GPP TS 36.331 V13.0.0 (2015-12) +-- +EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AdditionalSpectrumEmission, + ARFCN-ValueEUTRA-r9, + FilterCoefficient, + maxSL-TxPool-r12, + maxSL-CommRxPoolPreconf-v13x0, + maxSL-CommTxPoolPreconf-v13x0, + maxSL-DiscRxPoolPreconf-r13, + maxSL-DiscTxPoolPreconf-r13, + P-Max, + ReselectionInfoRelay-r13, + SL-CP-Len-r12, + SL-HoppingConfigComm-r12, + SL-OffsetIndicatorSync-r12, + SL-PeriodComm-r12, + RSRP-RangeSL3-r12, + SL-PriorityList-r13, + 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, + ..., + [[ preconfigComm-v13x0 SEQUENCE { + commRxPoolListExt-r13 SL-PreconfigCommRxPoolListExt-r13, + commTxPoolListExt-r13 SL-PreconfigCommTxPoolListExt-r13 OPTIONAL + } OPTIONAL, + preconfigDisc-r13 SEQUENCE { + discRxPoolList-r13 SL-PreconfigDiscRxPoolList-r13, + discTxPoolList-r13 SL-PreconfigDiscTxPoolList-r13 OPTIONAL + } OPTIONAL, + preconfigRelay-r13 SL-PreconfigRelay-r13 OPTIONAL + ]] + +} + +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}, + ..., + [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +SL-PreconfigCommPoolList4-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommRxPoolListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-CommRxPoolPreconf-v13x0)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommTxPoolListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPoolPreconf-v13x0)) 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, + ..., + [[ priorityList-r13 SL-PriorityList-r13 OPTIONAL -- For Tx + ]] +} + +SL-PreconfigDiscRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscRxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13 + +SL-PreconfigDiscTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscTxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13 + +SL-PreconfigDiscPool-r13 ::= SEQUENCE { +-- This IE is same as SL-DiscResourcePool with rxParameters absent + cp-Len-r13 SL-CP-Len-r12, + discPeriod-r13 ENUMERATED {rf4, rf7, rf8, rf14, rf16, rf28, rf32, rf64, + rf128, rf256, rf512, rf1024, spare4, spare3, + spare2, spare}, + numRetx-r13 INTEGER (0..3), + numRepetition-r13 INTEGER (1..50), + tf-ResourceConfig-r13 SL-TF-ResourceConfig-r12, + txParameters-r13 SEQUENCE { + txParametersGeneral-r13 P0-SL-r12, + txProbability-r13 ENUMERATED {p25, p50, p75, p100} + } OPTIONAL, + ... +} + +SL-PreconfigRelay-r13 ::= SEQUENCE { + reselectionInfoRemoteUE-OoC-r13 ReselectionInfoRelay-r13 +} + +END diff --git a/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn b/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn new file mode 100644 index 0000000000..35e184bdc3 --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/EUTRA-UE-Variables.asn @@ -0,0 +1,174 @@ +-- 3GPP TS 36.331 V13.0.0 (2015-12) +-- +EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AbsoluteTimeInfo-r10, + AreaConfiguration-r10, + AreaConfiguration-v1130, + CarrierFreqGERAN, + CellIdentity, + ConnEstFailReport-r11, + SpeedStateScaleFactors, + C-RNTI, + LoggingDuration-r10, + LoggingInterval-r10, + LogMeasInfo-r10, + MeasCSI-RS-Id-r12, + MeasId, + MeasId-v1250, + MeasIdToAddModList, + MeasIdToAddModListExt-r12, + MeasObjectToAddModList, + MeasObjectToAddModList-v9e0, + MeasScaleFactor-r12, + MobilityStateParameters, + NeighCellConfig, + PhysCellId, + PhysCellIdCDMA2000, + PhysCellIdGERAN, + PhysCellIdUTRA-FDD, + PhysCellIdUTRA-TDD, + PLMN-Identity, + PLMN-IdentityList3-r11, + QuantityConfig, + ReportConfigToAddModList, + RLF-Report-r9, + TargetMBSFN-AreaList-r12, + TraceReference-r10, + VisitedCellInfoList-r12, + maxCellMeas, + maxCSI-RS-Meas-r12, + maxMeasId, + maxMeasId-r12, + UL-DelayConfig-r13 +FROM EUTRA-RRC-Definitions; + + +VarConnEstFailReport-r11 ::= SEQUENCE { + connEstFailReport-r11 ConnEstFailReport-r11, + plmn-Identity-r11 PLMN-Identity +} + + +VarLogMeasConfig-r10 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10 +} + +VarLogMeasConfig-r11 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10 +} + +VarLogMeasConfig-r12 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10, + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL +} + + +VarLogMeasReport-r10 ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + plmn-Identity-r10 PLMN-Identity, + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + logMeasInfoList-r10 LogMeasInfoList2-r10 +} + +VarLogMeasReport-r11 ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + plmn-IdentityList-r11 PLMN-IdentityList3-r11, + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + logMeasInfoList-r10 LogMeasInfoList2-r10 +} + +LogMeasInfoList2-r10 ::= SEQUENCE (SIZE (1..maxLogMeas-r10)) OF LogMeasInfo-r10 + + +VarMeasConfig ::= SEQUENCE { + -- Measurement identities + measIdList MeasIdToAddModList OPTIONAL, + measIdListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL, + -- Measurement objects + measObjectList MeasObjectToAddModList OPTIONAL, + measObjectList-v9i0 MeasObjectToAddModList-v9e0 OPTIONAL, + -- Reporting configurations + reportConfigList ReportConfigToAddModList OPTIONAL, + -- Other parameters + quantityConfig QuantityConfig OPTIONAL, + measScaleFactor-r12 MeasScaleFactor-r12 OPTIONAL, + s-Measure INTEGER (-140..-44) OPTIONAL, + speedStatePars CHOICE { + release NULL, + setup SEQUENCE { + mobilityStateParameters MobilityStateParameters, + timeToTrigger-SF SpeedStateScaleFactors + } + } OPTIONAL, + allowInterruptions-r11 BOOLEAN OPTIONAL +} + + +VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport +VarMeasReportList-r12 ::= SEQUENCE (SIZE (1..maxMeasId-r12)) OF VarMeasReport + +VarMeasReport ::= SEQUENCE { + -- List of measurement that have been triggered + measId MeasId, + measId-v1250 MeasId-v1250 OPTIONAL, + cellsTriggeredList CellsTriggeredList OPTIONAL, + csi-RS-TriggeredList-r12 CSI-RS-TriggeredList-r12 OPTIONAL, + numberOfReportsSent INTEGER +} + +CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CHOICE { + physCellIdEUTRA PhysCellId, + physCellIdUTRA CHOICE { + fdd PhysCellIdUTRA-FDD, + tdd PhysCellIdUTRA-TDD + }, + physCellIdGERAN SEQUENCE { + carrierFreq CarrierFreqGERAN, + physCellId PhysCellIdGERAN + }, + physCellIdCDMA2000 PhysCellIdCDMA2000 +} + +CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12 + +VarMobilityHistoryReport-r12 ::= VisitedCellInfoList-r12 + + +VarRLF-Report-r10 ::= SEQUENCE { + rlf-Report-r10 RLF-Report-r9, + plmn-Identity-r10 PLMN-Identity +} + +VarRLF-Report-r11 ::= SEQUENCE { + rlf-Report-r10 RLF-Report-r9, + plmn-IdentityList-r11 PLMN-IdentityList3-r11 +} + + +VarShortMAC-Input ::= SEQUENCE { + cellIdentity CellIdentity, + physCellId PhysCellId, + c-RNTI C-RNTI +} + +maxLogMeas-r10 INTEGER ::= 4060-- Maximum number of logged measurement entries + -- that can be stored by the UE + + +END diff --git a/epan/dissectors/asn1/lte-rrc/Makefile.am b/epan/dissectors/asn1/lte-rrc/Makefile.am new file mode 100644 index 0000000000..72d28e600b --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/Makefile.am @@ -0,0 +1,23 @@ +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +include ../Makefile.preinc +include Makefile.common +include ../Makefile.inc + diff --git a/epan/dissectors/asn1/lte-rrc/Makefile.common b/epan/dissectors/asn1/lte-rrc/Makefile.common new file mode 100644 index 0000000000..518e117a42 --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/Makefile.common @@ -0,0 +1,47 @@ +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +PROTOCOL_NAME = lte-rrc + +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 \ + PC5-RRC-Definitions.asn + +EXTRA_DIST = \ + $(EXTRA_DIST_COMMON) \ + $(ASN_FILE_LIST) \ + packet-$(PROTOCOL_NAME)-template.c \ + packet-$(PROTOCOL_NAME)-template.h \ + $(PROTOCOL_NAME).cnf + +SRC_FILES = \ + $(EXTRA_DIST) \ + $(EXT_ASN_FILE_LIST) + +A2W_FLAGS = -L + +EXTRA_CNF = + diff --git a/epan/dissectors/asn1/lte-rrc/Makefile.nmake b/epan/dissectors/asn1/lte-rrc/Makefile.nmake new file mode 100644 index 0000000000..d296638ddd --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/Makefile.nmake @@ -0,0 +1,26 @@ +## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +include ../../../../config.nmake +include ../Makefile.preinc.nmake +include Makefile.common +include ../Makefile.inc.nmake + diff --git a/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn b/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn new file mode 100644 index 0000000000..83f59ad54f --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/PC5-RRC-Definitions.asn @@ -0,0 +1,31 @@ +-- 3GPP TS 36.331 V13.0.0 (2015-12) +-- +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/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf new file mode 100644 index 0000000000..a94da54b1e --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf @@ -0,0 +1,2078 @@ +# lte-rrc.cnf +# lte-rrc conformation file +# Copyright 2008 Vincent Helfre, 2009-2016 Pascal Quantin + +#.OPT +PER +UNALIGNED +#.END + +#.USE_VALS_EXT +BandclassCDMA2000 +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-r12 + +#.EXPORTS +HandoverCommand +HandoverCommand_PDU +HandoverPreparationInformation +HandoverPreparationInformation_PDU +UERadioAccessCapabilityInformation +UERadioAccessCapabilityInformation_PDU +UE-EUTRA-Capability +UE-EUTRA-Capability_PDU +#.END + +#.PDU +HandoverCommand +HandoverPreparationInformation +UERadioAccessCapabilityInformation +BCCH-BCH-Message @bcch.bch +BCCH-DL-SCH-Message @bcch.dl.sch +MCCH-Message @mcch +PCCH-Message @pcch +DL-CCCH-Message @dl.ccch +DL-DCCH-Message @dl.dcch +UL-CCCH-Message @ul.ccch +UL-DCCH-Message @ul.dcch +SC-MCCH-Message @sc.mcch +UECapabilityInformation @ue_cap_info +UE-EUTRA-Capability @ue_eutra_cap +SBCCH-SL-BCH-Message @sbcch.sl.bch +#.END + +#.OMIT_ASSIGNMENT +# Get rid of unused code warnings +Cell-ToAddMod-r12 +CellsTriggeredList +CQI-ReportConfigSCell-v13x0 +CSI-RS-TriggeredList-r12 +DRB-InfoListSCG-r12 +DRB-InfoSCG-r12 +LogMeasInfoList2-r10 +MeasResultServCellListSCG-r12 +MeasResultServCellListSCG-Ext-r13 +MeasResultServCellSCG-r12 +RSRP-RangeSL3-r12 +SCellToAddModListSCG-r12 +SCellToAddModListSCG-Ext-r13 +SCG-ConfigInfo-r12 +SCG-ConfigInfo-r12-IEs +SCG-ConfigInfo-v13x0-IEs +SCG-ConfigRestrictInfo-r12 +ServCellIndex-v13xy +SL-CommTxPoolIdentity-r13 +SL-PreconfigCommPool-r12 +SL-PreconfigCommPoolList4-r12 +SL-PreconfigCommRxPoolListExt-r13 +SL-PreconfigCommTxPoolListExt-r13 +SL-PreconfigDiscPool-r13 +SL-PreconfigDiscRxPoolList-r13 +SL-PreconfigDiscTxPoolList-r13 +SL-PreconfigGeneral-r12 +SL-PreconfigRelay-r13 +SL-PreconfigSync-r12 +SL-Preconfiguration-r12 +UERadioPagingInformation +UERadioPagingInformation-r12-IEs +UERadioPagingInformation-v13xy-IEs +UplinkPowerControlCommonPSCell-v13xy +VarConnEstFailReport-r11 +VarLogMeasConfig-r10 +VarLogMeasConfig-r11 +VarLogMeasConfig-r12 +VarLogMeasReport-r10 +VarLogMeasReport-r11 +VarMeasConfig +VarMeasReportList +VarMeasReportList-r12 +VarMeasReport +VarMobilityHistoryReport-r12 +VarRLF-Report-r10 +VarRLF-Report-r11 +VarShortMAC-Input + +#.NO_EMIT ONLY_VALS +EAB-Config-r11/eab-Category-r11 + +#.MAKE_ENUM +RAT-Type TYPE_PREFIX +Handover/targetRAT-Type TYPE_PREFIX +SI-OrPSI-GERAN TYPE_PREFIX + +#.FN_HDR UL-DCCH-Message + actx->pinfo->link_dir = P2P_DIR_UL; + +#.FN_HDR DL-DCCH-Message + actx->pinfo->link_dir = P2P_DIR_DL; + +#.FN_BODY DedicatedInfoNAS VAL_PTR = &nas_eps_tvb + tvbuff_t *nas_eps_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if ((nas_eps_tvb)&&(nas_eps_handle)) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dedicatedInfoNAS); + lte_rrc_call_dissector(nas_eps_handle, nas_eps_tvb, actx->pinfo, subtree); + } + +#.FN_BODY UE-CapabilityRAT-Container + /* Initialise to invalid value */ + private_data_set_rat_type(actx, 0xFF); +%(DEFAULT_BODY)s + +#.FN_BODY RAT-Type VAL_PTR = &rat_type + guint32 rat_type; +%(DEFAULT_BODY)s + private_data_set_rat_type(actx, (guint8)rat_type); + +#RAT-Type ::= ENUMERATED { +# eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT, +# spare3, spare2, spare1, ...} +# ueCapabilityRAT-Container +# Container for the UE capabilities of the indicated RAT. The encoding is defined in the specification of each RAT: +# For E-UTRA: the encoding of UE capabilities is defined in IE UE-EUTRA-Capability. +# For UTRA: the octet string contains the INTER RAT HANDOVER INFO message defined in TS 25.331 [19]. +# For GERAN CS: the octet string contains the concatenated string of the Mobile Station Classmark 2 and Mobile +# Station Classmark 3. The first 5 octets correspond to Mobile Station Classmark 2 and the following octets correspond +# to Mobile Station Classmark 3. The Mobile Station Classmark 2 is formatted as 'TLV' and is coded in the same way as +# the Mobile Station Classmark 2 information element in TS 24.008 [49]. The first octet is the Mobile station classmark 2 +# IEI and its value shall be set to 33H. The second octet is the Length of mobile station classmark 2 and its value shall +# be set to 3. The octet 3 contains the first octet of the value part of the Mobile Station Classmark 2 information element, +# the octet 4 contains the second octet of the value part of the Mobile Station Classmark 2 information element and so +# on. For each of these octets, the first/ leftmost/ most significant bit of the octet contains b8 of the corresponding octet +# of the Mobile Station Classmark 2. The Mobile Station Classmark 3 is formatted as 'V' and is coded in the same way +# as the value part in the Mobile station classmark 3 information element in TS 24.008 [49]. The sixth octet of this octet +# string contains octet 1 of the value part of Mobile station classmark 3, the seventh of octet of this octet string contains +# octet 2 of the value part of Mobile station classmark 3 and so on. Note. +# For GERAN PS: the encoding of UE capabilities is formatted as 'V' and is coded in the same way as the value part in +# the MS Radio Access Capability information element in TS 24.008 [49]. +# For CDMA2000-1XRTT: the octet string contains the A21 Mobile Subscription Information and the encoding of this is +# defined in A.S0008 [33]. The A21 Mobile Subscription Information contains the supported CDMA2000 1xRTT band +# class and band sub-class information. + +#.FN_BODY UE-CapabilityRAT-Container/ueCapabilityRAT-Container VAL_PTR = &ue_cap_tvb + tvbuff_t *ue_cap_tvb=NULL; +%(DEFAULT_BODY)s + +#.FN_FTR UE-CapabilityRAT-Container/ueCapabilityRAT-Container +if(ue_cap_tvb){ + guint32 length; + proto_item *item; + proto_tree *subtree, *subtree2; + guint8 byte; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_UE_CapabilityRAT_Container); + switch(private_data_get_rat_type(actx)){ + case RAT_Type_eutra: + /* eutra */ + dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; + case RAT_Type_utra: + /* utra */ + dissect_rrc_InterRATHandoverInfo_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; + case RAT_Type_geran_cs: + /* geran-cs */ + /* Mobile Station Classmark 2 is formatted as TLV with the two first bytes set to 0x33 0x03 */ + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, 5, + ett_lte_rrc_UE_CapabilityRAT_Container, &item, "Mobile Station Classmark 2"); + byte = tvb_get_guint8(ue_cap_tvb, 0); + if (byte != 0x33) { + expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_type_value, + "Unexpected type value (found 0x%02X)", byte); + } + byte = tvb_get_guint8(ue_cap_tvb, 1); + if (byte != 0x03) { + expert_add_info_format(actx->pinfo, item, &ei_lte_rrc_unexpected_length_value, + "Unexpected length value (found %d)", byte); + } + de_ms_cm_2(ue_cap_tvb, subtree2, actx->pinfo, 2, 3, NULL, 0); + /* Mobile Station Classmark 3 is formatted as V */ + length = tvb_reported_length_remaining(ue_cap_tvb, 5); + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 5, length, + ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "Mobile Station Classmark 3"); + de_ms_cm_3(ue_cap_tvb, subtree2, actx->pinfo, 5, length, NULL, 0); + break; + case RAT_Type_geran_ps: + /* geran-ps */ + /* MS Radio Access Capability is formatted as V */ + length = tvb_reported_length(ue_cap_tvb); + subtree2 = proto_tree_add_subtree(subtree, ue_cap_tvb, 0, length, + ett_lte_rrc_UE_CapabilityRAT_Container, NULL, "MS Radio Access Capability"); + de_gmm_ms_radio_acc_cap(ue_cap_tvb, subtree2, actx->pinfo, 0, length, NULL, 0); + break; + case RAT_Type_cdma2000_1XRTT: + /* cdma2000-1XRTT */ + /* dissection of "A21 Mobile Subscription Information" could be added to packet-ansi_a.c */ + break; + default: + break; + } +} + +#.FN_BODY UE-EUTRA-Capability/featureGroupIndicators VAL_PTR = &featureGroupIndicators_tvb + tvbuff_t *featureGroupIndicators_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndicators_tvb){ + /* Dissect featureGroupIndicators */ + dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx); + } + +#.FN_BODY UE-EUTRA-Capability-v1020-IEs/featureGroupIndRel10-r10 VAL_PTR = &featureGroupIndRel10_tvb + tvbuff_t *featureGroupIndRel10_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndRel10_tvb){ + /* Dissect featureGroupIndRel10-r10 */ + dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx); + } + +#.FN_BODY UE-EUTRA-Capability-v9a0-IEs/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb + tvbuff_t *featureGroupIndRel9Add_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndRel9Add_tvb){ + /* Dissect featureGroupIndRel9Add-r9 */ + dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx); + } + +#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndicators-r9 VAL_PTR = &featureGroupIndicators_tvb + tvbuff_t *featureGroupIndicators_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndicators_tvb){ + /* Dissect featureGroupIndicators-r9 */ + dissect_lte_rrc_featureGroupIndicators(featureGroupIndicators_tvb, actx); + } + +#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-r9/featureGroupIndRel9Add-r9 VAL_PTR = &featureGroupIndRel9Add_tvb + tvbuff_t *featureGroupIndRel9Add_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndRel9Add_tvb){ + /* Dissect featureGroupIndRel9Add-r9 */ + dissect_lte_rrc_featureGroupIndRel9Add(featureGroupIndRel9Add_tvb, actx); + } + +#.FN_BODY UE-EUTRA-CapabilityAddXDD-Mode-v1060/featureGroupIndRel10-v1060 VAL_PTR = &featureGroupIndRel10_tvb + tvbuff_t *featureGroupIndRel10_tvb=NULL; +%(DEFAULT_BODY)s + if(featureGroupIndRel10_tvb){ + /* Dissect featureGroupIndRel10-v1060 */ + dissect_lte_rrc_featureGroupIndRel10(featureGroupIndRel10_tvb, actx); + } + +#.FN_BODY PhyLayerParameters-v1170/interBandTDD-CA-WithDifferentConfig-r11 VAL_PTR = &inter_band_tdd_ca_tvb + tvbuff_t *inter_band_tdd_ca_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (inter_band_tdd_ca_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_interBandTDD_CA_WithDifferentConfig); + proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1, inter_band_tdd_ca_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2, inter_band_tdd_ca_tvb, 1, 1, ENC_BIG_ENDIAN); + } + +#.FN_BODY PhyLayerParameters-v1250/tdd-FDD-CA-PCellDuplex-r12 VAL_PTR = &pcellduplex_tvb + tvbuff_t *pcellduplex_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (pcellduplex_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12); + proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1, pcellduplex_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2, pcellduplex_tvb, 1, 1, ENC_BIG_ENDIAN); + } + +#.FN_BODY PhyLayerParameters-v13x0/codebook-HARQ-ACK-r13 VAL_PTR = &codebook_tvb + tvbuff_t *codebook_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (codebook_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_codebook_HARQ_ACK_r13); + proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit1, codebook_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_codebook_HARQ_ACK_r13_bit2, codebook_tvb, 1, 1, ENC_BIG_ENDIAN); + } + +#.FN_BODY RF-Parameters-v10f0/modifiedMPR-Behavior-r10 VAL_PTR = &modifiedMPR_Behavior_r10_tvb + tvbuff_t *modifiedMPR_Behavior_r10_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (modifiedMPR_Behavior_r10_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_modifiedMPR_Behavior_r10); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0, modifiedMPR_Behavior_r10_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1, modifiedMPR_Behavior_r10_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2, modifiedMPR_Behavior_r10_tvb, 2, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3, modifiedMPR_Behavior_r10_tvb, 3, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4, modifiedMPR_Behavior_r10_tvb, 4, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5, modifiedMPR_Behavior_r10_tvb, 5, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6, modifiedMPR_Behavior_r10_tvb, 6, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7, modifiedMPR_Behavior_r10_tvb, 7, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8, modifiedMPR_Behavior_r10_tvb, 8, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9, modifiedMPR_Behavior_r10_tvb, 9, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10, modifiedMPR_Behavior_r10_tvb, 10, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11, modifiedMPR_Behavior_r10_tvb, 11, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12, modifiedMPR_Behavior_r10_tvb, 12, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13, modifiedMPR_Behavior_r10_tvb, 13, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14, modifiedMPR_Behavior_r10_tvb, 14, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15, modifiedMPR_Behavior_r10_tvb, 15, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16, modifiedMPR_Behavior_r10_tvb, 16, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17, modifiedMPR_Behavior_r10_tvb, 17, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18, modifiedMPR_Behavior_r10_tvb, 18, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19, modifiedMPR_Behavior_r10_tvb, 19, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20, modifiedMPR_Behavior_r10_tvb, 20, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21, modifiedMPR_Behavior_r10_tvb, 21, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22, modifiedMPR_Behavior_r10_tvb, 22, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23, modifiedMPR_Behavior_r10_tvb, 23, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24, modifiedMPR_Behavior_r10_tvb, 24, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25, modifiedMPR_Behavior_r10_tvb, 25, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26, modifiedMPR_Behavior_r10_tvb, 26, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27, modifiedMPR_Behavior_r10_tvb, 27, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28, modifiedMPR_Behavior_r10_tvb, 28, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29, modifiedMPR_Behavior_r10_tvb, 29, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30, modifiedMPR_Behavior_r10_tvb, 30, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31, modifiedMPR_Behavior_r10_tvb, 31, 1, ENC_BIG_ENDIAN); + } + +#.FN_BODY Handover + /* Initialise to invalid value */ + private_data_set_rat_target_type(actx, 0xFF); +%(DEFAULT_BODY)s + +#.FN_BODY Handover/targetRAT-Type VAL_PTR = &target_rat_type + guint32 target_rat_type; +%(DEFAULT_BODY)s + private_data_set_rat_target_type(actx, (guint8)target_rat_type); + +#.FN_BODY Handover/targetRAT-MessageContainer VAL_PTR = &target_rat_msg_cont_tvb + tvbuff_t *target_rat_msg_cont_tvb = NULL; +%(DEFAULT_BODY)s + if(target_rat_msg_cont_tvb){ + guint8 byte; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_targetRAT_MessageContainer); + switch (private_data_get_rat_target_type(actx)){ + case T_targetRAT_Type_utra: + /* utra */ + if (rrc_irat_ho_to_utran_cmd_handle) + lte_rrc_call_dissector(rrc_irat_ho_to_utran_cmd_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); + break; + case T_targetRAT_Type_geran: + /* geran */ + byte = tvb_get_guint8(target_rat_msg_cont_tvb, 0); + if (byte == 0x06) { + if (gsm_a_dtap_handle) { + lte_rrc_call_dissector(gsm_a_dtap_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); + } + } else { + if (gsm_rlcmac_dl_handle) { + lte_rrc_call_dissector(gsm_rlcmac_dl_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); + } + } + break; + case T_targetRAT_Type_cdma2000_1XRTT: + /* cdma2000-1XRTT */ + break; + case T_targetRAT_Type_cdma2000_HRPD: + /* cdma2000-HRPD */ + break; + default: + break; + } + } + +#.FN_BODY Handover/nas-SecurityParamFromEUTRA VAL_PTR = &nas_sec_param_from_eutra_tvb + tvbuff_t *nas_sec_param_from_eutra_tvb = NULL; + guint32 length; + proto_tree *subtree; + +%(DEFAULT_BODY)s + if (nas_sec_param_from_eutra_tvb) { + length = tvb_reported_length(nas_sec_param_from_eutra_tvb); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam); + de_emm_sec_par_from_eutra(nas_sec_param_from_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0); + } + +#.FN_BODY SecurityConfigHO/handoverType/interRAT/nas-SecurityParamToEUTRA VAL_PTR = &nas_sec_param_to_eutra_tvb + tvbuff_t *nas_sec_param_to_eutra_tvb = NULL; + guint32 length; + proto_tree *subtree; + +%(DEFAULT_BODY)s + if (nas_sec_param_to_eutra_tvb) { + length = tvb_reported_length(nas_sec_param_to_eutra_tvb); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_nas_SecurityParam); + de_emm_sec_par_to_eutra(nas_sec_param_to_eutra_tvb, subtree, actx->pinfo, 0, length, NULL, 0); + } + +#.FN_BODY SI-OrPSI-GERAN/si + private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */ +%(DEFAULT_BODY)s + +#.FN_BODY SI-OrPSI-GERAN/psi + private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_psi); /* PSI message */ +%(DEFAULT_BODY)s + +#.FN_BODY CellInfoGERAN-r9/systemInformation-r9 + private_data_set_si_or_psi_geran(actx, (guint8)SI_OrPSI_GERAN_si); /* SI message */ +%(DEFAULT_BODY)s + +#.FN_BODY SystemInfoListGERAN/_item VAL_PTR = &sys_info_list_tvb + tvbuff_t *sys_info_list_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (sys_info_list_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer); + switch (private_data_get_si_or_psi_geran(actx)) { + case SI_OrPSI_GERAN_si: + /* SI message */ + if (gsm_a_dtap_handle) { + tvbuff_t *si_tvb = tvb_new_composite(); + guint8 *pd = (guint8 *) wmem_alloc(actx->pinfo->pool, 1); + pd[0] = 0x06; + tvb_composite_append(si_tvb, tvb_new_real_data(pd, 1, 1)); + tvb_composite_append(si_tvb, sys_info_list_tvb); + tvb_composite_finalize(si_tvb); + add_new_data_source(actx->pinfo, si_tvb, "System Information"); + lte_rrc_call_dissector(gsm_a_dtap_handle, si_tvb, actx->pinfo, subtree); + } + break; + case SI_OrPSI_GERAN_psi: + /* PSI message */ + if (gsm_rlcmac_dl_handle) { + lte_rrc_call_dissector(gsm_rlcmac_dl_handle, sys_info_list_tvb, actx->pinfo, subtree); + } + break; + default: + break; + } + } + +#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime VAL_PTR=&async_system_time_tvb + tvbuff_t *async_system_time_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/asynchronousSystemTime + if (async_system_time_tvb) { + guint64 bits; + nstime_t ts; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo); + bits = tvb_get_bits64(async_system_time_tvb, 0, 49, ENC_BIG_ENDIAN); + ts.secs = (time_t)((bits*8)/1228800) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */ + ts.nsecs = (int)(((bits%153600)*8*1000000000)/1228800); + proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, async_system_time_tvb, 0, 7, &ts); + proto_tree_add_time(subtree, hf_lte_rrc_local_time, async_system_time_tvb, 0, 7,&ts); + } + +#.FN_BODY SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime VAL_PTR=&sync_system_time_tvb + tvbuff_t *sync_system_time_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemTimeInfoCDMA2000/cdma-SystemTime/synchronousSystemTime + if (sync_system_time_tvb) { + guint64 bits; + nstime_t ts; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo); + bits = tvb_get_bits64(sync_system_time_tvb, 0, 39, ENC_BIG_ENDIAN); + ts.secs = (time_t)(bits/100) + 315964800; /* CDMA2000 epoch is 00:00:00 (midnight) UTC on 1980-01-06 */ + ts.nsecs = (int)(bits%100)*10000000; + proto_tree_add_time(subtree, hf_lte_rrc_cdma_time, sync_system_time_tvb, 0, 5, &ts); + proto_tree_add_time(subtree, hf_lte_rrc_local_time, sync_system_time_tvb, 0, 5, &ts); + } + +#.FN_BODY CellInfoUTRA-FDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb + tvbuff_t *utra_bcch_cont_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer); + lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree); + } + +#.FN_BODY CellInfoUTRA-TDD-r9/utra-BCCH-Container-r9 VAL_PTR = &utra_bcch_cont_tvb + tvbuff_t *utra_bcch_cont_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer); + lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree); + } + +#.FN_BODY CellInfoUTRA-TDD-r10/utra-BCCH-Container-r10 VAL_PTR = &utra_bcch_cont_tvb + tvbuff_t *utra_bcch_cont_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (utra_bcch_cont_tvb && rrc_sys_info_cont_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_siPsiSibContainer); + lte_rrc_call_dissector(rrc_sys_info_cont_handle, utra_bcch_cont_tvb, actx->pinfo, subtree); + } + +#.TYPE_ATTR +NeighCellConfig TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_neighCellConfig_vals) + +#.FN_BODY NeighCellConfig VAL_PTR = &neigh_cell_config_tvb HF_INDEX=-1 + tvbuff_t *neigh_cell_config_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR NeighCellConfig + if (neigh_cell_config_tvb) { + 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)); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoid-Point-r10 VAL_PTR = &ellipsoid_point_tvb + tvbuff_t *ellipsoid_point_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_point_tvb) { + dissect_lpp_Ellipsoid_Point_PDU(ellipsoid_point_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitude-r10 VAL_PTR = &ellipsoid_point_with_alt_tvb + tvbuff_t *ellipsoid_point_with_alt_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_point_with_alt_tvb) { + dissect_lpp_EllipsoidPointWithAltitude_PDU(ellipsoid_point_with_alt_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyCircle-r11 VAL_PTR = &ellipsoid_point_with_uncert_circ_tvb + tvbuff_t *ellipsoid_point_with_uncert_circ_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_point_with_uncert_circ_tvb) { + dissect_lpp_Ellipsoid_PointWithUncertaintyCircle_PDU(ellipsoid_point_with_uncert_circ_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithUncertaintyEllipse-r11 VAL_PTR = &ellipsoid_point_with_uncert_ellipse_tvb + tvbuff_t *ellipsoid_point_with_uncert_ellipse_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_point_with_uncert_ellipse_tvb) { + dissect_lpp_EllipsoidPointWithUncertaintyEllipse_PDU(ellipsoid_point_with_uncert_ellipse_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 VAL_PTR = &ellipsoid_point_with_alt_uncert_ellipsoid_tvb + tvbuff_t *ellipsoid_point_with_alt_uncert_ellipsoid_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_point_with_alt_uncert_ellipsoid_tvb) { + dissect_lpp_EllipsoidPointWithAltitudeAndUncertaintyEllipsoid_PDU(ellipsoid_point_with_alt_uncert_ellipsoid_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/ellipsoidArc-r11 VAL_PTR = &ellipsoid_arc_tvb + tvbuff_t *ellipsoid_arc_tvb = NULL; +%(DEFAULT_BODY)s + if (ellipsoid_arc_tvb) { + dissect_lpp_EllipsoidArc_PDU(ellipsoid_arc_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/locationCoordinates-r10/polygon-r11 VAL_PTR = &polygon_tvb + tvbuff_t *polygon_tvb = NULL; +%(DEFAULT_BODY)s + if (polygon_tvb) { + dissect_lpp_Polygon_PDU(polygon_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/horizontalVelocity-r10 VAL_PTR = &horizontal_velocity_tvb + tvbuff_t *horizontal_velocity_tvb = NULL; +%(DEFAULT_BODY)s + if (horizontal_velocity_tvb) { + dissect_lpp_HorizontalVelocity_PDU(horizontal_velocity_tvb, actx->pinfo, tree, NULL); + } + +#.FN_BODY LocationInfo-r10/gnss-TOD-msec-r10 VAL_PTR = &gnss_tod_msec_tvb + tvbuff_t *gnss_tod_msec_tvb = NULL; +%(DEFAULT_BODY)s + if (gnss_tod_msec_tvb) { + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, actx->pinfo); + dissect_per_constrained_integer(gnss_tod_msec_tvb, 0, &asn1_ctx, tree, hf_index, 0U, 3599999U, NULL, FALSE); + proto_item_append_text(actx->created_item, "ms"); + } + +#.FN_BODY AbsoluteTimeInfo-r10 VAL_PTR = &abs_time_info_tvb + tvbuff_t *abs_time_info_tvb = NULL; +%(DEFAULT_BODY)s +#.FN_FTR AbsoluteTimeInfo-r10 + if (abs_time_info_tvb) { + const gchar *str, *hf_str; + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_absTimeInfo); + str = tvb_bcd_dig_to_wmem_packet_str(abs_time_info_tvb, 0, 6, NULL, FALSE); + hf_str = wmem_strdup_printf(wmem_packet_scope(), "%c%c-%c%c-%c%c %c%c:%c%c:%c%c", str[0], str[1], + str[2], str[3], str[4], str[5], str[6], str[7], str[8], str[9], str[10], str[11]); + proto_tree_add_string(subtree, hf_lte_rrc_absolute_time, abs_time_info_tvb, 0, 6, hf_str); + } + +#.TYPE_RENAME +CarrierFreqUTRA-FDD-Ext-r12/multiBandInfoList-r12 FreqBandIndicator_UTRA_FDD_r12 + +#.TYPE_ATTR +SystemInformationBlockType9/hnb-Name TYPE=FT_STRING DISPLAY=STR_UNICODE + +#.FN_BODY SystemInformationBlockType9/hnb-Name VAL_PTR=&hnb_name_tvb HF_INDEX=-1 + tvbuff_t *hnb_name_tvb = NULL; + +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, hnb_name_tvb, 0, -1, ENC_UTF_8|ENC_NA); + +#.TYPE_ATTR +SystemInformationBlockType10/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SystemInformationBlockType10/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType10/messageIdentifier + if (msg_id_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType10/serialNumber VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType10/serialNumber + if (serial_nb_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType10/warningType VAL_PTR=&warning_type_tvb + tvbuff_t *warning_type_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType10/warningType + if (warning_type_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningType); + proto_tree_add_item(subtree, hf_lte_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +SystemInformationBlockType11/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SystemInformationBlockType11/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType11/messageIdentifier + if (msg_id_tvb) { + private_data_set_message_identifier(actx, tvb_get_ntohs(msg_id_tvb, 0) << 16); + actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType11/serialNumber VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType11/serialNumber + if (serial_nb_tvb) { + proto_tree *subtree; + private_data_set_message_identifier(actx, + private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0)); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType11/warningMessageSegmentType VAL_PTR=&segment_type + guint32 segment_type; +%(DEFAULT_BODY)s + private_data_set_warning_message_segment_type(actx, (guint8)segment_type); + +#.FN_BODY SystemInformationBlockType11/warningMessageSegmentNumber VAL_PTR=&segment_number + guint32 segment_number; +%(DEFAULT_BODY)s + private_data_set_warning_message_segment_number(actx, (guint8)segment_number); + +#.FN_BODY SystemInformationBlockType11/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb + tvbuff_t *data_coding_scheme_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType11/dataCodingScheme + if (data_coding_scheme_tvb) { + proto_tree *subtree; + guint32 dataCodingScheme; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme); + dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); + g_hash_table_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)), + GUINT_TO_POINTER(dataCodingScheme)); + } + +#.FN_BODY SystemInformationBlockType11/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb + tvbuff_t *warning_msg_seg_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType11/warningMessageSegment + if (warning_msg_seg_tvb) { + proto_tree *subtree; + tvbuff_t *frag_tvb; + gpointer p_dcs; + fragment_head *frag_data = fragment_add_seq_check(<e_rrc_sib11_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, + private_data_get_message_identifier(actx), NULL, + private_data_get_warning_message_segment_number(actx), + tvb_reported_length(warning_msg_seg_tvb), + private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment); + frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB11 warning message", + frag_data, <e_rrc_sib11_frag_items, NULL, subtree); + p_dcs = g_hash_table_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx))); + if (frag_tvb && p_dcs) { + dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); + } + } + +#.TYPE_ATTR +SystemInformationBlockType12-r9/messageIdentifier-r9 TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SystemInformationBlockType12-r9/messageIdentifier-r9 VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType12-r9/messageIdentifier-r9 + if (msg_id_tvb) { + private_data_set_message_identifier(actx, tvb_get_ntohs(msg_id_tvb, 0) << 16); + actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType12-r9/serialNumber-r9 VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType12-r9/serialNumber-r9 + if (serial_nb_tvb) { + proto_tree *subtree; + private_data_set_message_identifier(actx, + private_data_get_message_identifier(actx) | tvb_get_ntohs(serial_nb_tvb, 0)); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_serialNumber); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_lte_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentType-r9 VAL_PTR=&segment_type + guint32 segment_type; +%(DEFAULT_BODY)s + private_data_set_warning_message_segment_type(actx, (guint8)segment_type); + +#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegmentNumber-r9 VAL_PTR=&segment_number + guint32 segment_number; +%(DEFAULT_BODY)s + private_data_set_warning_message_segment_number(actx, (guint8)segment_number); + +#.FN_BODY SystemInformationBlockType12-r9/dataCodingScheme-r9 VAL_PTR=&data_coding_scheme_tvb + tvbuff_t *data_coding_scheme_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType12-r9/dataCodingScheme-r9 + if (data_coding_scheme_tvb) { + proto_tree *subtree; + guint32 dataCodingScheme; + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_dataCodingScheme); + dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); + g_hash_table_insert(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx)), + GUINT_TO_POINTER(dataCodingScheme)); + } + +#.FN_BODY SystemInformationBlockType12-r9/warningMessageSegment-r9 VAL_PTR=&warning_msg_seg_tvb + tvbuff_t *warning_msg_seg_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType12-r9/warningMessageSegment-r9 + if (warning_msg_seg_tvb) { + proto_tree *subtree; + tvbuff_t *frag_tvb; + gpointer p_dcs; + fragment_head *frag_data = fragment_add_seq_check(<e_rrc_sib12_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, + private_data_get_message_identifier(actx), NULL, + private_data_get_warning_message_segment_number(actx), + tvb_reported_length(warning_msg_seg_tvb), + private_data_get_warning_message_segment_type(actx) ? FALSE : TRUE); + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_warningMessageSegment); + frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB12 warning message", + frag_data, <e_rrc_sib12_frag_items, NULL, subtree); + p_dcs = g_hash_table_lookup(lte_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)private_data_get_message_identifier(actx))); + if (frag_tvb && p_dcs) { + dissect_lte_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); + } + } + +#.TYPE_ATTR +EAB-Config-r11/eab-Category-r11 STRINGS=VALS(lte_rrc_eab_category_vals) + +#.TYPE_ATTR +SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_daylightSavingTime_vals) + +#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1 + tvbuff_t *daylight_saving_time_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/dayLightSavingTime-r11 + if (daylight_saving_time_tvb) { + actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, tvb_get_bits8(daylight_saving_time_tvb, 0, 2)); + } + +#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/leapSeconds-r11 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.TYPE_ATTR +SystemInformationBlockType16-r11/timeInfo-r11/localTimeOffset-r11 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_localTimeOffset_fmt) + +#.FN_BODY SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11 VAL_PTR=&timeInfo + guint64 timeInfo; + proto_tree *subtree; + nstime_t ts; + guint32 old_offset = offset; +%(DEFAULT_BODY)s + +#.FN_FTR SystemInformationBlockType16-r11/timeInfo-r11/timeInfoUTC-r11 + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_timeInfo); + ts.secs = (time_t)(timeInfo/100)-2208988800U; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */ + ts.nsecs = (int)(timeInfo%100)*10000000; + proto_tree_add_time(subtree, hf_lte_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); + proto_tree_add_time(subtree, hf_lte_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); + +#.TYPE_ATTR +WLAN-Identifiers-r12/ssid-r12 TYPE=FT_STRING DISPLAY=STR_ASCII + +#.FN_BODY WLAN-Identifiers-r12/ssid-r12 VAL_PTR=&ssid_tvb HF_INDEX=-1 + tvbuff_t *ssid_tvb = NULL; + +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA); + +#.TYPE_ATTR +WLAN-Identifiers-r12/bssid-r12 TYPE=FT_ETHER + +#.TYPE_ATTR +WLAN-Identifiers-r12/hessid-r12 TYPE=FT_ETHER + +#.TYPE_ATTR +CellSelectionInfoNFreq-r13/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals) + +#.FN_BODY RRCConnectionReject-r8-IEs/waitTime +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.FN_BODY RRCConnectionReject-v1020-IEs/extendedWaitTime-r10 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.FN_BODY RRCConnectionRelease-v1020-IEs/extendedWaitTime-r10 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.TYPE_ATTR +SystemInformationBlockType1/cellSelectionInfo/q-RxLevMinOffset STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals) + +#.FN_BODY CellSelectionInfo-v920/q-QualMinOffset-r9 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.TYPE_ATTR +RLF-Report-r9/eag_1/timeConnFailure-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_timeConnFailure_r10_fmt) + +#.FN_BODY LogMeasInfo-r10/relativeTimeStamp-r10 +%(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_DEC STRINGS=VALS(lte_rrc_n_r12_vals) + +#.FN_BODY BLER-Result-r12/blocksReceived-r12/m-r12 VAL_PTR = &m_r12_tvb HF_INDEX = -1 + tvbuff_t *m_r12_tvb = NULL; +%(DEFAULT_BODY)s + if (m_r12_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, m_r12_tvb, 0, 1, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +BLER-Result-r12/blocksReceived-r12/m-r12 TYPE=FT_UINT8 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_m_r12_fmt) + +#.TYPE_ATTR +BLER-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_BLER_Range_r12_vals_ext + +#.FN_BODY TimeSinceFailure-r11 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.TYPE_ATTR +CarrierFreqUTRA-FDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_q_RxLevMin_vals_ext + +#.TYPE_ATTR +CarrierFreqUTRA-FDD-Ext-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_q_RxLevMin_vals_ext + +#.TYPE_ATTR +CarrierFreqUTRA-TDD/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_q_RxLevMin_vals_ext + +#.TYPE_ATTR +CarrierFreqUTRA-TDD-r12/q-RxLevMin-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_q_RxLevMin_vals_ext + +#.FN_BODY CarrierFreqUTRA-FDD/p-MaxUTRA +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY CarrierFreqUTRA-FDD-Ext-r12/p-MaxUTRA-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY CarrierFreqUTRA-TDD/p-MaxUTRA +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY CarrierFreqUTRA-TDD-r12/p-MaxUTRA-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY CarrierFreqUTRA-FDD/q-QualMin +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY CarrierFreqUTRA-FDD-Ext-r12/q-QualMin-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.TYPE_ATTR +CarrierFreqsInfoGERAN/commonInfo/q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_geran_q_RxLevMin_vals_ext + +#.FN_BODY CarrierFreqsInfoGERAN/commonInfo/p-MaxGERAN +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.TYPE_ATTR +CQI-ReportConfig/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals) + +#.TYPE_ATTR +CQI-ReportConfig-r10/nomPDSCH-RS-EPRE-Offset STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals) + +#.TYPE_ATTR +CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPDSCH_RS_EPRE_Offset_vals) + +#.FN_BODY P-C-AndCBSR-r11/p-C-r11 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY P-C-AndCBSR-r13/legacySet/p-C-r11 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY CSI-RS-Config-r10/csi-RS-r10/setup/p-C-r10 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY MAC-MainConfig + /* Accumulate values in drx_config while dissecting DRX config. + Do this here rather than down in DRX-Config so that we will see + fields overwritten in the R11 extension */ + drx_config_t *drx_config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + if (drx_config->configured) { + mac_lte_info* p_mac_lte_info; + + /* Verify that config is valid */ + drx_check_config_sane(drx_config, actx); + + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* If found, configure MAC with DRX config */ + set_mac_lte_drx_config(p_mac_lte_info->ueid, drx_config, actx->pinfo); + } + + /* Clear out state */ + drx_config->configured = FALSE; + } + + +#.FN_BODY MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 VAL_PTR=&timer + guint32 timer; +%(DEFAULT_BODY)s + +#.FN_FTR MAC-MainConfig/eag_1/sr-ProhibitTimer-r9 + proto_item_append_text(actx->created_item, " SR period%s", (timer > 1) ? "s" : ""); + +#.FN_BODY MAC-MainConfig/eag_2/mac-MainConfig-v1020/extendedBSR-Sizes-r10 + mac_lte_info* p_mac_lte_info; + +%(DEFAULT_BODY)s + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* Tell MAC to use extended BSR sizes configuration */ + set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, TRUE, actx->pinfo); + } + +#.FN_BODY PDSCH-ConfigCommon/referenceSignalPower +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY P-Max +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY SPS-ConfigUL/setup/p0-Persistent/p0-NominalPUSCH-Persistent +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY SPS-ConfigUL/setup/p0-Persistent/p0-UE-PUSCH-Persistent +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.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/setup/p0-UE-PUSCH-PersistentSubframeSet2-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.TYPE_ATTR +UplinkPowerControlCommon/deltaPreambleMsg3 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals) + +#.FN_BODY UplinkPowerControlCommon/p0-NominalPUSCH +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.TYPE_ATTR +UplinkPowerControlCommonSCell-v11x0/deltaPreambleMsg3-r11 STRINGS=VALS(lte_rrc_deltaPreambleMsg3_vals) + +#.FN_BODY UplinkPowerControlCommon/p0-NominalPUCCH +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY UplinkPowerControlCommonPSCell-r12/p0-NominalPUCCH-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY UplinkPowerControlCommonSCell-r10/p0-NominalPUSCH-r10 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY UplinkPowerControlDedicated/p0-UE-PUSCH +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY UplinkPowerControlDedicated/p0-UE-PUCCH +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-NominalPUSCH-SubframeSet2-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY UplinkPowerControlDedicated-v1250/set2PowerControlParameter/setup/p0-UE-PUSCH-SubframeSet2-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY UplinkPowerControlDedicatedSCell-r10/p0-UE-PUSCH-r10 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY Q-QualMin-r9 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.TYPE_ATTR +Q-RxLevMin DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_q_RxLevMin_vals_ext + +#.FN_BODY Q-OffsetRangeInterRAT +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.TYPE_ATTR +ReselectionThreshold DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_ReselectionThreshold_vals_ext + +#.FN_BODY ReselectionThresholdQ-r9 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY T-Reselection +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.TYPE_ATTR +Hysteresis DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_Hysteresis_vals_ext + +#.TYPE_ATTR +CSI-RSRP-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRP_Range_vals_ext + +#.TYPE_ATTR +MBSFN-RSRQ-Range-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_MBSFN_RSRQ_Range_vals_ext + +#.TYPE_RENAME +MeasConfig/s-Measure S_Measure + +#.TYPE_ATTR +MeasConfig/s-Measure DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_s_Measure_vals_ext + +#.TYPE_ATTR +MeasResultGERAN/measResult/rssi DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&gsm_a_rr_rxlev_vals_ext + +#.TYPE_ATTR +MeasResultUTRA/measResult/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_EcN0_vals_ext + +#.TYPE_ATTR +MeasResultUTRA/measResult/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_utra_RSCP_vals_ext + +#.TYPE_ATTR +ReportConfigEUTRA/triggerType/event/eventId/eventA3/a3-Offset DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_a3_a6_c2_Offset_vals_ext + +#.TYPE_ATTR +ReportConfigEUTRA/triggerType/event/eventId/eventA6-r10/a6-Offset-r10 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_a3_a6_c2_Offset_vals_ext + +#.TYPE_ATTR +ReportConfigEUTRA/triggerType/event/eventId/eventC2-r12/c2-Offset-r12 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_a3_a6_c2_Offset_vals_ext + +#.TYPE_RENAME +ThresholdEUTRA/threshold-RSRP Threshold_RSRP_Range + +#.TYPE_ATTR +ThresholdEUTRA/threshold-RSRP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_threshold_RSRP_vals_ext + +#.TYPE_RENAME +ThresholdEUTRA/threshold-RSRQ Threshold_RSRQ_Range + +#.TYPE_ATTR +ThresholdEUTRA/threshold-RSRQ DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_threshold_RSRQ_vals_ext + +#.TYPE_ATTR +ThresholdGERAN DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_thresholdGERAN_vals_ext + +#.TYPE_RENAME +ThresholdUTRA/utra-RSCP Threshold_utra_RSRP + +#.TYPE_ATTR +ThresholdUTRA/utra-RSCP DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_thresholdUTRA_RSCP_vals_ext + +#.TYPE_RENAME +ThresholdUTRA/utra-EcN0 Threshold_utra_EcN0 + +#.TYPE_ATTR +ThresholdUTRA/utra-EcN0 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_thresholdUTRA_EcN0_vals_ext + +#.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-v1250 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRQ_Range_vals_ext + +#.TYPE_ATTR +RSRQ-Range-v13xx DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_RSRQ_Range_vals_ext + +#.TYPE_ATTR +RS-SINR-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RS_SINR_Range_r13_fmt) + +#.TYPE_ATTR +RSSI-Range-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_RSSI_Range_r13_fmt) + +#.TYPE_ATTR +MeasResultForECID-r9/ue-RxTxTimeDiffResult-r9 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_ue_RxTxTimeDiffResult_fmt) + +#.FN_BODY MeasResultForRSSI-r13/channelOccupancy-r13 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, " percents"); + +#.TYPE_ATTR +UL-PDCP-DelayResult-r13/excessDelay-r13 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_excessDelay_r13_vals_ext + +#.TYPE_ATTR +MeasResultSSTD-r13/subframeBoundaryOffsetResult-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lte_rrc_subframeBoundaryOffsetResult_r13_fmt) + +#.FN_BODY SoundingRS-UL-ConfigDedicated/setup/duration + actx->created_item = proto_tree_add_bits_item(tree, hf_index, tvb, offset, 1, ENC_BIG_ENDIAN); + offset++; + +#.TYPE_ATTR +SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) + +#.FN_HDR MasterInformationBlock + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock"); + +#.FN_HDR SystemInformation + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation [ "); + +#.FN_BODY SystemInformation + +%(DEFAULT_BODY)s + col_append_str(actx->pinfo->cinfo, COL_INFO, "]"); + +#.FN_HDR SystemInformationBlockType1 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1"); + +#.FN_HDR SystemInformationBlockType2 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB2 "); + +#.FN_HDR SystemInformationBlockType3 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB3 "); + +#.FN_HDR SystemInformationBlockType4 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB4 "); + +#.FN_HDR SystemInformationBlockType5 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB5 "); + +#.FN_HDR SystemInformationBlockType6 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB6 "); + +#.FN_HDR SystemInformationBlockType7 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB7 "); + +#.FN_HDR SystemInformationBlockType8 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB8 "); + +#.FN_HDR SystemInformationBlockType9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB9 "); + +#.FN_HDR SystemInformationBlockType10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB10 "); + +#.FN_HDR SystemInformationBlockType11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB11 "); + +#.FN_HDR SystemInformationBlockType12-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB12 "); + +#.FN_HDR SystemInformationBlockType13-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB13 "); + +#.FN_HDR SystemInformationBlockType14-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB14 "); + +#.FN_HDR SystemInformationBlockType15-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB15 "); + +#.FN_HDR SystemInformationBlockType16-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB16 "); + +#.FN_HDR SystemInformationBlockType17-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB17 "); + +#.FN_HDR SystemInformationBlockType18-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB18 "); + +#.FN_HDR SystemInformationBlockType19-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB19 "); + +#.FN_HDR SystemInformationBlockType20-r13 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SIB20 "); + +#.FN_HDR MBSFNAreaConfiguration-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MBSFNAreaConfiguration-r9"); + +#.FN_HDR MBMSCountingRequest-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCountingRequest-r10"); + +#.FN_HDR Paging + + col_append_str(actx->pinfo->cinfo, COL_INFO, "Paging"); + +#.FN_HDR RRCConnectionReestablishment + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishment"); + +#.FN_HDR RRCConnectionReestablishmentReject + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentReject"); + +#.FN_HDR RRCConnectionReject + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReject"); + +#.FN_HDR RRCConnectionSetup + mac_lte_info* p_mac_lte_info; + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup"); + +#.FN_HDR CSFBParametersResponseCDMA2000 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersResponseCDMA2000"); + +#.FN_HDR DLInformationTransfer + + col_append_str(actx->pinfo->cinfo, COL_INFO, "DLInformationTransfer"); + +#.FN_HDR HandoverFromEUTRAPreparationRequest + + col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromEUTRAPreparationRequest"); + +#.FN_HDR MobilityFromEUTRACommand + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MobilityFromEUTRACommand"); + +#.FN_HDR RRCConnectionReconfiguration + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfiguration"); + +#.FN_HDR RRCConnectionRelease + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease"); + +#.FN_HDR SecurityModeCommand + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand"); + +#.FN_HDR UECapabilityEnquiry + + col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry"); + +#.FN_HDR CounterCheck + + col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheck"); + +#.FN_HDR UEInformationRequest-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationRequest-r9"); + +#.FN_HDR LoggedMeasurementConfiguration-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "LoggedMeasurementConfiguration-r10"); + +#.FN_HDR RNReconfiguration-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RNReconfiguration-r10"); + +#.FN_HDR RRCConnectionReestablishmentRequest + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentRequest"); + +#.FN_HDR RRCConnectionRequest + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRequest"); + +#.FN_HDR CSFBParametersRequestCDMA2000 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersRequestCDMA2000"); + +#.FN_HDR MeasurementReport + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementReport"); + +#.FN_HDR RRCConnectionReconfigurationComplete + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfigurationComplete"); + +#.FN_HDR RRCConnectionReestablishmentComplete + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentComplete"); + +#.FN_HDR RRCConnectionSetupComplete + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete"); + +#.FN_HDR SecurityModeComplete + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete"); + +#.FN_BODY SecurityModeFailure + mac_lte_info *p_mac_lte_info; +%(DEFAULT_BODY)s + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + + if (p_mac_lte_info != NULL) { + /* Inform PDCP that the UE failed to execute the securityModeCommand */ + set_pdcp_lte_security_algorithms_failed(p_mac_lte_info->ueid); + } + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure"); + + +#.FN_HDR UECapabilityInformation + + col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation"); + +#.FN_HDR ULHandoverPreparationTransfer + + col_append_str(actx->pinfo->cinfo, COL_INFO, "ULHandoverPreparationTransfer"); + +#.FN_HDR ULInformationTransfer + + col_append_str(actx->pinfo->cinfo, COL_INFO, "ULInformationTransfer"); + +#.FN_HDR CounterCheckResponse + + col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheckResponse"); + +#.FN_HDR UEInformationResponse-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "UEInformationResponse-r9"); + +#.FN_HDR ProximityIndication-r9 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "ProximityIndication-r9"); + +#.FN_HDR RNReconfigurationComplete-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "RNReconfigurationComplete-r10"); + +#.FN_HDR MBMSCountingResponse-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSCountingResponse-r10"); + +#.FN_HDR InterFreqRSTDMeasurementIndication-r10 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "InterFreqRSTDMeasurementIndication-r10"); + +#.FN_HDR UEAssistanceInformation-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "UEAssistanceInformation-r11"); + +#.FN_HDR InDeviceCoexIndication-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "InDeviceCoexIndication-r11"); + +#.FN_HDR MBMSInterestIndication-r11 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "MBMSInterestIndication-r11"); + +#.FN_HDR SCGFailureInformation-r12 + + col_append_str(actx->pinfo->cinfo, COL_INFO, "SCGFailureInformation-r12"); + +#.FN_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)"); + expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing); + +#.FN_BODY Paging/pagingRecordList + /* Number of items is (last 3 bits of first byte and first bit of second) + 1 */ + guint16 number_of_records = ((tvb_get_ntohs(tvb, 0) >> 7) & 0x0f) + 1; +%(DEFAULT_BODY)s + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%u PagingRecords)", number_of_records); + +#.FN_BODY Paging-v13xx-IEs/systemInfoModification-eDRX-r13 +%(DEFAULT_BODY)s + col_append_str(actx->pinfo->cinfo, COL_INFO, " (systemInfoModification-eDRX-r13)"); + expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_sibs_changing_edrx); + +#.FN_BODY MasterInformationBlock/systemFrameNumber VAL_PTR=&value_tvb + tvbuff_t *value_tvb; + guint32 sfn; +%(DEFAULT_BODY)s + /* Show SFN in info column */ + sfn = tvb_get_guint8(value_tvb, 0); + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (SFN=%%u)", sfn); + +#.FN_BODY SystemInformationBlockType1/systemInfoValueTag VAL_PTR=&value + guint32 value; +%(DEFAULT_BODY)s + /* Track whether systemInfoValue has changed since last seen, indicating new SI config + TODO: add link back to previous config and (if known) time since previous config + was first seen */ + if (!actx->pinfo->fd->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->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->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); + } + } + +#.FN_BODY Paging/etws-Indication +%(DEFAULT_BODY)s + col_append_str(actx->pinfo->cinfo, COL_INFO, " (ETWS)"); + expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_earthquake_warning_sys); + +#.FN_BODY Paging-v920-IEs/cmas-Indication-r9 +%(DEFAULT_BODY)s + col_append_str(actx->pinfo->cinfo, COL_INFO, " (CMAS)"); + expert_add_info(actx->pinfo, actx->created_item, &ei_lte_rrc_commercial_mobile_alert_sys); + +#.FN_BODY RadioResourceConfigDedicated + private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PCELL); +%(DEFAULT_BODY)s + +#.FN_BODY RadioResourceConfigDedicatedPSCell-r12 + private_data_set_simult_pucch_pusch_cell_type(actx, SIMULT_PUCCH_PUSCH_PSCELL); +%(DEFAULT_BODY)s + +#.FN_BODY DRB-ToAddMod + struct mac_lte_info *p_mac_lte_info; + struct rlc_lte_info *p_rlc_lte_info; + /* Get the struct and clear it out */ + drb_mapping_t *drb_mapping = private_data_get_drb_mapping(actx); + memset(drb_mapping, 0, sizeof(*drb_mapping)); +%(DEFAULT_BODY)s + /* Need UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info) { + drb_mapping->ueid = p_mac_lte_info->ueid; + /* Tell MAC about this mapping */ + set_mac_lte_channel_mapping(drb_mapping); + } + + /* Also tell RLC how many PDCP sequence number bits and 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)); + + +#.FN_BODY DRB-Identity VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->drbid = (guint8)value; + } + +#.FN_BODY RLC-Config VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; + mapping->rlcMode_present = TRUE; + + if (mapping->rlcMode == RLC_AM_MODE) { + mapping->pdcp_sn_size = 12; + mapping->pdcp_sn_size_present = TRUE; + } + } + +#.FN_BODY RLC-Config-v1250/ul-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field + gboolean ext_li_field; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->rlc_ul_ext_li_field = ext_li_field; + } + +#.FN_BODY RLC-Config-v1250/dl-extended-RLC-LI-Field-r12 VAL_PTR=&ext_li_field + gboolean ext_li_field; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->rlc_dl_ext_li_field = ext_li_field; + } + +#.FN_BODY RLC-Config-v13xx/ul-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn + gboolean ext_am_sn; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->rlc_ul_ext_am_sn = ext_am_sn; + } + +#.FN_BODY RLC-Config-v13xx/dl-extended-RLC-AM-SN-r13 VAL_PTR=&ext_am_sn + gboolean ext_am_sn; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->rlc_dl_ext_am_sn = ext_am_sn; + } + +#.FN_BODY DRB-ToAddMod/logicalChannelIdentity VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->lcid = (guint8)value; + mapping->lcid_present = TRUE; + } + +#.FN_BODY SN-FieldLength VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->um_sn_length = (value==0) ? 5 : 10; + mapping->um_sn_length_present = TRUE; + } + +#.FN_BODY LogicalChannelConfig/ul-SpecificParameters/priority VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->ul_priority = value; + mapping->ul_priority_present = TRUE; + } + +#.FN_BODY PDCP-Config/rlc-UM/pdcp-SN-Size VAL_PTR=&value + guint32 value; + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->pdcp_sn_size = (value==0) ? 7 : 12; + mapping->pdcp_sn_size_present = TRUE; + } + +#.FN_BODY PDCP-Config/eag_2/pdcp-SN-Size-v1130 + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->pdcp_sn_size = 15; + mapping->pdcp_sn_size_present = TRUE; + } + +#.FN_BODY PDCP-Config/eag_4/pdcp-SN-Size-v13xx + drb_mapping_t *mapping = private_data_get_drb_mapping(actx); +%(DEFAULT_BODY)s + if (mapping != NULL) { + mapping->pdcp_sn_size = 18; + mapping->pdcp_sn_size_present = TRUE; + } + +#.FN_BODY NeighCellsInfo-r12/transmissionModeList-r12 VAL_PTR=&tm_list_tvb + tvbuff_t *tm_list_tvb=NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (tm_list_tvb) { + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_transmissionModeList_r12); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm1, tm_list_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm2, tm_list_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm3, tm_list_tvb, 2, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm4, tm_list_tvb, 3, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm6, tm_list_tvb, 4, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm8, tm_list_tvb, 5, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm9, tm_list_tvb, 6, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_transmissionModeList_r12_tm10, tm_list_tvb, 7, 1, ENC_BIG_ENDIAN); + } + +#.FN_BODY PUCCH-ConfigDedicated-v1020/simultaneousPUCCH-PUSCH-r10 + mac_lte_info* p_mac_lte_info; + +%(DEFAULT_BODY)s + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* Tell MAC to use simultaneous PUCCH/PUSCH configuration */ + set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, private_data_get_simult_pucch_pusch_cell_type(actx), TRUE, actx->pinfo); + } + +#.TYPE_ATTR +PUCCH-ConfigDedicated-v13xy/codebooksizeDetermination-r13 DISPLAY=BASE_DEC STRINGS=VALS(lte_rrc_codebooksizeDetermination_r13_vals) + +#.FN_BODY RACH-ConfigCommon/preambleInfo +%(DEFAULT_BODY)s + /* Initialise to invalid value */ + private_data_set_ra_preambles(actx, 0); + +#.FN_BODY RACH-ConfigCommon/preambleInfo/numberOfRA-Preambles VAL_PTR=&value + guint value; +%(DEFAULT_BODY)s + /* This is mandatory, store value */ + private_data_set_ra_preambles(actx, value); + +#.FN_BODY RACH-ConfigCommon/preambleInfo/preamblesGroupAConfig/sizeOfRA-PreamblesGroupA VAL_PTR=&value + guint ra_value, value; +%(DEFAULT_BODY)s + /* Retrived stored value for RA (both Group A & Group B) */ + ra_value = private_data_get_ra_preambles(actx); + if (value > ra_value) { + /* Something is wrong if A has more RAPIDs than A & B combined! */ + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_too_many_group_a_rapids, + "Group A size (%%s) > Total RA size (%%s)!", + val_to_str_const(value, lte_rrc_T_sizeOfRA_PreamblesGroupA_vals, "Unknown"), + val_to_str_const(ra_value, lte_rrc_T_numberOfRA_Preambles_vals, "Unknown")); + + } + /* Tell MAC dissector so that it can say for RAPIDs whether A, B, non-RA */ + set_mac_lte_rapid_ranges((value+1)*4, (ra_value+1)*4); + /* Reset again */ + private_data_set_ra_preambles(actx, 0); + +#.FN_BODY RACH-ConfigCommon-v1250/txFailParams-r12/connEstFailOffset-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dB"); + +#.FN_BODY DRX-Config/setup/onDurationTimer VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + /* Set 'configured' state so that config can be examine once complete! */ + config->configured = TRUE; + config->onDurationTimer = drx_lookup_onDurationTimer(value); + +#.FN_BODY DRX-Config/setup/drx-InactivityTimer VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->inactivityTimer = drx_lookup_inactivityTimer(value); + +#.FN_BODY DRX-Config/setup/drx-RetransmissionTimer VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->retransmissionTimer = drx_lookup_retransmissionTimer(value); + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->longCycle = drx_lookup_longCycle(value); + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf10 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf20 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf32 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf40 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf64 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf80 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf128 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf160 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf256 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf320 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf512 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf640 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1024 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1280 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2048 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2560 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config/setup/shortDRX/shortDRX-Cycle VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->shortCycleConfigured = TRUE; + config->shortCycle = drx_lookup_shortCycle(value); + +#.FN_BODY DRX-Config/setup/shortDRX/drxShortCycleTimer VAL_PTR=&timer + guint32 timer; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->shortCycleTimer = timer; + +#.FN_FTR DRX-Config/setup/shortDRX/drxShortCycleTimer + proto_item_append_text(actx->created_item, " shortDRX-Cycle%s", plurality(timer, "", "s")); + +#.FN_BODY DRX-Config-v1130/drx-RetransmissionTimer-v1130 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->retransmissionTimer = 0; + +#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->longCycle = drx_lookup_longCycle_v1130(value); + +#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf60-v1130 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config-v1130/longDRX-CycleStartOffset-v1130/sf70-v1130 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + config->cycleOffset = value; + +#.FN_BODY DRX-Config-v1130/shortDRX-Cycle-v1130 VAL_PTR=&value + guint32 value; + drx_config_t* config = private_data_get_drx_config(actx); +%(DEFAULT_BODY)s + /* Presumably config->shortCycleConfigured will be set... */ + config->shortCycle = 4; + +#.FN_BODY DRX-Config/release + mac_lte_info* p_mac_lte_info; +%(DEFAULT_BODY)s + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* If found, tell MAC to release DRX config */ + set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo); + } + +#.FN_BODY RRCConnectionSetup + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + if (p_mac_lte_info != NULL) { + /* If found, tell MAC to release DRX config coming from a previous RRC connection */ + /* We do release the configuration here instead of RRC Connection Release message */ + /* as the UE could have locally dropped the previous RRC Connection */ + set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo); + /* Also tell MAC to release extended BSR sizes configuration */ + set_mac_lte_extended_bsr_sizes(p_mac_lte_info->ueid, FALSE, actx->pinfo); + /* Also tell MAC to release simutaneous PUCCH/PUSCH configuration */ + set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PCELL, FALSE, actx->pinfo); + set_mac_lte_simult_pucch_pusch(p_mac_lte_info->ueid, SIMULT_PUCCH_PUSCH_PSCELL, FALSE, actx->pinfo); + /* TODO: also release PDCP security config here */ + } +%(DEFAULT_BODY)s + + +#.FN_BODY SecurityAlgorithmConfig + pdcp_lte_info *p_pdcp_lte_info; + pdcp_security_info_t *p_security_algorithms; +%(DEFAULT_BODY)s + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->configuration_frame = actx->pinfo->num; + p_security_algorithms->previous_configuration_frame = 0; + p_security_algorithms->previous_integrity = eia0; + p_security_algorithms->previous_ciphering = eea0; + + /* Look for UE identifier */ + p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0); + if (p_pdcp_lte_info != NULL) { + /* Configure algorithms */ + set_pdcp_lte_security_algorithms(p_pdcp_lte_info->ueid, p_security_algorithms); + } + +#.FN_BODY CipheringAlgorithm-r12 VAL_PTR=&value + guint32 value; + pdcp_security_info_t *p_security_algorithms; +%(DEFAULT_BODY)s + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->ciphering = (enum security_ciphering_algorithm_e)value; + +#.FN_BODY SecurityAlgorithmConfig/integrityProtAlgorithm VAL_PTR=&value + guint32 value; + pdcp_security_info_t *p_security_algorithms; +%(DEFAULT_BODY)s + p_security_algorithms = private_data_pdcp_security_algorithms(actx); + p_security_algorithms->integrity = (enum security_integrity_algorithm_e)value; + +#.FN_BODY SchedulingRequestConfig/setup/sr-ConfigIndex VAL_PTR=&value + guint32 value; + guint16 periodicity, subframe_offset; + proto_item *ti; + proto_tree *subtree; + gint index_offset = offset; +%(DEFAULT_BODY)s + /* Break config index into its parts */ + sr_lookup_configindex(value, &periodicity, &subframe_offset); + /* Show parts as generated fields */ + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_sr_ConfigIndex); + ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_periodicity, tvb, index_offset>>3, 1, periodicity); + PROTO_ITEM_SET_GENERATED(ti); + ti = proto_tree_add_uint(subtree, hf_lte_rrc_sr_config_subframe_offset, tvb, index_offset>>3, 1, subframe_offset); + PROTO_ITEM_SET_GENERATED(ti); + + +#.FN_BODY FreqBandIndicator VAL_PTR=&value + guint32 value; +%(DEFAULT_BODY)s + set_freq_band_indicator(value, actx); + +#.FN_FTR BandParameters-r10/bandEUTRA-r10 + remove_last_freq_band_indicator(actx); + +#.FN_BODY InterFreqBandInfo + meas_capabilities_item_band_mappings_t *mappings; + proto_item *it; +%(DEFAULT_BODY)s + mappings = private_data_meas_capabilities_item_band_mappings(actx); + if (mappings->number_of_interfreq_serving_read < mappings->number_of_bands_set) { + guint16 serving_band = mappings->band_by_item[mappings->number_of_interfreq_serving_read]; + guint16 target_band = mappings->band_by_item[mappings->number_of_interfreq_target_read++]; + if (mappings->number_of_interfreq_target_read == mappings->number_of_bands_set) { + mappings->number_of_interfreq_target_read = 0; + mappings->number_of_interfreq_serving_read++; + } + + /* Add a generated item showing serving & target band for this entry */ + it = proto_tree_add_uint(tree, hf_lte_rrc_bandEUTRA, tvb, 0, 0, serving_band); + proto_item_append_text(it, " -> band %%u", target_band); + PROTO_ITEM_SET_GENERATED(it); + } + +#.FN_BODY UE-EUTRA-Capability/measParameters + meas_capabilities_item_band_mappings_t *mappings; +%(DEFAULT_BODY)s + /* Clear band mapping once measParameters IE has been decoded */ + mappings = private_data_meas_capabilities_item_band_mappings(actx); + mappings->number_of_bands_set = 0; + +#.FN_BODY ReleaseCause VAL_PTR=&value + guint32 value; +%(DEFAULT_BODY)s + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " [cause=%%s]", + val_to_str(value, lte_rrc_ReleaseCause_vals, "Unknown")); + +#.FN_BODY VisitedCellInfo-r12/timeSpent-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "s"); + +#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationLow-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, " (BSS load)"); + +#.FN_BODY WLAN-OffloadConfig-r12/thresholdChannelUtilization-r12/thresholdChannelUtilizationHigh-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, " (BSS load)"); + +#.FN_BODY WLAN-backhaulRate-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, " Kbps"); + +#.FN_BODY SL-DiscResourcePool-r12/eag_1/txParamsAddNeighFreq-r13/referenceSignalPower +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.TYPE_ATTR +SL-SysInfoReport-r13/cellSelectionInfo-r13/q-RxLevMinOffset-r13 STRINGS=VALS(lte_rrc_q_RxLevMinOffset_vals) + +#.FN_BODY SL-SysInfoReport-r13/referenceSignalPower-r13 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); + +#.FN_BODY P0-SL-r12 +%(DEFAULT_BODY)s + proto_item_append_text(actx->created_item, "dBm"); diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c new file mode 100644 index 0000000000..539b78c63b --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c @@ -0,0 +1,3769 @@ +/* packet-lte-rrc-template.c + * Routines for Evolved Universal Terrestrial Radio Access (E-UTRA); + * Radio Resource Control (RRC) protocol specification + * (3GPP TS 36.331 V13.0.0 Release 13) packet dissection + * Copyright 2008, Vincent Helfre + * Copyright 2009-2016, Pascal Quantin + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include "config.h" + +#include <stdlib.h> + +#include <epan/packet.h> +#include <epan/to_str.h> +#include <epan/asn1.h> +#include <epan/expert.h> +#include <epan/reassemble.h> +#include <epan/exceptions.h> +#include <epan/show_exception.h> +#include <epan/proto_data.h> + +#include <wsutil/str_util.h> + +#include "packet-per.h" +#include "packet-rrc.h" +#include "packet-gsm_a_common.h" +#include "packet-lpp.h" +#include "packet-gsm_map.h" +#include "packet-cell_broadcast.h" +#include "packet-mac-lte.h" +#include "packet-rlc-lte.h" +#include "packet-pdcp-lte.h" +#include "packet-lte-rrc.h" + +#define PNAME "LTE Radio Resource Control (RRC) protocol" +#define PSNAME "LTE RRC" +#define PFNAME "lte_rrc" + +void proto_register_lte_rrc(void); +void proto_reg_handoff_lte_rrc(void); + +static dissector_handle_t nas_eps_handle = NULL; +static dissector_handle_t rrc_irat_ho_to_utran_cmd_handle = NULL; +static dissector_handle_t rrc_sys_info_cont_handle = NULL; +static dissector_handle_t gsm_a_dtap_handle = NULL; +static dissector_handle_t gsm_rlcmac_dl_handle = NULL; + +static GHashTable *lte_rrc_etws_cmas_dcs_hash = NULL; + +/* Keep track of where/how the System Info value has changed */ +static GHashTable *lte_rrc_system_info_value_changed_hash = NULL; +static guint8 system_info_value_current; +static gboolean system_info_value_current_set; + + +extern int proto_mac_lte; +extern int proto_rlc_lte; +extern int proto_pdcp_lte; + + +/* Include constants */ +#include "packet-lte-rrc-val.h" + +/* Initialize the protocol and registered fields */ +static int proto_lte_rrc = -1; + +#include "packet-lte-rrc-hf.c" + +static int hf_lte_rrc_eutra_cap_feat_group_ind_1 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_2 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_3 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_4 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_5 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_6 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_7 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_8 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_9 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_10 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_11 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_12 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_13 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_14 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_15 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_16 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_17 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_18 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_19 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_20 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_21 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_22 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_23 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_24 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_25 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_26 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_27 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_28 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_29 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_30 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_31 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_32 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_33 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_34 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_35 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_36 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_37 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_38 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_39 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_40 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_41 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_42 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_43 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_44 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_45 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_46 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_47 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_48 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_49 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_50 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_51 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_52 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_53 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_54 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_55 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_56 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_57 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_58 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_59 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_60 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_61 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_62 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_63 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_64 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_101 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_102 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_103 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_104 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_105 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_106 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_107 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_108 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_109 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_110 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_111 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_112 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_113 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_114 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_115 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_116 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_117 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_118 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_119 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_120 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_121 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_122 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_123 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_124 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_125 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_126 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_127 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_128 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_129 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_130 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_131 = -1; +static int hf_lte_rrc_eutra_cap_feat_group_ind_132 = -1; +static int hf_lte_rrc_serialNumber_gs = -1; +static int hf_lte_rrc_serialNumber_msg_code = -1; +static int hf_lte_rrc_serialNumber_upd_nb = -1; +static int hf_lte_rrc_warningType_value = -1; +static int hf_lte_rrc_warningType_emergency_user_alert = -1; +static int hf_lte_rrc_warningType_popup = -1; +static int hf_lte_rrc_warningMessageSegment_nb_pages = -1; +static int hf_lte_rrc_warningMessageSegment_decoded_page = -1; +static int hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1 = -1; +static int hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2 = -1; +static int hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1 = -1; +static int hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2 = -1; +static int hf_lte_rrc_codebook_HARQ_ACK_r13_bit1 = -1; +static int hf_lte_rrc_codebook_HARQ_ACK_r13_bit2 = -1; +static int hf_lte_rrc_sr_config_periodicity = -1; +static int hf_lte_rrc_sr_config_subframe_offset = -1; +static int hf_lte_rrc_cdma_time = -1; +static int hf_lte_rrc_utc_time = -1; +static int hf_lte_rrc_local_time = -1; +static int hf_lte_rrc_absolute_time = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm1 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm2 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm3 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm4 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm6 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm8 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm9 = -1; +static int hf_lte_rrc_transmissionModeList_r12_tm10 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30 = -1; +static int hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31 = -1; +static int hf_lte_rrc_sib11_fragments = -1; +static int hf_lte_rrc_sib11_fragment = -1; +static int hf_lte_rrc_sib11_fragment_overlap = -1; +static int hf_lte_rrc_sib11_fragment_overlap_conflict = -1; +static int hf_lte_rrc_sib11_fragment_multiple_tails = -1; +static int hf_lte_rrc_sib11_fragment_too_long_fragment = -1; +static int hf_lte_rrc_sib11_fragment_error = -1; +static int hf_lte_rrc_sib11_fragment_count = -1; +static int hf_lte_rrc_sib11_reassembled_in = -1; +static int hf_lte_rrc_sib11_reassembled_length = -1; +static int hf_lte_rrc_sib11_reassembled_data = -1; +static int hf_lte_rrc_sib12_fragments = -1; +static int hf_lte_rrc_sib12_fragment = -1; +static int hf_lte_rrc_sib12_fragment_overlap = -1; +static int hf_lte_rrc_sib12_fragment_overlap_conflict = -1; +static int hf_lte_rrc_sib12_fragment_multiple_tails = -1; +static int hf_lte_rrc_sib12_fragment_too_long_fragment = -1; +static int hf_lte_rrc_sib12_fragment_error = -1; +static int hf_lte_rrc_sib12_fragment_count = -1; +static int hf_lte_rrc_sib12_reassembled_in = -1; +static int hf_lte_rrc_sib12_reassembled_length = -1; +static int hf_lte_rrc_sib12_reassembled_data = -1; + +/* Initialize the subtree pointers */ +static int ett_lte_rrc = -1; + +#include "packet-lte-rrc-ett.c" + +static gint ett_lte_rrc_featureGroupIndicators = -1; +static gint ett_lte_rrc_featureGroupIndRel9Add = -1; +static gint ett_lte_rrc_featureGroupIndRel10 = -1; +static gint ett_lte_rrc_absTimeInfo = -1; +static gint ett_lte_rrc_nas_SecurityParam = -1; +static gint ett_lte_rrc_targetRAT_MessageContainer = -1; +static gint ett_lte_rrc_siPsiSibContainer = -1; +static gint ett_lte_rrc_dedicatedInfoNAS = -1; +static gint ett_lte_rrc_timeInfo = -1; +static gint ett_lte_rrc_serialNumber = -1; +static gint ett_lte_rrc_warningType = -1; +static gint ett_lte_rrc_dataCodingScheme = -1; +static gint ett_lte_rrc_warningMessageSegment = -1; +static gint ett_lte_rrc_interBandTDD_CA_WithDifferentConfig = -1; +static gint ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12 = -1; +static gint ett_lte_rrc_codebook_HARQ_ACK_r13 = -1; +static gint ett_lte_rrc_sr_ConfigIndex = -1; +static gint ett_lte_rrc_transmissionModeList_r12 = -1; +static gint ett_lte_rrc_modifiedMPR_Behavior_r10 = -1; +static gint ett_lte_rrc_sib11_fragment = -1; +static gint ett_lte_rrc_sib11_fragments = -1; +static gint ett_lte_rrc_sib12_fragment = -1; +static gint ett_lte_rrc_sib12_fragments = -1; + +static expert_field ei_lte_rrc_number_pages_le15 = EI_INIT; +static expert_field ei_lte_rrc_si_info_value_changed = EI_INIT; +static expert_field ei_lte_rrc_sibs_changing = EI_INIT; +static expert_field ei_lte_rrc_sibs_changing_edrx = EI_INIT; +static expert_field ei_lte_rrc_earthquake_warning_sys = EI_INIT; +static expert_field ei_lte_rrc_commercial_mobile_alert_sys = EI_INIT; +static expert_field ei_lte_rrc_unexpected_type_value = EI_INIT; +static expert_field ei_lte_rrc_unexpected_length_value = EI_INIT; +static expert_field ei_lte_rrc_too_many_group_a_rapids = EI_INIT; +static expert_field ei_lte_rrc_invalid_drx_config = EI_INIT; + +static reassembly_table lte_rrc_sib11_reassembly_table; +static reassembly_table lte_rrc_sib12_reassembly_table; + +static const fragment_items lte_rrc_sib11_frag_items = { + &ett_lte_rrc_sib11_fragment, + &ett_lte_rrc_sib11_fragments, + &hf_lte_rrc_sib11_fragments, + &hf_lte_rrc_sib11_fragment, + &hf_lte_rrc_sib11_fragment_overlap, + &hf_lte_rrc_sib11_fragment_overlap_conflict, + &hf_lte_rrc_sib11_fragment_multiple_tails, + &hf_lte_rrc_sib11_fragment_too_long_fragment, + &hf_lte_rrc_sib11_fragment_error, + &hf_lte_rrc_sib11_fragment_count, + &hf_lte_rrc_sib11_reassembled_in, + &hf_lte_rrc_sib11_reassembled_length, + &hf_lte_rrc_sib11_reassembled_data, + "SIB11 warning message segments" +}; + +static const fragment_items lte_rrc_sib12_frag_items = { + &ett_lte_rrc_sib12_fragment, + &ett_lte_rrc_sib12_fragments, + &hf_lte_rrc_sib12_fragments, + &hf_lte_rrc_sib12_fragment, + &hf_lte_rrc_sib12_fragment_overlap, + &hf_lte_rrc_sib12_fragment_overlap_conflict, + &hf_lte_rrc_sib12_fragment_multiple_tails, + &hf_lte_rrc_sib12_fragment_too_long_fragment, + &hf_lte_rrc_sib12_fragment_error, + &hf_lte_rrc_sib12_fragment_count, + &hf_lte_rrc_sib12_reassembled_in, + &hf_lte_rrc_sib12_reassembled_length, + &hf_lte_rrc_sib12_reassembled_data, + "SIB12 warning message segments" +}; + +/* Forward declarations */ +static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = { + "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Supported", + "Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_2_val = { + "Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Supported", + "Simultaneous CQI & ACK/NACK on PUCCH (format 2a/2b); Absolute TPC command for PUSCH; Resource alloc type 1 for PDSCH; Periodic CQI/PMI/RI report on PUCCH: Mode 2-0 & 2-1 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_3_val = { + "5bit RLC UM SN; 7bit PDCP SN - Supported", + "5bit RLC UM SN; 7bit PDCP SN - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_4_val = { + "Short DRX cycle - Supported", + "Short DRX cycle - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_5_val = { + "Long DRX cycle; DRX command MAC control element - Supported", + "Long DRX cycle; DRX command MAC control element - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_6_val = { + "Prioritised bit rate - Supported", + "Prioritised bit rate - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_7_val = { + "RLC UM - Supported", + "RLC UM - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_8_val = { + "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Supported", + "EUTRA RRC_CONNECTED to UTRA CELL_DCH PS handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_9_val = { + "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Supported", + "EUTRA RRC_CONNECTED to GERAN GSM_Dedicated handover - Not Supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_10_val = { + "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC - Supported", + "EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order; EUTRA RRC_CONNECTED to GERAN (Packet_) Idle by Cell Change Order with NACC - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_11_val = { + "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Supported", + "EUTRA RRC_CONNECTED to CDMA2000 1xRTT CS Active handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_12_val = { + "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Supported", + "EUTRA RRC_CONNECTED to CDMA2000 HRPD Active handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_13_val = { + "Inter-frequency handover (within FDD or TDD) - Supported", + "Inter-frequency handover (within FDD or TDD) - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_14_val = { + "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Supported", + "Measurement reporting event: Event A4 - Neighbour > threshold; Measurement reporting event: Event A5 - Serving < threshold1 & Neighbour > threshold2 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_15_val = { + "Measurement reporting event: Event B1 - Neighbour > threshold - Supported", + "Measurement reporting event: Event B1 - Neighbour > threshold - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_16_val = { + "non-ANR related periodical measurement reporting - Supported", + "non-ANR related periodical measurement reporting - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_17_val = { + "ANR related intra-frequency measurement reporting events - Supported", + "ANR related intra-frequency measurement reporting events - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_18_val = { + "ANR related inter-frequency measurement reporting events - Supported", + "ANR related inter-frequency measurement reporting events - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_19_val = { + "ANR related inter-RAT measurement reporting events - Supported", + "ANR related inter-RAT measurement reporting events - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_20_val = { + "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported) - Supported", + "SRB1 and SRB2 for DCCH + 8x AM DRB; SRB1 and SRB2 for DCCH + 5x AM DRB + 3x UM DRB (if indicator 7 is supported) - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_21_val = { + "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Supported", + "Predefined intra- and inter-subframe frequency hopping for PUSCH with N_sb > 1; Predefined inter-subframe frequency hopping for PUSCH with N_sb > 1 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_22_val = { + "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported", + "UTRAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_23_val = { + "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported", + "GERAN measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_24_val = { + "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported", + "1xRTT measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_25_val = { + "Inter-frequency measurements and reporting in E-UTRA connected mode - Supported", + "Inter-frequency measurements and reporting in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_26_val = { + "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported", + "HRPD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_27_val = { + "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Supported", + "EUTRA RRC_CONNECTED to UTRA CELL_DCH CS handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_28_val = { + "TTI bundling - Supported", + "TTI bundling - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_29_val = { + "Semi-Persistent Scheduling - Supported", + "Semi-Persistent Scheduling - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_30_val = { + "Handover between FDD and TDD - Supported", + "Handover between FDD and TDD - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_31_val = { + "Mechanisms defined for cells broadcasting multi band information - Supported", + "Mechanisms defined for cells broadcasting multi band information - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_32_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_33_val = { + "Inter-RAT ANR features for UTRAN FDD - Supported", + "Inter-RAT ANR features for UTRAN FDD - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_34_val = { + "Inter-RAT ANR features for GERAN - Supported", + "Inter-RAT ANR features for GERAN - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_35_val = { + "Inter-RAT ANR features for 1xRTT - Supported", + "Inter-RAT ANR features for 1xRTT - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_36_val = { + "Inter-RAT ANR features for HRPD - Supported", + "Inter-RAT ANR features for HRPD - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_37_val = { + "Inter-RAT ANR features for UTRAN TDD - Supported", + "Inter-RAT ANR features for UTRAN TDD - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_38_val = { + "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Supported", + "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH PS handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_39_val = { + "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Supported", + "UTRAN TDD measurements, reporting and measurement reporting event B2 in E-UTRA connected mode - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_40_val = { + "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Supported", + "EUTRA RRC_CONNECTED to UTRA TDD CELL_DCH CS handover - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_41_val = { + "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Supported", + "Measurement reporting event: Event B1 - Neighbour > threshold for UTRAN FDD - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_42_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_43_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_44_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_45_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_46_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_47_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_48_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_49_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_50_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_51_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_52_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_53_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_54_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_55_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_56_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_57_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_58_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_59_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_60_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_61_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_62_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_63_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_64_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_101_val = { + "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Supported", + "DMRS with OCC (orthogonal cover code) and SGH (sequence group hopping) disabling - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_102_val = { + "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Supported", + "Trigger type 1 SRS (aperiodic SRS) transmission (Up to X ports) - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_103_val = { + "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Supported", + "PDSCH TM9 when up to 4 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_104_val = { + "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Supported", + "PDSCH TM9 for TDD when 8 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_105_val = { + "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported", + "PUCCH RM2-0 when PDSCH TM9 is configured and RM2-1 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_106_val = { + "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported", + "PUCCH RM2-1 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_107_val = { + "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Supported", + "PUSCH RM2-0 when PDSCH TM9 is configured and RM2-2 when PDSCH TM9 and up to 4 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_108_val = { + "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Supported", + "PUSCH RM2-2 when PDSCH TM9 and 8 CSI reference signal ports are configured - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_109_val = { + "PUCCH RM1-1 submode 1 - Supported", + "PUCCH RM1-1 submode 1 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_110_val = { + "PUCCH RM1-1 submode 2 - Supported", + "PUCCH RM1-1 submode 2 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_111_val = { + "Measurement reporting trigger Event A6 - Supported", + "Measurement reporting trigger Event A6 - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_112_val = { + "SCell addition within the Handover to EUTRA procedure - Supported", + "SCell addition within the Handover to EUTRA procedure - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_113_val = { + "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Supported", + "Trigger type 0 SRS (periodic SRS) transmission on X Serving Cells - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_114_val = { + "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Supported", + "Reporting of both UTRA CPICH RSCP and Ec/N0 in a Measurement Report - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_115_val = { + "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Supported", + "Time domain ICIC RLM/RRM / ICIC RRM / ICIC CSI measurement sf restriction for the serving cell / neighbour cells - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_116_val = { + "Relative transmit phase continuity for spatial multiplexing in UL - Supported", + "Relative transmit phase continuity for spatial multiplexing in UL - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_117_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_118_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_119_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_120_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_121_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_122_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_123_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_124_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_125_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_126_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_127_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_128_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_129_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_130_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_131_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; +static const true_false_string lte_rrc_eutra_cap_feat_group_ind_132_val = { + "Undefined - Supported", + "Undefined - Not supported" +}; + +static const value_string lte_rrc_q_RxLevMin_vals[] = { + { -70, "-140dBm"}, + { -69, "-138dBm"}, + { -68, "-136dBm"}, + { -67, "-134dBm"}, + { -66, "-132dBm"}, + { -65, "-130dBm"}, + { -64, "-128dBm"}, + { -63, "-126dBm"}, + { -62, "-124dBm"}, + { -61, "-122dBm"}, + { -60, "-120dBm"}, + { -59, "-118dBm"}, + { -58, "-116dBm"}, + { -57, "-114dBm"}, + { -56, "-112dBm"}, + { -55, "-110dBm"}, + { -54, "-108dBm"}, + { -53, "-106dBm"}, + { -52, "-104dBm"}, + { -51, "-102dBm"}, + { -50, "-100dBm"}, + { -49, "-98dBm"}, + { -48, "-96dBm"}, + { -47, "-94dBm"}, + { -46, "-92dBm"}, + { -45, "-90dBm"}, + { -44, "-88dBm"}, + { -43, "-86dBm"}, + { -42, "-84dBm"}, + { -41, "-82dBm"}, + { -40, "-80dBm"}, + { -39, "-78dBm"}, + { -38, "-76dBm"}, + { -37, "-74dBm"}, + { -36, "-72dBm"}, + { -35, "-70dBm"}, + { -34, "-68dBm"}, + { -33, "-66dBm"}, + { -32, "-64dBm"}, + { -31, "-62dBm"}, + { -30, "-60dBm"}, + { -29, "-58dBm"}, + { -28, "-56dBm"}, + { -27, "-54dBm"}, + { -26, "-52dBm"}, + { -25, "-50dBm"}, + { -24, "-48dBm"}, + { -23, "-46dBm"}, + { -22, "-44dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_q_RxLevMin_vals); + +static const value_string lte_rrc_q_RxLevMinOffset_vals[] = { + { 1, "2dB"}, + { 2, "4dB"}, + { 3, "6dB"}, + { 4, "8dB"}, + { 5, "10dB"}, + { 6, "12dB"}, + { 7, "14dB"}, + { 8, "16dB"}, + { 0, NULL} +}; + +static void +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%"}, + { 2, "0.123% <= BLER < 0.151%"}, + { 3, "0.151% <= BLER < 0.186%"}, + { 4, "0.186% <= BLER < 0.229%"}, + { 5, "0.229% <= BLER < 0.282%"}, + { 6, "0.282% <= BLER < 0.347%"}, + { 7, "0.347% <= BLER < 0.426%"}, + { 8, "0.426% <= BLER < 0.525%"}, + { 9, "0.525% <= BLER < 0.645%"}, + { 10, "0.645% <= BLER < 0.794%"}, + { 11, "0.794% <= BLER < 0.976%"}, + { 12, "0.976% <= BLER < 1.201%"}, + { 13, "1.201% <= BLER < 1.478%"}, + { 14, "1.478% <= BLER < 1.818%"}, + { 15, "1.818% <= BLER < 2.236%"}, + { 16, "2.236% <= BLER < 2.751%"}, + { 17, "2.751% <= BLER < 3.384%"}, + { 18, "3.384% <= BLER < 4.163%"}, + { 19, "4.163% <= BLER < 5.121%"}, + { 20, "5.121% <= BLER < 6.300%"}, + { 21, "6.300% <= BLER < 7.750%"}, + { 22, "7.750% <= BLER < 9.533%"}, + { 23, "9.533% <= BLER < 11.728%"}, + { 24, "11.728% <= BLER < 14.427%"}, + { 25, "14.427% <= BLER < 17.478%"}, + { 26, "17.478% <= BLER < 21.833%"}, + { 27, "21.833% <= BLER < 26.858%"}, + { 28, "26.858% <= BLER < 33.040%"}, + { 29, "33.040% <= BLER < 40.645%"}, + { 30, "40.645% <= BLER < 50%"}, + { 31, "50% <= BLER"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_BLER_Range_r12_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_BLER_Range_r12_vals); + +static const value_string lte_rrc_utra_q_RxLevMin_vals[] = { + { -60, "-119dBm"}, + { -59, "-117dBm"}, + { -58, "-115dBm"}, + { -57, "-113dBm"}, + { -56, "-111dBm"}, + { -55, "-109dBm"}, + { -54, "-107dBm"}, + { -53, "-105dBm"}, + { -52, "-103dBm"}, + { -51, "-101dBm"}, + { -50, "-99dBm"}, + { -49, "-97dBm"}, + { -48, "-95dBm"}, + { -47, "-93dBm"}, + { -46, "-91dBm"}, + { -45, "-89dBm"}, + { -44, "-87dBm"}, + { -43, "-85dBm"}, + { -42, "-83dBm"}, + { -41, "-81dBm"}, + { -40, "-79dBm"}, + { -39, "-77dBm"}, + { -38, "-75dBm"}, + { -37, "-73dBm"}, + { -36, "-71dBm"}, + { -35, "-69dBm"}, + { -34, "-67dBm"}, + { -33, "-65dBm"}, + { -32, "-63dBm"}, + { -31, "-61dBm"}, + { -30, "-59dBm"}, + { -29, "-57dBm"}, + { -28, "-55dBm"}, + { -27, "-53dBm"}, + { -26, "-51dBm"}, + { -25, "-49dBm"}, + { -24, "-47dBm"}, + { -23, "-45dBm"}, + { -22, "-43dBm"}, + { -21, "-41dBm"}, + { -20, "-39dBm"}, + { -19, "-37dBm"}, + { -18, "-35dBm"}, + { -17, "-33dBm"}, + { -16, "-31dBm"}, + { -15, "-29dBm"}, + { -14, "-27dBm"}, + { -13, "-25dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_utra_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_q_RxLevMin_vals); + +static const value_string lte_rrc_geran_q_RxLevMin_vals[] = { + { 0 , "-115dBm"}, + { 1 , "-113dBm"}, + { 2 , "-111dBm"}, + { 3 , "-109dBm"}, + { 4 , "-107dBm"}, + { 5 , "-105dBm"}, + { 6 , "-103dBm"}, + { 7 , "-101dBm"}, + { 8 , "-99dBm"}, + { 9 , "-97dBm"}, + { 10, "-95dBm"}, + { 11, "-93dBm"}, + { 12, "-91dBm"}, + { 13, "-89dBm"}, + { 14, "-87dBm"}, + { 15, "-85dBm"}, + { 16, "-83dBm"}, + { 17, "-81dBm"}, + { 18, "-79dBm"}, + { 19, "-77dBm"}, + { 20, "-75dBm"}, + { 21, "-73dBm"}, + { 22, "-71dBm"}, + { 23, "-69dBm"}, + { 24, "-67dBm"}, + { 25, "-65dBm"}, + { 26, "-63dBm"}, + { 27, "-61dBm"}, + { 28, "-59dBm"}, + { 29, "-57dBm"}, + { 30, "-55dBm"}, + { 31, "-53dBm"}, + { 32, "-51dBm"}, + { 33, "-49dBm"}, + { 34, "-47dBm"}, + { 35, "-45dBm"}, + { 36, "-43dBm"}, + { 37, "-41dBm"}, + { 38, "-39dBm"}, + { 39, "-37dBm"}, + { 40, "-35dBm"}, + { 41, "-33dBm"}, + { 42, "-31dBm"}, + { 43, "-29dBm"}, + { 44, "-27dBm"}, + { 45, "-25dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_geran_q_RxLevMin_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_geran_q_RxLevMin_vals); + +static const value_string lte_rrc_nomPDSCH_RS_EPRE_Offset_vals[] = { + { -1, "-2dB"}, + { 0, "0dB"}, + { 1, "2dB"}, + { 2, "4dB"}, + { 3, "6dB"}, + { 4, "8dB"}, + { 5, "10dB"}, + { 6, "12dB"}, + { 0, NULL} +}; + +static const value_string lte_rrc_deltaPreambleMsg3_vals[] = { + { -1, "-2dB"}, + { 0, "0dB"}, + { 1, "2dB"}, + { 2, "4dB"}, + { 3, "6dB"}, + { 4, "8dB"}, + { 5, "10dB"}, + { 6, "12dB"}, + { 0, NULL} +}; + +static const value_string lte_rrc_ReselectionThreshold_vals[] = { + { 0 , "0dB"}, + { 1 , "2dB"}, + { 2 , "4dB"}, + { 3 , "6dB"}, + { 4 , "8dB"}, + { 5 , "10dB"}, + { 6 , "12dB"}, + { 7 , "14dB"}, + { 8 , "16dB"}, + { 9 , "18dB"}, + { 10, "20dB"}, + { 11, "22dB"}, + { 12, "24dB"}, + { 13, "26dB"}, + { 14, "28dB"}, + { 15, "30dB"}, + { 16, "32dB"}, + { 17, "34dB"}, + { 18, "36dB"}, + { 19, "38dB"}, + { 20, "40dB"}, + { 21, "42dB"}, + { 22, "44dB"}, + { 23, "46dB"}, + { 24, "48dB"}, + { 25, "50dB"}, + { 26, "52dB"}, + { 27, "54dB"}, + { 28, "56dB"}, + { 29, "58dB"}, + { 30, "60dB"}, + { 31, "62dB"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_ReselectionThreshold_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_ReselectionThreshold_vals); + +static const value_string lte_rrc_Hysteresis_vals[] = { + { 0 , "0dB"}, + { 1 , "0.5dB"}, + { 2 , "1dB"}, + { 3 , "1.5dB"}, + { 4 , "2dB"}, + { 5 , "2.5dB"}, + { 6 , "3dB"}, + { 7 , "3.5dB"}, + { 8 , "4dB"}, + { 9 , "4.5dB"}, + { 10, "5dB"}, + { 11, "5.5dB"}, + { 12, "6dB"}, + { 13, "6.5dB"}, + { 14, "7dB"}, + { 15, "7.5dB"}, + { 16, "8dB"}, + { 17, "8.5dB"}, + { 18, "9dB"}, + { 19, "9.5dB"}, + { 20, "10dB"}, + { 21, "10.5dB"}, + { 22, "11dB"}, + { 23, "11.5dB"}, + { 24, "12dB"}, + { 25, "12.5dB"}, + { 26, "13dB"}, + { 27, "13.5dB"}, + { 28, "14dB"}, + { 29, "14.5dB"}, + { 30, "15dB"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_Hysteresis_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_Hysteresis_vals); + +static const value_string lte_rrc_s_Measure_vals[] = { + { 0, "disabled"}, + { 1, "-139dBm"}, + { 2, "-138dBm"}, + { 3, "-137dBm"}, + { 4, "-136dBm"}, + { 5, "-135dBm"}, + { 6, "-134dBm"}, + { 7, "-133dBm"}, + { 8, "-132dBm"}, + { 9, "-131dBm"}, + { 10, "-130dBm"}, + { 11, "-129dBm"}, + { 12, "-128dBm"}, + { 13, "-127dBm"}, + { 14, "-126dBm"}, + { 15, "-125dBm"}, + { 16, "-124dBm"}, + { 17, "-123dBm"}, + { 18, "-122dBm"}, + { 19, "-121dBm"}, + { 20, "-120dBm"}, + { 21, "-119dBm"}, + { 22, "-118dBm"}, + { 23, "-117dBm"}, + { 24, "-116dBm"}, + { 25, "-115dBm"}, + { 26, "-114dBm"}, + { 27, "-113dBm"}, + { 28, "-112dBm"}, + { 29, "-111dBm"}, + { 30, "-110dBm"}, + { 31, "-109dBm"}, + { 32, "-108dBm"}, + { 33, "-107dBm"}, + { 34, "-106dBm"}, + { 35, "-105dBm"}, + { 36, "-104dBm"}, + { 37, "-103dBm"}, + { 38, "-102dBm"}, + { 39, "-101dBm"}, + { 40, "-100dBm"}, + { 41, "-99dBm"}, + { 42, "-98dBm"}, + { 43, "-97dBm"}, + { 44, "-96dBm"}, + { 45, "-95dBm"}, + { 46, "-94dBm"}, + { 47, "-93dBm"}, + { 48, "-92dBm"}, + { 49, "-91dBm"}, + { 50, "-90dBm"}, + { 51, "-89dBm"}, + { 52, "-88dBm"}, + { 53, "-87dBm"}, + { 54, "-86dBm"}, + { 55, "-85dBm"}, + { 56, "-84dBm"}, + { 57, "-83dBm"}, + { 58, "-82dBm"}, + { 59, "-81dBm"}, + { 60, "-80dBm"}, + { 61, "-79dBm"}, + { 62, "-78dBm"}, + { 63, "-77dBm"}, + { 64, "-76dBm"}, + { 65, "-75dBm"}, + { 66, "-74dBm"}, + { 67, "-73dBm"}, + { 68, "-72dBm"}, + { 69, "-71dBm"}, + { 70, "-70dBm"}, + { 71, "-69dBm"}, + { 72, "-68dBm"}, + { 73, "-67dBm"}, + { 74, "-66dBm"}, + { 75, "-65dBm"}, + { 76, "-64dBm"}, + { 77, "-63dBm"}, + { 78, "-62dBm"}, + { 79, "-61dBm"}, + { 80, "-60dBm"}, + { 81, "-59dBm"}, + { 82, "-58dBm"}, + { 83, "-57dBm"}, + { 84, "-56dBm"}, + { 85, "-55dBm"}, + { 86, "-54dBm"}, + { 87, "-53dBm"}, + { 88, "-52dBm"}, + { 89, "-51dBm"}, + { 90, "-50dBm"}, + { 91, "-49dBm"}, + { 92, "-48dBm"}, + { 93, "-47dBm"}, + { 94, "-46dBm"}, + { 95, "-45dBm"}, + { 96, "-44dBm"}, + { 97, "-43dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_s_Measure_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_s_Measure_vals); + +static const value_string lte_rrc_utra_EcN0_vals[] = { + { 0 , "CPICH Ec/Io < -24dB"}, + { 1 , "-24dB <= CPICH Ec/Io < -23.5dB"}, + { 2 , "-23.5dB <= CPICH Ec/Io < -23dB"}, + { 3 , "-23dB <= CPICH Ec/Io < -22.5dB"}, + { 4 , "-22.5dB <= CPICH Ec/Io < -22dB"}, + { 5 , "-22dB <= CPICH Ec/Io < -21.5dB"}, + { 6 , "-21.5dB <= CPICH Ec/Io < -21dB"}, + { 7 , "-21dB <= CPICH Ec/Io < -20.5dB"}, + { 8 , "-20.5dB <= CPICH Ec/Io < -20dB"}, + { 9 , "-20dB <= CPICH Ec/Io < -19.5dB"}, + { 10, "-19.5dB <= CPICH Ec/Io < -19dB"}, + { 11, "-19dB <= CPICH Ec/Io < -18.5dB"}, + { 12, "-18.5dB <= CPICH Ec/Io < -18dB"}, + { 13, "-18dB <= CPICH Ec/Io < -17.5dB"}, + { 14, "-17.5dB <= CPICH Ec/Io < -17dB"}, + { 15, "-17dB <= CPICH Ec/Io < -16.5dB"}, + { 16, "-16.5dB <= CPICH Ec/Io < -16dB"}, + { 17, "-16dB <= CPICH Ec/Io < -15.5dB"}, + { 18, "-15.5dB <= CPICH Ec/Io < -15dB"}, + { 19, "-15dB <= CPICH Ec/Io < -14.5dB"}, + { 20, "-14.5dB <= CPICH Ec/Io < -14dB"}, + { 21, "-14dB <= CPICH Ec/Io < -13.5dB"}, + { 22, "-13.5dB <= CPICH Ec/Io < -13dB"}, + { 23, "-13dB <= CPICH Ec/Io < -12.5dB"}, + { 24, "-12.5dB <= CPICH Ec/Io < -12dB"}, + { 25, "-12dB <= CPICH Ec/Io < -11.5dB"}, + { 26, "-11.5dB <= CPICH Ec/Io < -11dB"}, + { 27, "-11dB <= CPICH Ec/Io < -10.5dB"}, + { 28, "-10.5dB <= CPICH Ec/Io < -10dB"}, + { 29, "-10dB <= CPICH Ec/Io < -9.5dB"}, + { 30, "-9.5dB <= CPICH Ec/Io < -9dB"}, + { 31, "-9dB <= CPICH Ec/Io < -8.5dB"}, + { 32, "-8.5dB <= CPICH Ec/Io < -8dB"}, + { 33, "-8dB <= CPICH Ec/Io < -7.5dB"}, + { 34, "-7.5dB <= CPICH Ec/Io < -7dB"}, + { 35, "-7dB <= CPICH Ec/Io < -6.5dB"}, + { 36, "-6.5dB <= CPICH Ec/Io < -6dB"}, + { 37, "-6dB <= CPICH Ec/Io < -5.5dB"}, + { 38, "-5.5dB <= CPICH Ec/Io < -5dB"}, + { 39, "-5dB <= CPICH Ec/Io < -4.5dB"}, + { 40, "-4.5dB <= CPICH Ec/Io < -4dB"}, + { 41, "-4dB <= CPICH Ec/Io < -3.5dB"}, + { 42, "-3.5dB <= CPICH Ec/Io < -3dB"}, + { 43, "-3dB <= CPICH Ec/Io < -2.5dB"}, + { 44, "-2.5dB <= CPICH Ec/Io < -2dB"}, + { 45, "-2dB <= CPICH Ec/Io < -1.5dB"}, + { 46, "-1.5dB <= CPICH Ec/Io < -1dB"}, + { 47, "-1dB <= CPICH Ec/Io < -0.5dB"}, + { 48, "-0.5dB <= CPICH Ec/Io < 0dB"}, + { 49, "0dB <= CPICH Ec/Io"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_utra_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_EcN0_vals); + +static const value_string lte_rrc_utra_RSCP_vals[] = { + { -5, "RSCP < -120dBm"}, + { -4, "-120dBm <= RSCP < -119dBm"}, + { -3, "-119dBm <= RSCP < -118dBm"}, + { -2, "-118dBm <= RSCP < -117dBm"}, + { -1, "-117dBm <= RSCP < -116dBm"}, + { 0, "-116dBm <= RSCP < -115dBm"}, + { 1, "-115dBm <= RSCP < -114dBm"}, + { 2, "-114dBm <= RSCP < -113dBm"}, + { 3, "-113dBm <= RSCP < -112dBm"}, + { 4, "-112dBm <= RSCP < -111dBm"}, + { 5, "-111dBm <= RSCP < -110dBm"}, + { 6, "-110dBm <= RSCP < -109dBm"}, + { 7, "-109dBm <= RSCP < -108dBm"}, + { 8, "-108dBm <= RSCP < -107dBm"}, + { 9, "-107dBm <= RSCP < -106dBm"}, + { 10, "-106dBm <= RSCP < -105dBm"}, + { 11, "-105dBm <= RSCP < -104dBm"}, + { 12, "-104dBm <= RSCP < -103dBm"}, + { 13, "-103dBm <= RSCP < -102dBm"}, + { 14, "-102dBm <= RSCP < -101dBm"}, + { 15, "-101dBm <= RSCP < -100dBm"}, + { 16, "-100dBm <= RSCP < -99dBm"}, + { 17, "-99dBm <= RSCP < -98dBm"}, + { 18, "-98dBm <= RSCP < -97dBm"}, + { 19, "-97dBm <= RSCP < -96dBm"}, + { 20, "-96dBm <= RSCP < -95dBm"}, + { 21, "-95dBm <= RSCP < -94dBm"}, + { 22, "-94dBm <= RSCP < -93dBm"}, + { 23, "-93dBm <= RSCP < -92dBm"}, + { 24, "-92dBm <= RSCP < -91dBm"}, + { 25, "-91dBm <= RSCP < -90dBm"}, + { 26, "-90dBm <= RSCP < -89dBm"}, + { 27, "-89dBm <= RSCP < -88dBm"}, + { 28, "-88dBm <= RSCP < -87dBm"}, + { 29, "-87dBm <= RSCP < -86dBm"}, + { 30, "-86dBm <= RSCP < -85dBm"}, + { 31, "-85dBm <= RSCP < -84dBm"}, + { 32, "-84dBm <= RSCP < -83dBm"}, + { 33, "-83dBm <= RSCP < -82dBm"}, + { 34, "-82dBm <= RSCP < -81dBm"}, + { 35, "-81dBm <= RSCP < -80dBm"}, + { 36, "-80dBm <= RSCP < -79dBm"}, + { 37, "-79dBm <= RSCP < -78dBm"}, + { 38, "-78dBm <= RSCP < -77dBm"}, + { 39, "-77dBm <= RSCP < -76dBm"}, + { 40, "-76dBm <= RSCP < -75dBm"}, + { 41, "-75dBm <= RSCP < -74dBm"}, + { 42, "-74dBm <= RSCP < -73dBm"}, + { 43, "-73dBm <= RSCP < -72dBm"}, + { 44, "-72dBm <= RSCP < -71dBm"}, + { 45, "-71dBm <= RSCP < -70dBm"}, + { 46, "-70dBm <= RSCP < -69dBm"}, + { 47, "-69dBm <= RSCP < -68dBm"}, + { 48, "-68dBm <= RSCP < -67dBm"}, + { 49, "-67dBm <= RSCP < -66dBm"}, + { 50, "-66dBm <= RSCP < -65dBm"}, + { 51, "-65dBm <= RSCP < -64dBm"}, + { 52, "-64dBm <= RSCP < -63dBm"}, + { 53, "-63dBm <= RSCP < -62dBm"}, + { 54, "-62dBm <= RSCP < -61dBm"}, + { 55, "-61dBm <= RSCP < -60dBm"}, + { 56, "-60dBm <= RSCP < -59dBm"}, + { 57, "-59dBm <= RSCP < -58dBm"}, + { 58, "-58dBm <= RSCP < -57dBm"}, + { 59, "-57dBm <= RSCP < -56dBm"}, + { 60, "-56dBm <= RSCP < -55dBm"}, + { 61, "-55dBm <= RSCP < -54dBm"}, + { 62, "-54dBm <= RSCP < -53dBm"}, + { 63, "-53dBm <= RSCP < -52dBm"}, + { 64, "-52dBm <= RSCP < -51dBm"}, + { 65, "-51dBm <= RSCP < -50dBm"}, + { 66, "-50dBm <= RSCP < -49dBm"}, + { 67, "-49dBm <= RSCP < -48dBm"}, + { 68, "-48dBm <= RSCP < -47dBm"}, + { 69, "-47dBm <= RSCP < -46dBm"}, + { 70, "-46dBm <= RSCP < -45dBm"}, + { 71, "-45dBm <= RSCP < -44dBm"}, + { 72, "-44dBm <= RSCP < -43dBm"}, + { 73, "-43dBm <= RSCP < -42dBm"}, + { 74, "-42dBm <= RSCP < -41dBm"}, + { 75, "-41dBm <= RSCP < -40dBm"}, + { 76, "-40dBm <= RSCP < -39dBm"}, + { 77, "-39dBm <= RSCP < -38dBm"}, + { 78, "-38dBm <= RSCP < -37dBm"}, + { 79, "-37dBm <= RSCP < -36dBm"}, + { 80, "-36dBm <= RSCP < -35dBm"}, + { 81, "-35dBm <= RSCP < -34dBm"}, + { 82, "-34dBm <= RSCP < -33dBm"}, + { 83, "-33dBm <= RSCP < -32dBm"}, + { 84, "-32dBm <= RSCP < -31dBm"}, + { 85, "-31dBm <= RSCP < -30dBm"}, + { 86, "-30dBm <= RSCP < -29dBm"}, + { 87, "-29dBm <= RSCP < -28dBm"}, + { 88, "-28dBm <= RSCP < -27dBm"}, + { 89, "-27dBm <= RSCP < -26dBm"}, + { 90, "-26dBm <= RSCP < -25dBm"}, + { 91, "-25dBm <= RSCP"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_utra_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_utra_RSCP_vals); + +static const value_string lte_rrc_a3_a6_c2_Offset_vals[] = { + { -30, "-15dB"}, + { -29, "-14.5dB"}, + { -28, "-14dB"}, + { -27, "-13.5dB"}, + { -26, "-13dB"}, + { -25, "-12.5dB"}, + { -24, "-12dB"}, + { -23, "-11.5dB"}, + { -22, "-11dB"}, + { -21, "-10.5dB"}, + { -20, "-10dB"}, + { -19, "-9.5dB"}, + { -18, "-9dB"}, + { -17, "-8.5dB"}, + { -16, "-8dB"}, + { -15, "-7.5dB"}, + { -14, "-7dB"}, + { -13, "-6.5dB"}, + { -12, "-6dB"}, + { -11, "-5.5dB"}, + { -10, "-5dB"}, + { -9, "-4.5dB"}, + { -8, "-4dB"}, + { -7, "-3.5dB"}, + { -6, "-3dB"}, + { -5, "-2.5dB"}, + { -4, "-2dB"}, + { -3, "-1.5dB"}, + { -2, "-1dB"}, + { -1, "-0.5dB"}, + { 0, "0dB"}, + { 1, "0.5dB"}, + { 2, "1dB"}, + { 3, "1.5dB"}, + { 4, "2dB"}, + { 5, "2.5dB"}, + { 6, "3dB"}, + { 7, "3.5dB"}, + { 8, "4dB"}, + { 9, "4.5dB"}, + { 10, "5dB"}, + { 11, "5.5dB"}, + { 12, "6dB"}, + { 13, "6.5dB"}, + { 14, "7dB"}, + { 15, "7.5dB"}, + { 16, "8dB"}, + { 17, "8.5dB"}, + { 18, "9dB"}, + { 19, "9.5dB"}, + { 20, "10dB"}, + { 21, "10.5dB"}, + { 22, "11dB"}, + { 23, "11.5dB"}, + { 24, "12dB"}, + { 25, "12.5dB"}, + { 26, "13dB"}, + { 27, "13.5dB"}, + { 28, "14dB"}, + { 29, "14.5dB"}, + { 30, "15dB"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_a3_a6_c2_Offset_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_a3_a6_c2_Offset_vals); + +static const value_string lte_rrc_threshold_RSRP_vals[] = { + { 0, "-140dBm"}, + { 1, "-139dBm"}, + { 2, "-138dBm"}, + { 3, "-137dBm"}, + { 4, "-136dBm"}, + { 5, "-135dBm"}, + { 6, "-134dBm"}, + { 7, "-133dBm"}, + { 8, "-132dBm"}, + { 9, "-131dBm"}, + { 10, "-130dBm"}, + { 11, "-129dBm"}, + { 12, "-128dBm"}, + { 13, "-127dBm"}, + { 14, "-126dBm"}, + { 15, "-125dBm"}, + { 16, "-124dBm"}, + { 17, "-123dBm"}, + { 18, "-122dBm"}, + { 19, "-121dBm"}, + { 20, "-120dBm"}, + { 21, "-119dBm"}, + { 22, "-118dBm"}, + { 23, "-117dBm"}, + { 24, "-116dBm"}, + { 25, "-115dBm"}, + { 26, "-114dBm"}, + { 27, "-113dBm"}, + { 28, "-112dBm"}, + { 29, "-111dBm"}, + { 30, "-110dBm"}, + { 31, "-109dBm"}, + { 32, "-108dBm"}, + { 33, "-107dBm"}, + { 34, "-106dBm"}, + { 35, "-105dBm"}, + { 36, "-104dBm"}, + { 37, "-103dBm"}, + { 38, "-102dBm"}, + { 39, "-101dBm"}, + { 40, "-100dBm"}, + { 41, "-99dBm"}, + { 42, "-98dBm"}, + { 43, "-97dBm"}, + { 44, "-96dBm"}, + { 45, "-95dBm"}, + { 46, "-94dBm"}, + { 47, "-93dBm"}, + { 48, "-92dBm"}, + { 49, "-91dBm"}, + { 50, "-90dBm"}, + { 51, "-89dBm"}, + { 52, "-88dBm"}, + { 53, "-87dBm"}, + { 54, "-86dBm"}, + { 55, "-85dBm"}, + { 56, "-84dBm"}, + { 57, "-83dBm"}, + { 58, "-82dBm"}, + { 59, "-81dBm"}, + { 60, "-80dBm"}, + { 61, "-79dBm"}, + { 62, "-78dBm"}, + { 63, "-77dBm"}, + { 64, "-76dBm"}, + { 65, "-75dBm"}, + { 66, "-74dBm"}, + { 67, "-73dBm"}, + { 68, "-72dBm"}, + { 69, "-71dBm"}, + { 70, "-70dBm"}, + { 71, "-69dBm"}, + { 72, "-68dBm"}, + { 73, "-67dBm"}, + { 74, "-66dBm"}, + { 75, "-65dBm"}, + { 76, "-64dBm"}, + { 77, "-63dBm"}, + { 78, "-62dBm"}, + { 79, "-61dBm"}, + { 80, "-60dBm"}, + { 81, "-59dBm"}, + { 82, "-58dBm"}, + { 83, "-57dBm"}, + { 84, "-56dBm"}, + { 85, "-55dBm"}, + { 86, "-54dBm"}, + { 87, "-53dBm"}, + { 88, "-52dBm"}, + { 89, "-51dBm"}, + { 90, "-50dBm"}, + { 91, "-49dBm"}, + { 92, "-48dBm"}, + { 93, "-47dBm"}, + { 94, "-46dBm"}, + { 95, "-45dBm"}, + { 96, "-44dBm"}, + { 97, "-43dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_threshold_RSRP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRP_vals); + +static const value_string lte_rrc_threshold_RSRQ_vals[] = { + { 0, "-20dB"}, + { 1, "-19.5dB"}, + { 2, "-19dB"}, + { 3, "-18.5dB"}, + { 4, "-18dB"}, + { 5, "-17.5dB"}, + { 6, "-17dB"}, + { 7, "-16.5dB"}, + { 8, "-16dB"}, + { 9, "-15.5dB"}, + { 10, "-15dB"}, + { 11, "-14.5dB"}, + { 12, "-14dB"}, + { 13, "-13.5dB"}, + { 14, "-13dB"}, + { 15, "-12.5dB"}, + { 16, "-12dB"}, + { 17, "-11.5dB"}, + { 18, "-11dB"}, + { 19, "-10.5dB"}, + { 20, "-10dB"}, + { 21, "-9.5dB"}, + { 22, "-9dB"}, + { 23, "-8.5dB"}, + { 24, "-8dB"}, + { 25, "-7.5dB"}, + { 26, "-7dB"}, + { 27, "-6.5dB"}, + { 28, "-6dB"}, + { 29, "-5.5dB"}, + { 30, "-5dB"}, + { 31, "-4.5dB"}, + { 32, "-4dB"}, + { 33, "-3.5dB"}, + { 34, "-3dB"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_threshold_RSRQ_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_threshold_RSRQ_vals); + +static const value_string lte_rrc_thresholdGERAN_vals[] = { + { 0 , "-110dBm"}, + { 1 , "-109dBm"}, + { 2 , "-108dBm"}, + { 3 , "-107dBm"}, + { 4 , "-106dBm"}, + { 5 , "-105dBm"}, + { 6 , "-104dBm"}, + { 7 , "-103dBm"}, + { 8 , "-102dBm"}, + { 9 , "-101dBm"}, + { 10, "-100dBm"}, + { 11, "-99dBm"}, + { 12, "-98dBm"}, + { 13, "-97dBm"}, + { 14, "-96dBm"}, + { 15, "-95dBm"}, + { 16, "-94dBm"}, + { 17, "-93dBm"}, + { 18, "-92dBm"}, + { 19, "-91dBm"}, + { 20, "-90dBm"}, + { 21, "-89dBm"}, + { 22, "-88dBm"}, + { 23, "-87dBm"}, + { 24, "-86dBm"}, + { 25, "-85dBm"}, + { 26, "-84dBm"}, + { 27, "-83dBm"}, + { 28, "-82dBm"}, + { 29, "-81dBm"}, + { 30, "-80dBm"}, + { 31, "-79dBm"}, + { 32, "-78dBm"}, + { 33, "-77dBm"}, + { 34, "-76dBm"}, + { 35, "-75dBm"}, + { 36, "-74dBm"}, + { 37, "-73dBm"}, + { 38, "-72dBm"}, + { 39, "-71dBm"}, + { 40, "-70dBm"}, + { 41, "-69dBm"}, + { 42, "-68dBm"}, + { 43, "-67dBm"}, + { 44, "-66dBm"}, + { 45, "-65dBm"}, + { 46, "-64dBm"}, + { 47, "-63dBm"}, + { 48, "-62dBm"}, + { 49, "-61dBm"}, + { 50, "-60dBm"}, + { 51, "-59dBm"}, + { 52, "-58dBm"}, + { 53, "-57dBm"}, + { 54, "-56dBm"}, + { 55, "-55dBm"}, + { 56, "-54dBm"}, + { 57, "-53dBm"}, + { 58, "-52dBm"}, + { 59, "-51dBm"}, + { 60, "-50dBm"}, + { 61, "-49dBm"}, + { 62, "-48dBm"}, + { 63, "-47dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_thresholdGERAN_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdGERAN_vals); + +static const value_string lte_rrc_thresholdUTRA_EcN0_vals[] = { + { 0 , "-24.5dB"}, + { 1 , "-24dB"}, + { 2 , "-23.5dB"}, + { 3 , "-23dB"}, + { 4 , "-22.5dB"}, + { 5 , "-22dB"}, + { 6 , "-21.5dB"}, + { 7 , "-21dB"}, + { 8 , "-20.5dB"}, + { 9 , "-20dB"}, + { 10, "-19.5dB"}, + { 11, "-19dB"}, + { 12, "-18.5dB"}, + { 13, "-18dB"}, + { 14, "-17.5dB"}, + { 15, "-17dB"}, + { 16, "-16.5dB"}, + { 17, "-16dB"}, + { 18, "-15.5dB"}, + { 19, "-15dB"}, + { 20, "-14.5dB"}, + { 21, "-14dB"}, + { 22, "-13.5dB"}, + { 23, "-13dB"}, + { 24, "-12.5dB"}, + { 25, "-12dB"}, + { 26, "-11.5dB"}, + { 27, "-11dB"}, + { 28, "-10.5dB"}, + { 29, "-10dB"}, + { 30, "-9.5dB"}, + { 31, "-9dB"}, + { 32, "-8.5dB"}, + { 33, "-8dB"}, + { 34, "-7.5dB"}, + { 35, "-7dB"}, + { 36, "-6.5dB"}, + { 37, "-6dB"}, + { 38, "-5.5dB"}, + { 39, "-5dB"}, + { 40, "-4.5dB"}, + { 41, "-4dB"}, + { 42, "-3.5dB"}, + { 43, "-3dB"}, + { 44, "-2.5dB"}, + { 45, "-2dB"}, + { 46, "-1.5dB"}, + { 47, "-1dB"}, + { 48, "-0.5dB"}, + { 49, "0dB"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_thresholdUTRA_EcN0_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_EcN0_vals); + +static const value_string lte_rrc_thresholdUTRA_RSCP_vals[] = { + { -5, "-120dBm"}, + { -4, "-119dBm"}, + { -3, "-118dBm"}, + { -2, "-117dBm"}, + { -1, "-116dBm"}, + { 0, "-115dBm"}, + { 1, "-114dBm"}, + { 2, "-113dBm"}, + { 3, "-112dBm"}, + { 4, "-111dBm"}, + { 5, "-110dBm"}, + { 6, "-109dBm"}, + { 7, "-108dBm"}, + { 8, "-107dBm"}, + { 9, "-106dBm"}, + { 10, "-105dBm"}, + { 11, "-104dBm"}, + { 12, "-103dBm"}, + { 13, "-102dBm"}, + { 14, "-101dBm"}, + { 15, "-100dBm"}, + { 16, "-99dBm"}, + { 17, "-98dBm"}, + { 18, "-97dBm"}, + { 19, "-96dBm"}, + { 20, "-95dBm"}, + { 21, "-94dBm"}, + { 22, "-93dBm"}, + { 23, "-92dBm"}, + { 24, "-91dBm"}, + { 25, "-90dBm"}, + { 26, "-89dBm"}, + { 27, "-88dBm"}, + { 28, "-87dBm"}, + { 29, "-86dBm"}, + { 30, "-85dBm"}, + { 31, "-84dBm"}, + { 32, "-83dBm"}, + { 33, "-82dBm"}, + { 34, "-81dBm"}, + { 35, "-80dBm"}, + { 36, "-79dBm"}, + { 37, "-78dBm"}, + { 38, "-77dBm"}, + { 39, "-76dBm"}, + { 40, "-75dBm"}, + { 41, "-74dBm"}, + { 42, "-73dBm"}, + { 43, "-72dBm"}, + { 44, "-71dBm"}, + { 45, "-70dBm"}, + { 46, "-69dBm"}, + { 47, "-68dBm"}, + { 48, "-67dBm"}, + { 49, "-66dBm"}, + { 50, "-65dBm"}, + { 51, "-64dBm"}, + { 52, "-63dBm"}, + { 53, "-62dBm"}, + { 54, "-61dBm"}, + { 55, "-60dBm"}, + { 56, "-59dBm"}, + { 57, "-58dBm"}, + { 58, "-57dBm"}, + { 59, "-56dBm"}, + { 60, "-55dBm"}, + { 61, "-54dBm"}, + { 62, "-53dBm"}, + { 63, "-52dBm"}, + { 64, "-51dBm"}, + { 65, "-50dBm"}, + { 66, "-49dBm"}, + { 67, "-48dBm"}, + { 68, "-47dBm"}, + { 69, "-46dBm"}, + { 70, "-45dBm"}, + { 71, "-44dBm"}, + { 72, "-43dBm"}, + { 73, "-42dBm"}, + { 74, "-41dBm"}, + { 75, "-40dBm"}, + { 76, "-39dBm"}, + { 77, "-38dBm"}, + { 78, "-37dBm"}, + { 79, "-36dBm"}, + { 80, "-35dBm"}, + { 81, "-34dBm"}, + { 82, "-33dBm"}, + { 83, "-32dBm"}, + { 84, "-31dBm"}, + { 85, "-30dBm"}, + { 86, "-29dBm"}, + { 87, "-28dBm"}, + { 88, "-27dBm"}, + { 89, "-26dBm"}, + { 90, "-25dBm"}, + { 91, "-24dBm"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_thresholdUTRA_RSCP_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_thresholdUTRA_RSCP_vals); + +static const value_string lte_rrc_RSRP_Range_vals[] = { + { 0, "RSRP < -140dBm"}, + { 1, "-140dBm <= RSRP < -139dBm"}, + { 2, "-139dBm <= RSRP < -138dBm"}, + { 3, "-138dBm <= RSRP < -137dBm"}, + { 4, "-137dBm <= RSRP < -136dBm"}, + { 5, "-136dBm <= RSRP < -135dBm"}, + { 6, "-135dBm <= RSRP < -134dBm"}, + { 7, "-134dBm <= RSRP < -133dBm"}, + { 8, "-133dBm <= RSRP < -132dBm"}, + { 9, "-132dBm <= RSRP < -131dBm"}, + { 10, "-131dBm <= RSRP < -130dBm"}, + { 11, "-130dBm <= RSRP < -129dBm"}, + { 12, "-129dBm <= RSRP < -128dBm"}, + { 13, "-128dBm <= RSRP < -127dBm"}, + { 14, "-127dBm <= RSRP < -126dBm"}, + { 15, "-126dBm <= RSRP < -125dBm"}, + { 16, "-125dBm <= RSRP < -124dBm"}, + { 17, "-124dBm <= RSRP < -123dBm"}, + { 18, "-123dBm <= RSRP < -122dBm"}, + { 19, "-122dBm <= RSRP < -121dBm"}, + { 20, "-121dBm <= RSRP < -120dBm"}, + { 21, "-120dBm <= RSRP < -119dBm"}, + { 22, "-119dBm <= RSRP < -118dBm"}, + { 23, "-118dBm <= RSRP < -117dBm"}, + { 24, "-117dBm <= RSRP < -116dBm"}, + { 25, "-116dBm <= RSRP < -115dBm"}, + { 26, "-115dBm <= RSRP < -114dBm"}, + { 27, "-114dBm <= RSRP < -113dBm"}, + { 28, "-113dBm <= RSRP < -112dBm"}, + { 29, "-112dBm <= RSRP < -111dBm"}, + { 30, "-111dBm <= RSRP < -110dBm"}, + { 31, "-110dBm <= RSRP < -109dBm"}, + { 32, "-109dBm <= RSRP < -108dBm"}, + { 33, "-108dBm <= RSRP < -107dBm"}, + { 34, "-107dBm <= RSRP < -106dBm"}, + { 35, "-106dBm <= RSRP < -105dBm"}, + { 36, "-105dBm <= RSRP < -104dBm"}, + { 37, "-104dBm <= RSRP < -103dBm"}, + { 38, "-103dBm <= RSRP < -102dBm"}, + { 39, "-102dBm <= RSRP < -101dBm"}, + { 40, "-101dBm <= RSRP < -100dBm"}, + { 41, "-100dBm <= RSRP < -99dBm"}, + { 42, "-99dBm <= RSRP < -98dBm"}, + { 43, "-98dBm <= RSRP < -97dBm"}, + { 44, "-97dBm <= RSRP < -96dBm"}, + { 45, "-96dBm <= RSRP < -95dBm"}, + { 46, "-95dBm <= RSRP < -94dBm"}, + { 47, "-94dBm <= RSRP < -93dBm"}, + { 48, "-93dBm <= RSRP < -92dBm"}, + { 49, "-92dBm <= RSRP < -91dBm"}, + { 50, "-91dBm <= RSRP < -90dBm"}, + { 51, "-90dBm <= RSRP < -89dBm"}, + { 52, "-89dBm <= RSRP < -88dBm"}, + { 53, "-88dBm <= RSRP < -87dBm"}, + { 54, "-87dBm <= RSRP < -86dBm"}, + { 55, "-86dBm <= RSRP < -85dBm"}, + { 56, "-85dBm <= RSRP < -84dBm"}, + { 57, "-84dBm <= RSRP < -83dBm"}, + { 58, "-83dBm <= RSRP < -82dBm"}, + { 59, "-82dBm <= RSRP < -81dBm"}, + { 60, "-81dBm <= RSRP < -80dBm"}, + { 61, "-80dBm <= RSRP < -79dBm"}, + { 62, "-79dBm <= RSRP < -78dBm"}, + { 63, "-78dBm <= RSRP < -77dBm"}, + { 64, "-77dBm <= RSRP < -76dBm"}, + { 65, "-76dBm <= RSRP < -75dBm"}, + { 66, "-75dBm <= RSRP < -74dBm"}, + { 67, "-74dBm <= RSRP < -73dBm"}, + { 68, "-73dBm <= RSRP < -72dBm"}, + { 69, "-72dBm <= RSRP < -71dBm"}, + { 70, "-71dBm <= RSRP < -70dBm"}, + { 71, "-70dBm <= RSRP < -69dBm"}, + { 72, "-69dBm <= RSRP < -68dBm"}, + { 73, "-68dBm <= RSRP < -67dBm"}, + { 74, "-67dBm <= RSRP < -66dBm"}, + { 75, "-66dBm <= RSRP < -65dBm"}, + { 76, "-65dBm <= RSRP < -64dBm"}, + { 77, "-64dBm <= RSRP < -63dBm"}, + { 78, "-63dBm <= RSRP < -62dBm"}, + { 79, "-62dBm <= RSRP < -61dBm"}, + { 80, "-61dBm <= RSRP < -60dBm"}, + { 81, "-60dBm <= RSRP < -59dBm"}, + { 82, "-59dBm <= RSRP < -58dBm"}, + { 83, "-58dBm <= RSRP < -57dBm"}, + { 84, "-57dBm <= RSRP < -56dBm"}, + { 85, "-56dBm <= RSRP < -55dBm"}, + { 86, "-55dBm <= RSRP < -54dBm"}, + { 87, "-54dBm <= RSRP < -53dBm"}, + { 88, "-53dBm <= RSRP < -52dBm"}, + { 89, "-52dBm <= RSRP < -51dBm"}, + { 90, "-51dBm <= RSRP < -50dBm"}, + { 91, "-50dBm <= RSRP < -49dBm"}, + { 92, "-49dBm <= RSRP < -48dBm"}, + { 93, "-48dBm <= RSRP < -47dBm"}, + { 94, "-47dBm <= RSRP < -46dBm"}, + { 95, "-46dBm <= RSRP < -45dBm"}, + { 96, "-45dBm <= RSRP < -44dBm"}, + { 97, "-44dBm <= RSRP"}, + { 0, NULL} +}; +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"}, + {-32, "-35.5dB <= RSRQ < -35dB"}, + {-31, "-35dB <= RSRQ < -34.5dB"}, + {-30, "-34.5dB <= RSRQ < -34dB"}, + {-29, "-34dB <= RSRQ < -33.5dB"}, + {-28, "-33.5dB <= RSRQ < -33dB"}, + {-27, "-33dB <= RSRQ < -32.5dB"}, + {-26, "-32.5dB <= RSRQ < -32dB"}, + {-25, "-32dB <= RSRQ < -31.5dB"}, + {-24, "-31.5dB <= RSRQ < -31dB"}, + {-23, "-31dB <= RSRQ < -30.5dB"}, + {-22, "-30.5dB <= RSRQ < -30dB"}, + {-21, "-30dB <= RSRQ < -29.5dB"}, + {-20, "-29.5dB <= RSRQ < -29dB"}, + {-19, "-29dB <= RSRQ < -28.5dB"}, + {-18, "-28.5dB <= RSRQ < -28dB"}, + {-17, "-28dB <= RSRQ < -27.5dB"}, + {-16, "-27.5dB <= RSRQ < -27dB"}, + {-15, "-27dB <= RSRQ < -26.5dB"}, + {-14, "-26.5dB <= RSRQ < -26dB"}, + {-13, "-26dB <= RSRQ < -25.5dB"}, + {-12, "-25.5dB <= RSRQ < -25dB"}, + {-11, "-25dB <= RSRQ < -24.5dB"}, + {-10, "-24.5dB <= RSRQ < -24dB"}, + { -9, "-24dB <= RSRQ < -23.5dB"}, + { -8, "-23.5dB <= RSRQ < -23dB"}, + { -7, "-23dB <= RSRQ < -22.5dB"}, + { -6, "-22.5dB <= RSRQ < -22dB"}, + { -5, "-22dB <= RSRQ < -21.5dB"}, + { -4, "-21.5dB <= RSRQ < -21dB"}, + { -3, "-21dB <= RSRQ < -20.5dB"}, + { -2, "-20.5dB <= RSRQ < -20dB"}, + { -1, "-20dB <= RSRQ < -19.5dB"}, + { 0, "RSRQ < -19.5dB"}, + { 1, "-19.5dB <= RSRQ < -19dB"}, + { 2, "-19dB <= RSRQ < -18.5dB"}, + { 3, "-18.5dB <= RSRQ < -18dB"}, + { 4, "-18dB <= RSRQ < -17.5dB"}, + { 5, "-17.5dB <= RSRQ < -17dB"}, + { 6, "-17dB <= RSRQ < -16.5dB"}, + { 7, "-16.5dB <= RSRQ < -16dB"}, + { 8, "-16dB <= RSRQ < -15.5dB"}, + { 9, "-15.5dB <= RSRQ < -15dB"}, + { 10, "-15dB <= RSRQ < -14.5dB"}, + { 11, "-14.5dB <= RSRQ < -14dB"}, + { 12, "-14dB <= RSRQ < -13.5dB"}, + { 13, "-13.5dB <= RSRQ < -13dB"}, + { 14, "-13dB <= RSRQ < -12.5dB"}, + { 15, "-12.5dB <= RSRQ < -12dB"}, + { 16, "-12dB <= RSRQ < -11.5dB"}, + { 17, "-11.5dB <= RSRQ < -11dB"}, + { 18, "-11dB <= RSRQ < -10.5dB"}, + { 19, "-10.5dB <= RSRQ < -10dB"}, + { 20, "-10dB <= RSRQ < -9.5dB"}, + { 21, "-9.5dB <= RSRQ < -9dB"}, + { 22, "-9dB <= RSRQ < -8.5dB"}, + { 23, "-8.5dB <= RSRQ < -8dB"}, + { 24, "-8dB <= RSRQ < -7.5dB"}, + { 25, "-7.5dB <= RSRQ < -7dB"}, + { 26, "-7dB <= RSRQ < -6.5dB"}, + { 27, "-6.5dB <= RSRQ < -6dB"}, + { 28, "-6dB <= RSRQ < -5.5dB"}, + { 29, "-5.5dB <= RSRQ < -5dB"}, + { 30, "-5dB <= RSRQ < -4.5dB"}, + { 31, "-4.5dB <= RSRQ < -4dB"}, + { 32, "-4dB <= RSRQ < -3.5dB"}, + { 33, "-3.5dB <= RSRQ < -3dB"}, + { 34, "-3dB <= RSRQ"}, + { 35, "-3dB <= RSRQ < -2.5dB"}, + { 36, "-2.5dB <= RSRQ < -2dB"}, + { 37, "-2dB <= RSRQ < -1.5dB"}, + { 38, "-1.5dB <= RSRQ < -1dB"}, + { 39, "-1dB <= RSRQ < -0.5dB"}, + { 40, "-0.5dB <= RSRQ < 0dB"}, + { 41, "0dB <= RSRQ < 0.5dB"}, + { 42, "0.5dB <= RSRQ < 1dB"}, + { 43, "1dB <= RSRQ < 1.5dB"}, + { 44, "1.5dB <= RSRQ < 2dB"}, + { 45, "2dB <= RSRQ < 2.5dB"}, + { 46, "2.5dB <= RSRQ"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_RSRQ_Range_vals); + +static const value_string lte_rrc_MBSFN_RSRQ_Range_vals[] = { + { 0, "RSRQ < -23dB"}, + { 1, "-23dB <= RSRQ < -22.5dB"}, + { 2, "-22.5dB <= RSRQ < -22dB"}, + { 3, "-22dB <= RSRQ < -21.5dB"}, + { 4, "-21.5dB <= RSRQ < -21dB"}, + { 5, "-21dB <= RSRQ < -20.5dB"}, + { 6, "-20.5dB <= RSRQ < -20dB"}, + { 7, "-20dB <= RSRQ < -19.5dB"}, + { 8, "-19.5dB <= RSRQ < -19dB"}, + { 9, "-19dB <= RSRQ < -18.5dB"}, + { 10, "-18.5dB <= RSRQ < -18dB"}, + { 11, "-18dB <= RSRQ < -17.5dB"}, + { 12, "-17.5dB <= RSRQ < -17dB"}, + { 13, "-17dB <= RSRQ < -16.5dB"}, + { 14, "-16.5dB <= RSRQ < -16dB"}, + { 15, "-16dB <= RSRQ < -15.5dB"}, + { 16, "-15.5dB <= RSRQ < -15dB"}, + { 17, "-15dB <= RSRQ < -14.5dB"}, + { 18, "-14.5dB <= RSRQ < -14dB"}, + { 19, "-14dB <= RSRQ < -13.5dB"}, + { 20, "-13.5dB <= RSRQ < -13dB"}, + { 21, "-13dB <= RSRQ < -12.5dB"}, + { 22, "-12.5dB <= RSRQ < -12dB"}, + { 23, "-12dB <= RSRQ < -11.5dB"}, + { 24, "-11.5dB <= RSRQ < -11dB"}, + { 25, "-11dB <= RSRQ < -10.5dB"}, + { 26, "-10.5dB <= RSRQ < -10dB"}, + { 27, "-10dB <= RSRQ < -9.5dB"}, + { 28, "-9.5dB <= RSRQ < -9dB"}, + { 29, "-9dB <= RSRQ < -8.5dB"}, + { 30, "-8.5dB <= RSRQ < -8dB"}, + { 31, "-8dB <= RSRQ"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_MBSFN_RSRQ_Range_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_MBSFN_RSRQ_Range_vals); + +static void +lte_rrc_ue_RxTxTimeDiffResult_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)"); + } else if (v < 2048) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", v*2, (v+1)*2, v); + } else if (v < 4095) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs <= T < %uTs (%u)", (v*8)-12288, ((v+1)*8)-12288, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "20472Ts <= T (4095)"); + } +} + +static const true_false_string lte_rrc_duration_val = { + "indefinite", + "single" +}; + +static const value_string lte_rrc_eab_category_vals[] = { + { 0, "a - all UEs" }, + { 1, "b - UEs not in their HPLMN/EHPLMN" }, + { 2, "c - UEs not in the most preferred PLMN of the country where they are roaming in EF OPLMNwACT list, nor in their HPLMN/EHPLMN" }, + { 0, NULL } +}; + +static const value_string lte_rrc_daylightSavingTime_vals[] = { + { 0, "No adjustment for Daylight Saving Time"}, + { 1, "+1 hour adjustment for Daylight Saving Time"}, + { 2, "+2 hours adjustment for Daylight Saving Time"}, + { 3, "Reserved"}, + { 0, NULL}, +}; + +static const value_string lte_rrc_neighCellConfig_vals[] = { + { 0, "Not all neighbour cells have the same MBSFN subframe allocation as serving cell"}, + { 1, "No MBSFN subframes are present in all neighbour cells"}, + { 2, "The MBSFN subframe allocations of all neighbour cells are identical to or subsets of that in the serving cell"}, + { 3, "Different UL/DL allocation in neighbouring cells for TDD compared to the serving cell"}, + { 0, NULL}, +}; + +static const value_string lte_rrc_messageIdentifier_vals[] = { + { 0x1100, "ETWS Identifier for earthquake warning message"}, + { 0x1101, "ETWS Identifier for tsunami warning message"}, + { 0x1102, "ETWS Identifier for earthquake and tsunami combined warning message"}, + { 0x1103, "ETWS Identifier for test message"}, + { 0x1104, "ETWS Identifier for messages related to other emergency types"}, + { 0x1105, "ETWS Identifier for future extension"}, + { 0x1106, "ETWS Identifier for future extension"}, + { 0x1107, "ETWS Identifier for future extension"}, + { 0x1112, "CMAS Identifier for CMAS Presidential Level Alerts"}, + { 0x1113, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed"}, + { 0x1114, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely"}, + { 0x1115, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed"}, + { 0x1116, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely"}, + { 0x1117, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed"}, + { 0x1118, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely"}, + { 0x1119, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed"}, + { 0x111a, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely"}, + { 0x111b, "CMAS Identifier for Child Abduction Emergency (or Amber Alert)"}, + { 0x111c, "CMAS Identifier for the Required Monthly Test"}, + { 0x111d, "CMAS Identifier for CMAS Exercise"}, + { 0x111e, "CMAS Identifier for operator defined use"}, + { 0x111f, "CMAS Identifier for CMAS Presidential Level Alerts for additional languages"}, + { 0x1120, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Observed for additional languages"}, + { 0x1121, "CMAS Identifier for CMAS Extreme Alerts with Severity of Extreme, Urgency of Immediate, and Certainty of Likely for additional languages"}, + { 0x1122, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Observed for additional languages"}, + { 0x1123, "CMAS Identifier for CMAS Severe Alerts with Severity of Extreme, Urgency of Expected, and Certainty of Likely for additional languages"}, + { 0x1124, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Observed for additional languages"}, + { 0x1125, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Immediate, and Certainty of Likely for additional languages"}, + { 0x1126, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Observed for additional languages"}, + { 0x1127, "CMAS Identifier for CMAS Severe Alerts with Severity of Severe, Urgency of Expected, and Certainty of Likely for additional languages"}, + { 0x1128, "CMAS Identifier for Child Abduction Emergency (or Amber Alert) for additional languages"}, + { 0x1129, "CMAS Identifier for the Required Monthly Test for additional languages"}, + { 0x112a, "CMAS Identifier for CMAS Exercise for additional languages"}, + { 0x112b, "CMAS Identifier for operator defined use for additional languages"}, + { 0, NULL}, +}; +static value_string_ext lte_rrc_messageIdentifier_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_messageIdentifier_vals); + +static const value_string lte_rrc_serialNumber_gs_vals[] = { + { 0, "Display mode immediate, cell wide"}, + { 1, "Display mode normal, PLMN wide"}, + { 2, "Display mode normal, tracking area wide"}, + { 3, "Display mode normal, cell wide"}, + { 0, NULL}, +}; + +static const value_string lte_rrc_warningType_vals[] = { + { 0, "Earthquake"}, + { 1, "Tsunami"}, + { 2, "Earthquake and Tsunami"}, + { 3, "Test"}, + { 4, "Other"}, + { 0, NULL}, +}; + +static const true_false_string lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1_val = { + "SCell DL subframes are a subset or superset of PCell by SIB1 configuration - Supported", + "SCell DL subframes are a subset or superset of PCell by SIB1 configuration - Not supported", +}; + +static const true_false_string lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2_val = { + "SCell DL subframes are neither superset nor subset of PCell by SIB1 configuration - Supported", + "SCell DL subframes are neither superset nor subset of PCell by SIB1 configuration - Not supported", +}; + +static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1_val = { + "TDD PCell - Supported", + "TDD PCell - Not supported" +}; + +static const true_false_string lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val = { + "FDD PCell - Supported", + "FDD PCell - Not supported" +}; + +static const true_false_string hf_lte_rrc_codebook_HARQ_ACK_r13_bit1_val = { + "DAI-based codebook size determination - Supported", + "DAI-based codebook size determination - Not supported" +}; + +static const true_false_string hf_lte_rrc_codebook_HARQ_ACK_r13_bit2_val = { + "Number of configured CCs based codebook size determination - Supported", + "Number of configured CCs based codebook size determination - Not supported" +}; + +static const true_false_string lte_rrc_transmissionModeList_r12_val = { + "NeighCellsInfo applies", + "NeighCellsInfo does not apply" +}; + +static const value_string lte_rrc_codebooksizeDetermination_r13_vals[] = { + { 0, "HARQ codebook size is determined with downlink assignment indicator"}, + { 1, "HARQ codebook size is determined with number of configured CCs"}, + { 0, NULL}, +}; + +static const value_string lte_rrc_excessDelay_r13_vals[] = { + { 0, "ratio < 0.079%"}, + { 1, "0.079% < ratio < 0.100%"}, + { 2, "0.100% < ratio < 0.126%"}, + { 3, "0.126% < ratio < 0.158%"}, + { 4, "0.158% < ratio < 0.199%"}, + { 5, "0.199% < ratio < 0.251%"}, + { 6, "0.251% < ratio < 0.316%"}, + { 7, "0.316% < ratio < 0.398%"}, + { 8, "0.398% < ratio < 0.501%"}, + { 9, "0.501% < ratio < 0.631%"}, + { 10, "0.631% < ratio < 0.794%"}, + { 11, "0.794% < ratio < 1.000%"}, + { 12, "1.000% < ratio < 1.259%"}, + { 13, "1.259% < ratio < 1.585%"}, + { 14, "1.585% < ratio < 1.995%"}, + { 15, "1.995% < ratio < 2.511%"}, + { 16, "2.511% < ratio < 3.161%"}, + { 17, "3.161% < ratio < 3.980%"}, + { 18, "3.980% < ratio < 5.011%"}, + { 19, "5.011% < ratio < 6.309%"}, + { 20, "6.309% < ratio < 7.943%"}, + { 21, "7.943% < ratio < 10.00%"}, + { 22, "10.00% < ratio < 12.589%"}, + { 23, "12.589% < ratio < 15.849%"}, + { 24, "15.849% < ratio < 19.953%"}, + { 25, "19.953% < ratio < 25.119%"}, + { 26, "25.119% < ratio < 31.623%"}, + { 27, "31.623% < ratio < 39.811%"}, + { 28, "39.811% < ratio < 50.119%"}, + { 29, "50.119% < ratio < 63.096%"}, + { 30, "63.096% < ratio < 79.433%"}, + { 31, "79.433% < ratio < 100%"}, + { 0, NULL} +}; +static value_string_ext lte_rrc_excessDelay_r13_vals_ext = VALUE_STRING_EXT_INIT(lte_rrc_excessDelay_r13_vals); + +static void +lte_rrc_subframeBoundaryOffsetResult_r13_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "abs(deltaZ) < 700Ts (0)"); + } else if (v == 63) { + g_snprintf(s, ITEM_LABEL_LENGTH, "1320Ts < abs(deltaZ) (63)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%uTs < abs(deltaZ) <= %uTs (%u)", 700+(v-1)*10, 700+v*10, v); + } +} + +static void +lte_rrc_RS_SINR_Range_r13_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RS-SINR < -23dB (0)"); + } else if (v == 127) { + g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= RS-SINR (127)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v); + } +} + +static void +lte_rrc_RSSI_Range_r13_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSSI < -100dBm (0)"); + } else if (v == 76) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-25dBm <= RSSI (76)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSSI < %ddBm (%u)", -100+(v-1), -100+v, v); + } +} + +static void +lte_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + TRY { + call_dissector(handle, tvb, pinfo, tree); + } + CATCH_BOUNDS_ERRORS { + show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE); + } + ENDTRY; +} + +/*****************************************************************************/ +/* Packet private data */ +/* For this dissector, all access to actx->private_data should be made */ +/* through this API, which ensures that they will not overwrite each other!! */ +/*****************************************************************************/ + +typedef struct meas_capabilities_item_band_mappings_t { + guint16 number_of_bands_set; + guint16 number_of_interfreq_serving_read; + guint16 number_of_interfreq_target_read; + guint16 band_by_item[256]; +} meas_capabilities_item_band_mappings_t; + + +/**********************************************************/ +/* Struct to store all current uses of packet private data */ +typedef struct lte_rrc_private_data_t +{ + guint8 rat_type; + guint8 target_rat_type; + guint8 si_or_psi_geran; + guint8 ra_preambles; + guint16 message_identifier; + guint8 warning_message_segment_type; + guint8 warning_message_segment_number; + drb_mapping_t drb_mapping; + drx_config_t drx_config; + pdcp_security_info_t pdcp_security; + meas_capabilities_item_band_mappings_t meas_capabilities_item_band_mappings; + simult_pucch_pusch_cell_type cell_type; +} lte_rrc_private_data_t; + +/* Helper function to get or create a struct that will be actx->private_data */ +static lte_rrc_private_data_t* lte_rrc_get_private_data(asn1_ctx_t *actx) +{ + if (actx->private_data != NULL) { + return (lte_rrc_private_data_t*)actx->private_data; + } + else { + lte_rrc_private_data_t* new_struct = + (lte_rrc_private_data_t*)wmem_alloc0(wmem_packet_scope(), sizeof(lte_rrc_private_data_t)); + actx->private_data = new_struct; + return new_struct; + } +} + + +/* DRX config data */ +static drx_config_t* private_data_get_drx_config(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return &private_data->drx_config; +} + +/* DRB mapping info */ +static drb_mapping_t* private_data_get_drb_mapping(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return &private_data->drb_mapping; +} + + +/* RAT type */ +static guint8 private_data_get_rat_type(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->rat_type; +} + +static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->rat_type = rat_type; +} + + +/* Target RAT type */ +static guint8 private_data_get_rat_target_type(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->target_rat_type; +} + +static void private_data_set_rat_target_type(asn1_ctx_t *actx, guint8 target_rat_type) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->target_rat_type = target_rat_type; +} + + +/* si_or_psi_geran */ +static guint8 private_data_get_si_or_psi_geran(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->si_or_psi_geran; +} + +static void private_data_set_si_or_psi_geran(asn1_ctx_t *actx, guint8 si_or_psi_geran) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->si_or_psi_geran = si_or_psi_geran; +} + + +/* Message identifier */ +static guint16 private_data_get_message_identifier(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->message_identifier; +} + +static void private_data_set_message_identifier(asn1_ctx_t *actx, guint16 message_identifier) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->message_identifier = message_identifier; +} + + +/* Warning message segment type */ +static guint16 private_data_get_warning_message_segment_type(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->warning_message_segment_type; +} + +static void private_data_set_warning_message_segment_type(asn1_ctx_t *actx, guint8 segment_type) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->warning_message_segment_type = segment_type; +} + + +/* Warning message segment number */ +static guint16 private_data_get_warning_message_segment_number(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->warning_message_segment_number; +} + +static void private_data_set_warning_message_segment_number(asn1_ctx_t *actx, guint8 segment_number) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->warning_message_segment_number = segment_number; +} + + +/* Number of RA-preambles */ +static guint8 private_data_get_ra_preambles(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->ra_preambles; +} + +static void private_data_set_ra_preambles(asn1_ctx_t *actx, guint8 ra_preambles) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->ra_preambles = ra_preambles; +} + + +/* PDCP Security info */ +static pdcp_security_info_t* private_data_pdcp_security_algorithms(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return &private_data->pdcp_security; +} + + +/* Measurement UE capabilities item -> band mappings */ +static meas_capabilities_item_band_mappings_t* private_data_meas_capabilities_item_band_mappings(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return &private_data->meas_capabilities_item_band_mappings; +} + +static void set_freq_band_indicator(guint32 value, asn1_ctx_t *actx) +{ + /* Store band mapping for this item in the next position */ + meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx); + if (mappings->number_of_bands_set < 256) { + mappings->band_by_item[mappings->number_of_bands_set++] = (guint16)value; + } +} + +static void remove_last_freq_band_indicator(asn1_ctx_t *actx) +{ + meas_capabilities_item_band_mappings_t *mappings = private_data_meas_capabilities_item_band_mappings(actx); + if ((mappings->number_of_bands_set > 0) && (mappings->number_of_bands_set < 256)) { + mappings->number_of_bands_set--; + } +} + +/* Cell type for simultaneousPUCCH-PUSCH-r10 */ +static simult_pucch_pusch_cell_type private_data_get_simult_pucch_pusch_cell_type(asn1_ctx_t *actx) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + return private_data->cell_type; +} + +static void private_data_set_simult_pucch_pusch_cell_type(asn1_ctx_t *actx, simult_pucch_pusch_cell_type cell_type) +{ + lte_rrc_private_data_t *private_data = (lte_rrc_private_data_t*)lte_rrc_get_private_data(actx); + private_data->cell_type = cell_type; +} + +/*****************************************************************************/ + + +static void +lte_rrc_localTimeOffset_fmt(gchar *s, guint32 v) +{ + gint32 time_offset = (gint32) v; + + g_snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)", + (time_offset < 0) ? '-':'+', abs(time_offset) >> 2, + (abs(time_offset) & 0x03) * 15, time_offset); +} + +static void +dissect_lte_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme) +{ + guint32 offset; + guint8 nb_of_pages, length, *str; + proto_item *ti; + tvbuff_t *cb_data_page_tvb, *cb_data_tvb; + int i; + + nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0); + ti = proto_tree_add_uint(tree, hf_lte_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages); + if (nb_of_pages > 15) { + expert_add_info_format(pinfo, ti, &ei_lte_rrc_number_pages_le15, + "Number of pages should be <=15 (found %u)", nb_of_pages); + nb_of_pages = 15; + } + for (i = 0, offset = 1; i < nb_of_pages; i++) { + length = tvb_get_guint8(warning_msg_seg_tvb, offset+82); + cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length); + cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0); + if (cb_data_tvb) { + str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA); + proto_tree_add_string_format(tree, hf_lte_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83, + str, "Decoded Page %u: %s", i+1, str); + } + offset += 83; + } +} + +static void +dissect_lte_rrc_featureGroupIndicators(tvbuff_t *featureGroupIndicators_tvb, asn1_ctx_t *actx) +{ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndicators); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_1, featureGroupIndicators_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_2, featureGroupIndicators_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_3, featureGroupIndicators_tvb, 2, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_4, featureGroupIndicators_tvb, 3, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_5, featureGroupIndicators_tvb, 4, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_6, featureGroupIndicators_tvb, 5, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_7, featureGroupIndicators_tvb, 6, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_8, featureGroupIndicators_tvb, 7, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_9, featureGroupIndicators_tvb, 8, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_10, featureGroupIndicators_tvb, 9, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_11, featureGroupIndicators_tvb, 10, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_12, featureGroupIndicators_tvb, 11, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_13, featureGroupIndicators_tvb, 12, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_14, featureGroupIndicators_tvb, 13, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_15, featureGroupIndicators_tvb, 14, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_16, featureGroupIndicators_tvb, 15, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_17, featureGroupIndicators_tvb, 16, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_18, featureGroupIndicators_tvb, 17, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_19, featureGroupIndicators_tvb, 18, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_20, featureGroupIndicators_tvb, 19, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_21, featureGroupIndicators_tvb, 20, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_22, featureGroupIndicators_tvb, 21, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_23, featureGroupIndicators_tvb, 22, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_24, featureGroupIndicators_tvb, 23, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_25, featureGroupIndicators_tvb, 24, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_26, featureGroupIndicators_tvb, 25, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_27, featureGroupIndicators_tvb, 26, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_28, featureGroupIndicators_tvb, 27, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_29, featureGroupIndicators_tvb, 28, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_30, featureGroupIndicators_tvb, 29, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_31, featureGroupIndicators_tvb, 30, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_32, featureGroupIndicators_tvb, 31, 1, ENC_BIG_ENDIAN); +} + +static void +dissect_lte_rrc_featureGroupIndRel10(tvbuff_t *featureGroupIndRel10_tvb, asn1_ctx_t *actx) +{ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel10); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_101, featureGroupIndRel10_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_102, featureGroupIndRel10_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_103, featureGroupIndRel10_tvb, 2, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_104, featureGroupIndRel10_tvb, 3, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_105, featureGroupIndRel10_tvb, 4, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_106, featureGroupIndRel10_tvb, 5, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_107, featureGroupIndRel10_tvb, 6, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_108, featureGroupIndRel10_tvb, 7, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_109, featureGroupIndRel10_tvb, 8, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_110, featureGroupIndRel10_tvb, 9, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_111, featureGroupIndRel10_tvb, 10, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_112, featureGroupIndRel10_tvb, 11, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_113, featureGroupIndRel10_tvb, 12, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_114, featureGroupIndRel10_tvb, 13, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_115, featureGroupIndRel10_tvb, 14, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_116, featureGroupIndRel10_tvb, 15, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_117, featureGroupIndRel10_tvb, 16, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_118, featureGroupIndRel10_tvb, 17, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_119, featureGroupIndRel10_tvb, 18, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_120, featureGroupIndRel10_tvb, 19, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_121, featureGroupIndRel10_tvb, 20, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_122, featureGroupIndRel10_tvb, 21, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_123, featureGroupIndRel10_tvb, 22, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_124, featureGroupIndRel10_tvb, 23, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_125, featureGroupIndRel10_tvb, 24, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_126, featureGroupIndRel10_tvb, 25, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_127, featureGroupIndRel10_tvb, 26, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_128, featureGroupIndRel10_tvb, 27, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_129, featureGroupIndRel10_tvb, 28, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_130, featureGroupIndRel10_tvb, 29, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_131, featureGroupIndRel10_tvb, 30, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_132, featureGroupIndRel10_tvb, 31, 1, ENC_BIG_ENDIAN); +} + +static void +dissect_lte_rrc_featureGroupIndRel9Add(tvbuff_t *featureGroupIndRel9Add_tvb, asn1_ctx_t *actx) +{ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lte_rrc_featureGroupIndRel9Add); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_33, featureGroupIndRel9Add_tvb, 0, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_34, featureGroupIndRel9Add_tvb, 1, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_35, featureGroupIndRel9Add_tvb, 2, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_36, featureGroupIndRel9Add_tvb, 3, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_37, featureGroupIndRel9Add_tvb, 4, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_38, featureGroupIndRel9Add_tvb, 5, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_39, featureGroupIndRel9Add_tvb, 6, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_40, featureGroupIndRel9Add_tvb, 7, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_41, featureGroupIndRel9Add_tvb, 8, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_42, featureGroupIndRel9Add_tvb, 9, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_43, featureGroupIndRel9Add_tvb, 10, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_44, featureGroupIndRel9Add_tvb, 11, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_45, featureGroupIndRel9Add_tvb, 12, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_46, featureGroupIndRel9Add_tvb, 13, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_47, featureGroupIndRel9Add_tvb, 14, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_48, featureGroupIndRel9Add_tvb, 15, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_49, featureGroupIndRel9Add_tvb, 16, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_50, featureGroupIndRel9Add_tvb, 17, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_51, featureGroupIndRel9Add_tvb, 18, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_52, featureGroupIndRel9Add_tvb, 19, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_53, featureGroupIndRel9Add_tvb, 20, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_54, featureGroupIndRel9Add_tvb, 21, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_55, featureGroupIndRel9Add_tvb, 22, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_56, featureGroupIndRel9Add_tvb, 23, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_57, featureGroupIndRel9Add_tvb, 24, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_58, featureGroupIndRel9Add_tvb, 25, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_59, featureGroupIndRel9Add_tvb, 26, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_60, featureGroupIndRel9Add_tvb, 27, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_61, featureGroupIndRel9Add_tvb, 28, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_62, featureGroupIndRel9Add_tvb, 29, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_63, featureGroupIndRel9Add_tvb, 30, 1, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(subtree, hf_lte_rrc_eutra_cap_feat_group_ind_64, featureGroupIndRel9Add_tvb, 31, 1, ENC_BIG_ENDIAN); +} + +/* Functions to get enum values out of indices parsed */ +/* If entry not found, return last element of array */ +static guint32 drx_lookup_onDurationTimer(guint32 idx) +{ + static const guint32 vals[] = {1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200}; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + +static guint32 drx_lookup_inactivityTimer(guint32 idx) +{ + static const guint32 vals[] = { + 1,2,3,4,5,6,8,10,20,30,40,50,60,80,100,200,300, 500,750,1280,1920,2560,0 + }; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + +static guint32 drx_lookup_retransmissionTimer(guint32 idx) +{ + static const guint32 vals[] = {1,2,4,6,8,16,24,33}; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + +static guint32 drx_lookup_longCycle(guint32 idx) +{ + static const guint32 vals[] = { + 10,20,32,40,64,80,128,160,256,320,512,640,1024,1280,2048,2560 + }; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + +static guint32 drx_lookup_longCycle_v1130(guint32 idx) +{ + static const guint32 vals[] = { + 60,70 + }; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + + +static guint32 drx_lookup_shortCycle(guint32 idx) +{ + static const guint32 vals[] = { + 2,5,8,10,16,20,32,40,64,80,128,160,256,320,512,640 + }; + + if (idx < (sizeof(vals)/sizeof(guint32))) { + return vals[idx]; + } + return (sizeof(vals)/(sizeof(guint32)) - 1); +} + +static void drx_check_config_sane(drx_config_t *config, asn1_ctx_t *actx) +{ + /* OnDuration must be shorter than long cycle */ + if (config->onDurationTimer >= config->longCycle) { + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config, + "OnDurationTimer (%u) should be less than long cycle (%u)", + config->onDurationTimer, config->longCycle); + } + + if (config->shortCycleConfigured) { + /* Short cycle must be < long, and be a multiple of it */ + if (config->shortCycle >= config->longCycle) { + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config, + "Short DRX cycle (%u) must be shorter than long cycle (%u)", + config->shortCycle, config->longCycle); + } + /* Long cycle needs to be an exact multiple of the short cycle */ + else if (config->shortCycle && ((config->longCycle % config->shortCycle) != 0)) { + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config, + "Short DRX cycle (%u) must divide the long cycle (%u) exactly", + config->shortCycle, config->longCycle); + + } + /* OnDuration shouldn't be longer than the short cycle */ + if (config->onDurationTimer >= config->shortCycle) { + expert_add_info_format(actx->pinfo, actx->created_item, &ei_lte_rrc_invalid_drx_config, + "OnDurationTimer (%u) should not be longer than the short cycle (%u)", + config->onDurationTimer, config->shortCycle); + } + /* TODO: check that (onDuration+(shortCycle*shortCycleTimer)) < longCycle ? */ + /* TODO: check that (shortCycle*shortCycleTimer) < longCycle ? */ + } +} + +/* Break sr-configIndex down into periodicity and offset. From 36.231, 10.1 */ +static void sr_lookup_configindex(guint32 config_index, guint16 *periodicity, guint16 *offset) +{ + if (config_index < 5) { + *periodicity = 5; + *offset = config_index; + } else if (config_index < 15) { + *periodicity = 10; + *offset = config_index - 5; + } + else if (config_index < 35) { + *periodicity = 20; + *offset = config_index - 15; + } + else if (config_index < 75) { + *periodicity = 40; + *offset = config_index - 35; + } + else if (config_index < 155) { + *periodicity = 80; + *offset = config_index - 75; + } + else if (config_index < 157) { + *periodicity = 2; + *offset = config_index - 155; + } + else { + *periodicity = 1; + *offset = 0; + } +} + +#include "packet-lte-rrc-fn.c" + +static int +dissect_lte_rrc_DL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_CCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_DL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_DL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_DCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_DL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + + +static int +dissect_lte_rrc_UL_CCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_CCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_UL_CCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_UL_DCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC UL_DCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_UL_DCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_BCCH_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC BCCH_BCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_BCCH_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_BCCH_DL_SCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC DL_SCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_BCCH_DL_SCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_PCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC PCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_PCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_MCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC MCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_MCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_Handover_Preparation_Info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE_HO_Prep_Info"); + col_clear(pinfo->cinfo, COL_INFO); + + /* Don't want elements inside message updating Info column, so set now and + freeze during dissection of PDU */ + col_set_str(pinfo->cinfo, COL_INFO, "HandoverPreparationInformation"); + col_set_writable(pinfo->cinfo, FALSE); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_lte_rrc_HandoverPreparationInformation_PDU(tvb, pinfo, lte_rrc_tree, NULL); + + col_set_writable(pinfo->cinfo, TRUE); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_SBCCH_SL_BCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SBCCH_SL_BCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_SBCCH_SL_BCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static int +dissect_lte_rrc_SC_MCCH(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) +{ + proto_item *ti; + proto_tree *lte_rrc_tree; + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "LTE RRC SC MCCH"); + col_clear(pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_lte_rrc, tvb, 0, -1, ENC_NA); + lte_rrc_tree = proto_item_add_subtree(ti, ett_lte_rrc); + dissect_SC_MCCH_Message_PDU(tvb, pinfo, lte_rrc_tree, NULL); + return tvb_captured_length(tvb); +} + +static void +lte_rrc_init_protocol(void) +{ + lte_rrc_etws_cmas_dcs_hash = g_hash_table_new(g_direct_hash, g_direct_equal); + lte_rrc_system_info_value_changed_hash = g_hash_table_new(g_direct_hash, g_direct_equal); + reassembly_table_init(<e_rrc_sib11_reassembly_table, + &addresses_reassembly_table_functions); + reassembly_table_init(<e_rrc_sib12_reassembly_table, + &addresses_reassembly_table_functions); +} + +static void +lte_rrc_cleanup_protocol(void) +{ + g_hash_table_destroy(lte_rrc_etws_cmas_dcs_hash); + g_hash_table_destroy(lte_rrc_system_info_value_changed_hash); + reassembly_table_destroy(<e_rrc_sib11_reassembly_table); + reassembly_table_destroy(<e_rrc_sib12_reassembly_table); +} + +/*--- proto_register_rrc -------------------------------------------*/ +void proto_register_lte_rrc(void) { + + /* List of fields */ + static hf_register_info hf[] = { + +#include "packet-lte-rrc-hfarr.c" + + { &hf_lte_rrc_eutra_cap_feat_group_ind_1, + { "Indicator 1", "lte-rrc.eutra_cap_feat_group_ind_1", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_1_val), 0, + "EUTRA Feature Group Indicator 1", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_2, + { "Indicator 2", "lte-rrc.eutra_cap_feat_group_ind_2", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_2_val), 0, + "EUTRA Feature Group Indicator 2", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_3, + { "Indicator 3", "lte-rrc.eutra_cap_feat_group_ind_3", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_3_val), 0, + "EUTRA Feature Group Indicator 3", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_4, + { "Indicator 4", "lte-rrc.eutra_cap_feat_group_ind_4", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_4_val), 0, + "EUTRA Feature Group Indicator 4", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_5, + { "Indicator 5", "lte-rrc.eutra_cap_feat_group_ind_5", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_5_val), 0, + "EUTRA Feature Group Indicator 5", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_6, + { "Indicator 6", "lte-rrc.eutra_cap_feat_group_ind_6", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_6_val), 0, + "EUTRA Feature Group Indicator 6", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_7, + { "Indicator 7", "lte-rrc.eutra_cap_feat_group_ind_7", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_7_val), 0, + "EUTRA Feature Group Indicator 7", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_8, + { "Indicator 8", "lte-rrc.eutra_cap_feat_group_ind_8", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_8_val), 0, + "EUTRA Feature Group Indicator 8", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_9, + { "Indicator 9", "lte-rrc.eutra_cap_feat_group_ind_9", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_9_val), 0, + "EUTRA Feature Group Indicator 9", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_10, + { "Indicator 10", "lte-rrc.eutra_cap_feat_group_ind_10", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_10_val), 0, + "EUTRA Feature Group Indicator 10", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_11, + { "Indicator 11", "lte-rrc.eutra_cap_feat_group_ind_11", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_11_val), 0, + "EUTRA Feature Group Indicator 11", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_12, + { "Indicator 12", "lte-rrc.eutra_cap_feat_group_ind_12", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_12_val), 0, + "EUTRA Feature Group Indicator 12", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_13, + { "Indicator 13", "lte-rrc.eutra_cap_feat_group_ind_13", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_13_val), 0, + "EUTRA Feature Group Indicator", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_14, + { "Indicator 14", "lte-rrc.eutra_cap_feat_group_ind_14", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_14_val), 0, + "EUTRA Feature Group Indicator 14", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_15, + { "Indicator 15", "lte-rrc.eutra_cap_feat_group_ind_15", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_15_val), 0, + "EUTRA Feature Group Indicator 15", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_16, + { "Indicator 16", "lte-rrc.eutra_cap_feat_group_ind_16", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_16_val), 0, + "EUTRA Feature Group Indicator 16", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_17, + { "Indicator 17", "lte-rrc.eutra_cap_feat_group_ind_17", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_17_val), 0, + "EUTRA Feature Group Indicator 17", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_18, + { "Indicator 18", "lte-rrc.eutra_cap_feat_group_ind_18", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_18_val), 0, + "EUTRA Feature Group Indicator 18", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_19, + { "Indicator 19", "lte-rrc.eutra_cap_feat_group_ind_19", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_19_val), 0, + "EUTRA Feature Group Indicator 19", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_20, + { "Indicator 20", "lte-rrc.eutra_cap_feat_group_ind_20", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_20_val), 0, + "EUTRA Feature Group Indicator 20", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_21, + { "Indicator 21", "lte-rrc.eutra_cap_feat_group_ind_21", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_21_val), 0, + "EUTRA Feature Group Indicator 21", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_22, + { "Indicator 22", "lte-rrc.eutra_cap_feat_group_ind_22", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_22_val), 0, + "EUTRA Feature Group Indicator 22", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_23, + { "Indicator 23", "lte-rrc.eutra_cap_feat_group_ind_23", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_23_val), 0, + "EUTRA Feature Group Indicator 23", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_24, + { "Indicator 24", "lte-rrc.eutra_cap_feat_group_ind_24", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_24_val), 0, + "EUTRA Feature Group Indicator 24", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_25, + { "Indicator 25", "lte-rrc.eutra_cap_feat_group_ind_25", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_25_val), 0, + "EUTRA Feature Group Indicator 25", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_26, + { "Indicator 26", "lte-rrc.eutra_cap_feat_group_ind_26", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_26_val), 0, + "EUTRA Feature Group Indicator 26", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_27, + { "Indicator 27", "lte-rrc.eutra_cap_feat_group_ind_27", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_27_val), 0, + "EUTRA Feature Group Indicator 27", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_28, + { "Indicator 28", "lte-rrc.eutra_cap_feat_group_ind_28", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_28_val), 0, + "EUTRA Feature Group Indicator 28", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_29, + { "Indicator 29", "lte-rrc.eutra_cap_feat_group_ind_29", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_29_val), 0, + "EUTRA Feature Group Indicator 29", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_30, + { "Indicator 30", "lte-rrc.eutra_cap_feat_group_ind_30", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_30_val), 0, + "EUTRA Feature Group Indicator 30", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_31, + { "Indicator 31", "lte-rrc.eutra_cap_feat_group_ind_31", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_31_val), 0, + "EUTRA Feature Group Indicator 31", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_32, + { "Indicator 32", "lte-rrc.eutra_cap_feat_group_ind_32", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_32_val), 0, + "EUTRA Feature Group Indicator 32", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_33, + { "Indicator 33", "lte-rrc.eutra_cap_feat_group_ind_33", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_33_val), 0, + "EUTRA Feature Group Indicator 33", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_34, + { "Indicator 34", "lte-rrc.eutra_cap_feat_group_ind_34", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_34_val), 0, + "EUTRA Feature Group Indicator 34", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_35, + { "Indicator 35", "lte-rrc.eutra_cap_feat_group_ind_35", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_35_val), 0, + "EUTRA Feature Group Indicator 35", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_36, + { "Indicator 36", "lte-rrc.eutra_cap_feat_group_ind_36", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_36_val), 0, + "EUTRA Feature Group Indicator 36", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_37, + { "Indicator 37", "lte-rrc.eutra_cap_feat_group_ind_37", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_37_val), 0, + "EUTRA Feature Group Indicator 37", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_38, + { "Indicator 38", "lte-rrc.eutra_cap_feat_group_ind_38", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_38_val), 0, + "EUTRA Feature Group Indicator 38", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_39, + { "Indicator 39", "lte-rrc.eutra_cap_feat_group_ind_39", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_39_val), 0, + "EUTRA Feature Group Indicator 39", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_40, + { "Indicator 40", "lte-rrc.eutra_cap_feat_group_ind_40", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_40_val), 0, + "EUTRA Feature Group Indicator 40", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_41, + { "Indicator 41", "lte-rrc.eutra_cap_feat_group_ind_41", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_41_val), 0, + "EUTRA Feature Group Indicator 41", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_42, + { "Indicator 42", "lte-rrc.eutra_cap_feat_group_ind_42", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_42_val), 0, + "EUTRA Feature Group Indicator 42", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_43, + { "Indicator 43", "lte-rrc.eutra_cap_feat_group_ind_43", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_43_val), 0, + "EUTRA Feature Group Indicator 43", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_44, + { "Indicator 44", "lte-rrc.eutra_cap_feat_group_ind_44", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_44_val), 0, + "EUTRA Feature Group Indicator 44", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_45, + { "Indicator 45", "lte-rrc.eutra_cap_feat_group_ind_45", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_45_val), 0, + "EUTRA Feature Group Indicator 45", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_46, + { "Indicator 46", "lte-rrc.eutra_cap_feat_group_ind_46", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_46_val), 0, + "EUTRA Feature Group Indicator 46", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_47, + { "Indicator 47", "lte-rrc.eutra_cap_feat_group_ind_47", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_47_val), 0, + "EUTRA Feature Group Indicator 47", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_48, + { "Indicator 48", "lte-rrc.eutra_cap_feat_group_ind_48", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_48_val), 0, + "EUTRA Feature Group Indicator 48", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_49, + { "Indicator 49", "lte-rrc.eutra_cap_feat_group_ind_49", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_49_val), 0, + "EUTRA Feature Group Indicator 49", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_50, + { "Indicator 50", "lte-rrc.eutra_cap_feat_group_ind_50", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_50_val), 0, + "EUTRA Feature Group Indicator 50", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_51, + { "Indicator 51", "lte-rrc.eutra_cap_feat_group_ind_51", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_51_val), 0, + "EUTRA Feature Group Indicator 51", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_52, + { "Indicator 52", "lte-rrc.eutra_cap_feat_group_ind_52", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_52_val), 0, + "EUTRA Feature Group Indicator 52", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_53, + { "Indicator 53", "lte-rrc.eutra_cap_feat_group_ind_53", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_53_val), 0, + "EUTRA Feature Group Indicator 53", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_54, + { "Indicator 54", "lte-rrc.eutra_cap_feat_group_ind_54", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_54_val), 0, + "EUTRA Feature Group Indicator 54", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_55, + { "Indicator 55", "lte-rrc.eutra_cap_feat_group_ind_55", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_55_val), 0, + "EUTRA Feature Group Indicator 55", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_56, + { "Indicator 56", "lte-rrc.eutra_cap_feat_group_ind_56", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_56_val), 0, + "EUTRA Feature Group Indicator 56", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_57, + { "Indicator 57", "lte-rrc.eutra_cap_feat_group_ind_57", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_57_val), 0, + "EUTRA Feature Group Indicator 57", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_58, + { "Indicator 58", "lte-rrc.eutra_cap_feat_group_ind_58", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_58_val), 0, + "EUTRA Feature Group Indicator 58", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_59, + { "Indicator 59", "lte-rrc.eutra_cap_feat_group_ind_59", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_59_val), 0, + "EUTRA Feature Group Indicator 59", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_60, + { "Indicator 60", "lte-rrc.eutra_cap_feat_group_ind_60", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_60_val), 0, + "EUTRA Feature Group Indicator 60", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_61, + { "Indicator 61", "lte-rrc.eutra_cap_feat_group_ind_61", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_61_val), 0, + "EUTRA Feature Group Indicator 61", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_62, + { "Indicator 62", "lte-rrc.eutra_cap_feat_group_ind_62", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_62_val), 0, + "EUTRA Feature Group Indicator 62", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_63, + { "Indicator 63", "lte-rrc.eutra_cap_feat_group_ind_63", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_63_val), 0, + "EUTRA Feature Group Indicator 63", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_64, + { "Indicator 64", "lte-rrc.eutra_cap_feat_group_ind_64", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_64_val), 0, + "EUTRA Feature Group Indicator 64", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_101, + { "Indicator 101", "lte-rrc.eutra_cap_feat_group_ind_101", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_101_val), 0, + "EUTRA Feature Group Indicator 101", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_102, + { "Indicator 102", "lte-rrc.eutra_cap_feat_group_ind_102", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_102_val), 0, + "EUTRA Feature Group Indicator 102", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_103, + { "Indicator 103", "lte-rrc.eutra_cap_feat_group_ind_103", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_103_val), 0, + "EUTRA Feature Group Indicator 103", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_104, + { "Indicator 104", "lte-rrc.eutra_cap_feat_group_ind_104", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_104_val), 0, + "EUTRA Feature Group Indicator 104", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_105, + { "Indicator 105", "lte-rrc.eutra_cap_feat_group_ind_105", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_105_val), 0, + "EUTRA Feature Group Indicator 105", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_106, + { "Indicator 106", "lte-rrc.eutra_cap_feat_group_ind_106", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_106_val), 0, + "EUTRA Feature Group Indicator 106", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_107, + { "Indicator 107", "lte-rrc.eutra_cap_feat_group_ind_107", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_107_val), 0, + "EUTRA Feature Group Indicator 107", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_108, + { "Indicator 108", "lte-rrc.eutra_cap_feat_group_ind_108", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_108_val), 0, + "EUTRA Feature Group Indicator 108", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_109, + { "Indicator 109", "lte-rrc.eutra_cap_feat_group_ind_109", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_109_val), 0, + "EUTRA Feature Group Indicator 109", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_110, + { "Indicator 110", "lte-rrc.eutra_cap_feat_group_ind_110", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_110_val), 0, + "EUTRA Feature Group Indicator 110", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_111, + { "Indicator 111", "lte-rrc.eutra_cap_feat_group_ind_111", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_111_val), 0, + "EUTRA Feature Group Indicator 111", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_112, + { "Indicator 112", "lte-rrc.eutra_cap_feat_group_ind_112", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_112_val), 0, + "EUTRA Feature Group Indicator 112", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_113, + { "Indicator 113", "lte-rrc.eutra_cap_feat_group_ind_113", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_113_val), 0, + "EUTRA Feature Group Indicator 113", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_114, + { "Indicator 114", "lte-rrc.eutra_cap_feat_group_ind_114", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_114_val), 0, + "EUTRA Feature Group Indicator 114", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_115, + { "Indicator 115", "lte-rrc.eutra_cap_feat_group_ind_115", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_115_val), 0, + "EUTRA Feature Group Indicator 115", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_116, + { "Indicator 116", "lte-rrc.eutra_cap_feat_group_ind_116", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_116_val), 0, + "EUTRA Feature Group Indicator 116", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_117, + { "Indicator 117", "lte-rrc.eutra_cap_feat_group_ind_117", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_117_val), 0, + "EUTRA Feature Group Indicator 117", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_118, + { "Indicator 118", "lte-rrc.eutra_cap_feat_group_ind_118", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_118_val), 0, + "EUTRA Feature Group Indicator 118", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_119, + { "Indicator 119", "lte-rrc.eutra_cap_feat_group_ind_119", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_119_val), 0, + "EUTRA Feature Group Indicator 119", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_120, + { "Indicator 120", "lte-rrc.eutra_cap_feat_group_ind_120", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_120_val), 0, + "EUTRA Feature Group Indicator 120", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_121, + { "Indicator 121", "lte-rrc.eutra_cap_feat_group_ind_121", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_121_val), 0, + "EUTRA Feature Group Indicator 121", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_122, + { "Indicator 122", "lte-rrc.eutra_cap_feat_group_ind_122", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_122_val), 0, + "EUTRA Feature Group Indicator 122", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_123, + { "Indicator 123", "lte-rrc.eutra_cap_feat_group_ind_123", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_123_val), 0, + "EUTRA Feature Group Indicator 123", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_124, + { "Indicator 124", "lte-rrc.eutra_cap_feat_group_ind_124", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_124_val), 0, + "EUTRA Feature Group Indicator 124", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_125, + { "Indicator 125", "lte-rrc.eutra_cap_feat_group_ind_125", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_125_val), 0, + "EUTRA Feature Group Indicator 125", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_126, + { "Indicator 126", "lte-rrc.eutra_cap_feat_group_ind_126", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_126_val), 0, + "EUTRA Feature Group Indicator 126", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_127, + { "Indicator 127", "lte-rrc.eutra_cap_feat_group_ind_127", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_127_val), 0, + "EUTRA Feature Group Indicator 127", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_128, + { "Indicator 128", "lte-rrc.eutra_cap_feat_group_ind_128", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_128_val), 0, + "EUTRA Feature Group Indicator 128", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_129, + { "Indicator 129", "lte-rrc.eutra_cap_feat_group_ind_129", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_129_val), 0, + "EUTRA Feature Group Indicator 129", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_130, + { "Indicator 130", "lte-rrc.eutra_cap_feat_group_ind_130", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_130_val), 0, + "EUTRA Feature Group Indicator 130", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_131, + { "Indicator 131", "lte-rrc.eutra_cap_feat_group_ind_131", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_131_val), 0, + "EUTRA Feature Group Indicator 131", HFILL }}, + { &hf_lte_rrc_eutra_cap_feat_group_ind_132, + { "Indicator 132", "lte-rrc.eutra_cap_feat_group_ind_132", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_eutra_cap_feat_group_ind_132_val), 0, + "EUTRA Feature Group Indicator 132", HFILL }}, + { &hf_lte_rrc_serialNumber_gs, + { "Geographical Scope", "lte-rrc.serialNumber.gs", + FT_UINT16, BASE_DEC, VALS(lte_rrc_serialNumber_gs_vals), 0xc000, + NULL, HFILL }}, + { &hf_lte_rrc_serialNumber_msg_code, + { "Message Code", "lte-rrc.serialNumber.msg_code", + FT_UINT16, BASE_DEC, NULL, 0x3ff0, + NULL, HFILL }}, + { &hf_lte_rrc_serialNumber_upd_nb, + { "Update Number", "lte-rrc.serialNumber.upd_nb", + FT_UINT16, BASE_DEC, NULL, 0x000f, + NULL, HFILL }}, + { &hf_lte_rrc_warningType_value, + { "Warning Type Value", "lte-rrc.warningType.value", + FT_UINT16, BASE_DEC, VALS(lte_rrc_warningType_vals), 0xfe00, + NULL, HFILL }}, + { &hf_lte_rrc_warningType_emergency_user_alert, + { "Emergency User Alert", "lte-rrc.warningType.emergency_user_alert", + FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100, + NULL, HFILL }}, + { &hf_lte_rrc_warningType_popup, + { "Popup", "lte-rrc.warningType.popup", + FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080, + NULL, HFILL }}, + { &hf_lte_rrc_warningMessageSegment_nb_pages, + { "Number of Pages", "lte-rrc.warningMessageSegment.nb_pages", + FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_warningMessageSegment_decoded_page, + { "Decoded Page", "lte-rrc.warningMessageSegment.decoded_page", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit1, + { "Bit 1", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit1", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_interBandTDD_CA_WithDifferentConfig_bit1_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_interBandTDD_CA_WithDifferentConfig_bit2, + { "Bit 2", "lte-rrc.interBandTDD_CA_WithDifferentConfig.bit2", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_interBandTDD_CA_WithDifferentConfig_bit2_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1, + { "Bit 1", "lte-rrc.tdd_FDD_CA_PCellDuplex_r12.bit1", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_tdd_FDD_CA_PCellDuplex_r12_bit1_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2, + { "Bit 2", "lte-rrc.tdd_FDD_CA_PCellDuplex_r12.bit2", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_tdd_FDD_CA_PCellDuplex_r12_bit2_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_codebook_HARQ_ACK_r13_bit1, + { "Bit 1", "lte-rrc.codebook_HARQ_ACK_r13.bit1", + FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_codebook_HARQ_ACK_r13_bit1_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_codebook_HARQ_ACK_r13_bit2, + { "Bit 2", "lte-rrc.codebook_HARQ_ACK_r13.bit2", + FT_BOOLEAN, BASE_NONE, TFS(&hf_lte_rrc_codebook_HARQ_ACK_r13_bit2_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_sr_config_periodicity, + { "Periodicity", "lte-rrc.sr_Periodicity", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_sr_config_subframe_offset, + { "Subframe Offset", "lte-rrc.sr_SubframeOffset", + FT_UINT16, BASE_DEC, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_cdma_time, + { "CDMA time", "lte-rrc.cdma_time", + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_utc_time, + { "UTC time", "lte-rrc.utc_time", + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_local_time, + { "Local time", "lte-rrc.local_time", + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_absolute_time, + { "Absolute time", "lte-rrc.absolute_time", + FT_STRING, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm1, + { "TM1", "lte-rrc.transmissionModeList_r12.tm1", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm2, + { "TM2", "lte-rrc.transmissionModeList_r12.tm2", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm3, + { "TM3", "lte-rrc.transmissionModeList_r12.tm3", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm4, + { "TM4", "lte-rrc.transmissionModeList_r12.tm4", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm6, + { "TM6", "lte-rrc.transmissionModeList_r12.tm6", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm8, + { "TM8", "lte-rrc.transmissionModeList_r12.tm8", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm9, + { "TM9", "lte-rrc.transmissionModeList_r12.tm9", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_transmissionModeList_r12_tm10, + { "TM10", "lte-rrc.transmissionModeList_r12.tm10", + FT_BOOLEAN, BASE_NONE, TFS(<e_rrc_transmissionModeList_r12_val), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_0, + { "MPR/A-MPR behavior 0", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_0", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_1, + { "MPR/A-MPR behavior 1", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_1", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_2, + { "MPR/A-MPR behavior 2", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_2", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_3, + { "MPR/A-MPR behavior 3", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_3", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_4, + { "MPR/A-MPR behavior 4", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_4", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_5, + { "MPR/A-MPR behavior 5", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_5", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_6, + { "MPR/A-MPR behavior 6", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_6", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_7, + { "MPR/A-MPR behavior 7", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_7", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_8, + { "MPR/A-MPR behavior 8", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_8", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_9, + { "MPR/A-MPR behavior 9", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_9", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_10, + { "MPR/A-MPR behavior 10", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_10", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_11, + { "MPR/A-MPR behavior 11", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_11", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_12, + { "MPR/A-MPR behavior 12", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_12", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_13, + { "MPR/A-MPR behavior 13", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_13", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_14, + { "MPR/A-MPR behavior 14", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_14", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_15, + { "MPR/A-MPR behavior 15", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_15", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_16, + { "MPR/A-MPR behavior 16", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_16", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_17, + { "MPR/A-MPR behavior 17", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_17", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_18, + { "MPR/A-MPR behavior 18", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_18", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_19, + { "MPR/A-MPR behavior 19", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_19", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_20, + { "MPR/A-MPR behavior 20", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_20", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_21, + { "MPR/A-MPR behavior 21", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_21", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_22, + { "MPR/A-MPR behavior 22", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_22", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_23, + { "MPR/A-MPR behavior 23", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_23", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_24, + { "MPR/A-MPR behavior 24", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_24", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_25, + { "MPR/A-MPR behavior 25", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_25", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_26, + { "MPR/A-MPR behavior 26", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_26", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_27, + { "MPR/A-MPR behavior 27", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_27", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_28, + { "MPR/A-MPR behavior 28", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_28", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_29, + { "MPR/A-MPR behavior 29", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_29", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_30, + { "MPR/A-MPR behavior 30", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_30", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_modifiedMPR_Behavior_r10_mpr_ampr_31, + { "MPR/A-MPR behavior 31", "lte-rrc.modifiedMPR_Behavior_r10.mpr_ampr_31", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_supported_not_supported), 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragments, + { "Fragments", "lte-rrc.warningMessageSegment.fragments", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment, + { "Fragment", "lte-rrc.warningMessageSegment.fragment", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_overlap, + { "Fragment Overlap", "lte-rrc.warningMessageSegment.fragment_overlap", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_overlap_conflict, + { "Fragment Overlap Conflict", "lte-rrc.warningMessageSegment.fragment_overlap_conflict", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_multiple_tails, + { "Fragment Multiple Tails", "lte-rrc.warningMessageSegment.fragment_multiple_tails", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_too_long_fragment, + { "Too Long Fragment", "lte-rrc.warningMessageSegment.fragment_too_long_fragment", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_error, + { "Fragment Error", "lte-rrc.warningMessageSegment.fragment_error", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_fragment_count, + { "Fragment Count", "lte-rrc.warningMessageSegment.fragment_count", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_reassembled_in, + { "Reassembled In", "lte-rrc.warningMessageSegment.reassembled_in", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_reassembled_length, + { "Reassembled Length", "lte-rrc.warningMessageSegment.reassembled_length", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib11_reassembled_data, + { "Reassembled Data", "lte-rrc.warningMessageSegment.reassembled_data", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragments, + { "Fragments", "lte-rrc.warningMessageSegment_r9.fragments", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment, + { "Fragment", "lte-rrc.warningMessageSegment_r9.fragment", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_overlap, + { "Fragment Overlap", "lte-rrc.warningMessageSegment_r9.fragment_overlap", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_overlap_conflict, + { "Fragment Overlap Conflict", "lte-rrc.warningMessageSegment_r9.fragment_overlap_conflict", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_multiple_tails, + { "Fragment Multiple Tails", "lte-rrc.warningMessageSegment_r9.fragment_multiple_tails", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_too_long_fragment, + { "Too Long Fragment", "lte-rrc.warningMessageSegment_r9.fragment_too_long_fragment", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_error, + { "Fragment Error", "lte-rrc.warningMessageSegment_r9.fragment_error", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_fragment_count, + { "Fragment Count", "lte-rrc.warningMessageSegment_r9.fragment_count", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_reassembled_in, + { "Reassembled In", "lte-rrc.warningMessageSegment_r9.reassembled_in", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_reassembled_length, + { "Reassembled Length", "lte-rrc.warningMessageSegment_r9.reassembled_length", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_lte_rrc_sib12_reassembled_data, + { "Reassembled Data", "lte-rrc.warningMessageSegment_r9.reassembled_data", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }} + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_lte_rrc, +#include "packet-lte-rrc-ettarr.c" + + &ett_lte_rrc_featureGroupIndicators, + &ett_lte_rrc_featureGroupIndRel9Add, + &ett_lte_rrc_featureGroupIndRel10, + &ett_lte_rrc_absTimeInfo, + &ett_lte_rrc_nas_SecurityParam, + &ett_lte_rrc_targetRAT_MessageContainer, + &ett_lte_rrc_siPsiSibContainer, + &ett_lte_rrc_dedicatedInfoNAS, + &ett_lte_rrc_timeInfo, + &ett_lte_rrc_serialNumber, + &ett_lte_rrc_warningType, + &ett_lte_rrc_dataCodingScheme, + &ett_lte_rrc_warningMessageSegment, + &ett_lte_rrc_interBandTDD_CA_WithDifferentConfig, + &ett_lte_rrc_tdd_FDD_CA_PCellDuplex_r12, + &ett_lte_rrc_codebook_HARQ_ACK_r13, + &ett_lte_rrc_sr_ConfigIndex, + &ett_lte_rrc_transmissionModeList_r12, + &ett_lte_rrc_modifiedMPR_Behavior_r10, + &ett_lte_rrc_sib11_fragment, + &ett_lte_rrc_sib11_fragments, + &ett_lte_rrc_sib12_fragment, + &ett_lte_rrc_sib12_fragments + }; + + static ei_register_info ei[] = { + { &ei_lte_rrc_number_pages_le15, { "lte_rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}, + { &ei_lte_rrc_si_info_value_changed, { "lte_rrc.si_info_value_changed", PI_SEQUENCE, PI_WARN, "SI Info Value changed", EXPFILL }}, + { &ei_lte_rrc_sibs_changing, { "lte_rrc.sibs_changing", PI_SEQUENCE, PI_WARN, "SIBs changing in next BCCH modification period - signalled in Paging message", EXPFILL }}, + { &ei_lte_rrc_sibs_changing_edrx, { "lte_rrc.sibs_changing_edrx", PI_SEQUENCE, PI_WARN, "SIBs changing in next BCCH modification period for UEs in eDRX mode - signalled in Paging message", EXPFILL }}, + { &ei_lte_rrc_earthquake_warning_sys, { "lte_rrc.earthquake_warning_sys", PI_SEQUENCE, PI_WARN, "Earthquake and Tsunami Warning System Indication!", EXPFILL }}, + { &ei_lte_rrc_commercial_mobile_alert_sys, { "lte_rrc.commercial_mobile_alert_sys", PI_SEQUENCE, PI_WARN, "Commercial Mobile Alert System Indication!", EXPFILL }}, + { &ei_lte_rrc_unexpected_type_value, { "lte_rrc.unexpected_type_value", PI_MALFORMED, PI_ERROR, "Unexpected type value", EXPFILL }}, + { &ei_lte_rrc_unexpected_length_value, { "lte_rrc.unexpected_length_value", PI_MALFORMED, PI_ERROR, "Unexpected type length", EXPFILL }}, + { &ei_lte_rrc_too_many_group_a_rapids, { "lte_rrc.too_many_groupa_rapids", PI_MALFORMED, PI_ERROR, "Too many group A RAPIDs", EXPFILL }}, + { &ei_lte_rrc_invalid_drx_config, { "lte_rrc.invalid_drx_config", PI_MALFORMED, PI_ERROR, "Invalid dedicated DRX config detected", EXPFILL }}, + }; + + expert_module_t* expert_lte_rrc; + + /* Register protocol */ + proto_lte_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME); + + /* These entry points will first create an lte_rrc root node */ + register_dissector("lte_rrc.dl_ccch", dissect_lte_rrc_DL_CCCH, proto_lte_rrc); + register_dissector("lte_rrc.dl_dcch", dissect_lte_rrc_DL_DCCH, proto_lte_rrc); + register_dissector("lte_rrc.ul_ccch", dissect_lte_rrc_UL_CCCH, proto_lte_rrc); + register_dissector("lte_rrc.ul_dcch", dissect_lte_rrc_UL_DCCH, proto_lte_rrc); + register_dissector("lte_rrc.bcch_bch", dissect_lte_rrc_BCCH_BCH, proto_lte_rrc); + register_dissector("lte_rrc.bcch_dl_sch", dissect_lte_rrc_BCCH_DL_SCH, proto_lte_rrc); + register_dissector("lte_rrc.pcch", dissect_lte_rrc_PCCH, proto_lte_rrc); + register_dissector("lte_rrc.mcch", dissect_lte_rrc_MCCH, proto_lte_rrc); + register_dissector("lte_rrc.handover_prep_info", dissect_lte_rrc_Handover_Preparation_Info, proto_lte_rrc); + register_dissector("lte_rrc.sbcch_sl_bch", dissect_lte_rrc_SBCCH_SL_BCH, proto_lte_rrc); + register_dissector("lte_rrc.sc_mcch", dissect_lte_rrc_SC_MCCH, proto_lte_rrc); + + /* Register fields and subtrees */ + proto_register_field_array(proto_lte_rrc, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + expert_lte_rrc = expert_register_protocol(proto_lte_rrc); + expert_register_field_array(expert_lte_rrc, ei, array_length(ei)); + + /* Register the dissectors defined in lte-rrc.conf */ +#include "packet-lte-rrc-dis-reg.c" + + register_init_routine(<e_rrc_init_protocol); + register_cleanup_routine(<e_rrc_cleanup_protocol); +} + + +/*--- proto_reg_handoff_rrc ---------------------------------------*/ +void +proto_reg_handoff_lte_rrc(void) +{ + static dissector_handle_t lte_rrc_dl_ccch_handle; + + lte_rrc_dl_ccch_handle = find_dissector("lte_rrc.dl_ccch"); + dissector_add_for_decode_as("udp.port", lte_rrc_dl_ccch_handle); + nas_eps_handle = find_dissector("nas-eps"); + rrc_irat_ho_to_utran_cmd_handle = find_dissector("rrc.irat.ho_to_utran_cmd"); + rrc_sys_info_cont_handle = find_dissector("rrc.sysinfo.cont"); + gsm_a_dtap_handle = find_dissector("gsm_a_dtap"); + gsm_rlcmac_dl_handle = find_dissector("gsm_rlcmac_dl"); +} + + diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h new file mode 100644 index 0000000000..76ad9df287 --- /dev/null +++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.h @@ -0,0 +1,28 @@ +/* packet-llc-rrc-template.h + * Copyright 2009, Anders Broman <anders.broman@ericsson.com> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef PACKET_LTE_RRC_H +#define PACKET_LTE_RRC_H + +#include "packet-lte-rrc-exp.h" + +#endif /* PACKET_LTE_RRC_H */ |