diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2018-10-04 17:53:19 +0200 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2018-10-05 13:31:31 +0000 |
commit | a3e18c180746188f10389c87282a54a0e22c46d1 (patch) | |
tree | 3eb3fa9bdff05443b3bb4aafbbcb8fd84bd67d7b /epan/dissectors/asn1/nr-rrc | |
parent | 7c890e3307aac34ecf394e67cec7a29d1f1e364d (diff) |
NR RRC: upgrade dissector to v15.3.0
Change-Id: Ie43e784b3bcfe391e2c8fca898ac20ec111f3484
Reviewed-on: https://code.wireshark.org/review/30019
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1/nr-rrc')
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn | 513 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn | 7928 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn | 98 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/nr-rrc.cnf | 666 | ||||
-rw-r--r-- | epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c | 465 |
5 files changed, 6401 insertions, 3269 deletions
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn index 3c8400bbd7..beb7efff8e 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn @@ -1,283 +1,386 @@ --- 3GPP TS 38.331 V15.2.0 (2018-06) +-- 3GPP TS 38.331 V15.3.0 (2018-09) NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS - ARFCN-ValueNR, - CellIdentity, - CSI-RS-Index, - GapConfig, - maxBandComb, - maxNrofSCells, - maxNrofServingCells-1, - maxNrofIndexesToReport, - MeasQuantityResults, - MeasResultList2NR, - MeasResultSCG-Failure, - MeasResultCellListSFTD, - P-Max, - PhysCellId, - RadioBearerConfig, - RRCReconfiguration, - ServCellIndex, --- SetupRelease, - SSB-Index, - SSB-MTC, - ShortMAC-I, - UE-CapabilityRAT-ContainerList + ARFCN-ValueNR, + ARFCN-ValueEUTRA, + CellIdentity, + CSI-RS-Index, + FreqBandIndicatorNR, + GapConfig, + maxBandComb, + maxBands, + maxFeatureSetsPerBand, + maxFreqIDC-MRDC, + maxNrofCombIDC, + maxNrofSCells, + maxNrofServingCells, + maxNrofServingCells-1, + maxNrofServingCellsEUTRA, + maxNrofIndexesToReport, + MeasQuantityResults, + MeasResultSCG-Failure, + MeasResultCellListSFTD, + MeasResultList2NR, + P-Max, + PhysCellId, + RadioBearerConfig, + RAN-NotificationAreaInfo, + RRCReconfiguration, + ServCellIndex, + SetupRelease, + SSB-Index, + SSB-MTC, + SS-RSSI-Measurement, + ShortMAC-I, + SubcarrierSpacing, + UE-CapabilityRAT-ContainerList FROM NR-RRC-Definitions; -- TAG_NR-INTER-NODE-DEFINITIONS-STOP -- TAG-HANDOVER-COMMAND-START -HandoverCommand ::= SEQUENCE { - criticalExtensions CHOICE { - c1 CHOICE{ - handoverCommand HandoverCommand-IEs, - spare3 NULL, spare2 NULL, spare1 NULL - }, - criticalExtensionsFuture SEQUENCE {} - } +HandoverCommand ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverCommand HandoverCommand-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } } -HandoverCommand-IEs ::= SEQUENCE { - handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration), - nonCriticalExtension SEQUENCE {} OPTIONAL +HandoverCommand-IEs ::= SEQUENCE { + handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration), + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-HANDOVER-COMMAND-STOP -- TAG-HANDOVER-PREPARATION-INFORMATION-START -HandoverPreparationInformation ::= SEQUENCE { - criticalExtensions CHOICE { - c1 CHOICE{ - handoverPreparationInformation HandoverPreparationInformation-IEs, - spare3 NULL, spare2 NULL, spare1 NULL - }, - criticalExtensionsFuture SEQUENCE {} - } +HandoverPreparationInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverPreparationInformation HandoverPreparationInformation-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } } HandoverPreparationInformation-IEs ::= SEQUENCE { - ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList, - sourceConfig OCTET STRING (CONTAINING RRCReconfiguration), - rrm-Config RRM-Config OPTIONAL, - as-Context AS-Context OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL + ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList, + sourceConfig AS-Config OPTIONAL, -- Cond HO + rrm-Config RRM-Config OPTIONAL, + as-Context AS-Context OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } -AS-Context ::= SEQUENCE { - reestablishmentInfo SEQUENCE { - sourcePhysCellId PhysCellId, - targetCellShortMAC-I ShortMAC-I, - additionalReestabInfoList ReestabNCellInfoList OPTIONAL - } OPTIONAL, - -- FFS Whether to change e.g. move all re-establishment info to Xx - configRestrictInfo ConfigRestrictInfoSCG OPTIONAL, - ... +AS-Config ::= SEQUENCE { + rrcReconfiguration OCTET STRING (CONTAINING RRCReconfiguration), + ... } -ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo +AS-Context ::= SEQUENCE { + reestablishmentInfo ReestablishmentInfo OPTIONAL, + configRestrictInfo ConfigRestrictInfoSCG OPTIONAL, + ..., + [[ ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL + ]] +} + +ReestablishmentInfo ::= SEQUENCE { + sourcePhysCellId PhysCellId, + targetCellShortMAC-I ShortMAC-I, + additionalReestabInfoList ReestabNCellInfoList OPTIONAL +} + +ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo ReestabNCellInfo::= SEQUENCE{ - cellIdentity CellIdentity, - key-gNodeB-Star BIT STRING (SIZE (256)), - shortMAC-I ShortMAC-I -} - -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 MeasResultList2NR OPTIONAL, - ... + cellIdentity CellIdentity, + key-gNodeB-Star BIT STRING (SIZE (256)), + shortMAC-I ShortMAC-I +} + +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 MeasResultList2NR OPTIONAL, + ... } -- TAG-HANDOVER-PREPARATION-INFORMATION-STOP -- TAG-CG-CONFIG-START -CG-Config ::= SEQUENCE { - criticalExtensions CHOICE { - c1 CHOICE{ - cg-Config CG-Config-IEs, - spare3 NULL, spare2 NULL, spare1 NULL - }, - criticalExtensionsFuture SEQUENCE {} - } +CG-Config ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + cg-Config CG-Config-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } } -CG-Config-IEs ::= SEQUENCE { - scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, - scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, - configRestrictModReq ConfigRestrictModReqSCG OPTIONAL, - drx-InfoSCG DRX-Info OPTIONAL, - candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, - measConfigSN MeasConfigSN OPTIONAL, - selectedBandCombinationNR BandCombinationIndex OPTIONAL, - fr-InfoListSCG FR-InfoList OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +CG-Config-IEs ::= SEQUENCE { + scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, + scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, + configRestrictModReq ConfigRestrictModReqSCG OPTIONAL, + drx-InfoSCG DRX-Info OPTIONAL, + candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, + measConfigSN MeasConfigSN OPTIONAL, + selectedBandCombinationNR BandCombinationInfoSN OPTIONAL, + fr-InfoListSCG FR-InfoList OPTIONAL, + candidateServingFreqListNR CandidateServingFreqListNR OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } MeasConfigSN ::= SEQUENCE { - measuredFrequenciesSN SEQUENCE (SIZE (1.. maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL, - ... + measuredFrequenciesSN SEQUENCE (SIZE (1..maxMeasFreqsSN)) OF NR-FreqInfo OPTIONAL, + ... } NR-FreqInfo ::= SEQUENCE { - measuredFrequency ARFCN-ValueNR OPTIONAL, - ... + measuredFrequency ARFCN-ValueNR OPTIONAL, + ... } -ConfigRestrictModReqSCG ::= SEQUENCE { - requestedBC-MRDC BandCombinationIndex OPTIONAL, - requestedP-MaxFR1 P-Max OPTIONAL, - ... +ConfigRestrictModReqSCG ::= SEQUENCE { + requestedBC-MRDC BandCombinationInfoSN OPTIONAL, + requestedP-MaxFR1 P-Max OPTIONAL, + ... } BandCombinationIndex ::= INTEGER (1..maxBandComb) +BandCombinationInfoSN ::= SEQUENCE { + bandCombinationIndex BandCombinationIndex, + requestedFeatureSets FeatureSetEntryIndex +} + FR-InfoList ::= SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF FR-Info FR-Info ::= SEQUENCE { - servCellIndex ServCellIndex, - fr-Type ENUMERATED {fr1, fr2} + servCellIndex ServCellIndex, + fr-Type ENUMERATED {fr1, fr2} } +CandidateServingFreqListNR ::= SEQUENCE (SIZE (1.. maxFreqIDC-MRDC)) OF ARFCN-ValueNR + + -- TAG-CG-CONFIG-STOP -- TAG-CG-CONFIG-INFO-START -CG-ConfigInfo ::= SEQUENCE { - criticalExtensions CHOICE { - c1 CHOICE{ - cg-ConfigInfo CG-ConfigInfo-IEs, - spare3 NULL, spare2 NULL, spare1 NULL - }, - criticalExtensionsFuture SEQUENCE {} - } -} - -CG-ConfigInfo-IEs ::= SEQUENCE { - ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition - candidateCellInfoListMN MeasResultList2NR OPTIONAL, - candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, - measResultCellListSFTD MeasResultCellListSFTD OPTIONAL, - scgFailureInfo SEQUENCE { - failureType ENUMERATED { t310-Expiry, randomAccessProblem, - rlc-MaxNumRetx, scg-ChangeFailure, - scg-reconfigFailure, - srb3-IntegrityFailure}, - measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure) - } OPTIONAL, - configRestrictInfo ConfigRestrictInfoSCG OPTIONAL, - drx-InfoMCG DRX-Info OPTIONAL, - measConfigMN MeasConfigMN OPTIONAL, - sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, - scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, - mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL -} - -ConfigRestrictInfoSCG ::= SEQUENCE { - allowedBC-ListMRDC BandCombinationIndexList OPTIONAL, - powerCoordination-FR1 SEQUENCE { - p-maxNR P-Max OPTIONAL, - p-maxEUTRA P-Max OPTIONAL - } OPTIONAL, - servCellIndexRangeSCG SEQUENCE { - lowBound ServCellIndex, - upBound ServCellIndex - } OPTIONAL, -- Cond SN-Addition - maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL, - maxMeasIdentitiesSCG-NR INTEGER(1..maxMeasIdentitiesMN) OPTIONAL, - ... -} - -BandCombinationIndexList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationIndex - -DRX-Info ::= SEQUENCE { - drx-LongCycleStartOffset CHOICE { - ms10 INTEGER(0..9), - ms20 INTEGER(0..19), - ms32 INTEGER(0..31), - ms40 INTEGER(0..39), - ms60 INTEGER(0..59), - ms64 INTEGER(0..63), - ms70 INTEGER(0..69), - ms80 INTEGER(0..79), - ms128 INTEGER(0..127), - ms160 INTEGER(0..159), - ms256 INTEGER(0..255), - ms320 INTEGER(0..319), - ms512 INTEGER(0..511), - ms640 INTEGER(0..639), - ms1024 INTEGER(0..1023), - ms1280 INTEGER(0..1279), - ms2048 INTEGER(0..2047), - ms2560 INTEGER(0..2559), - ms5120 INTEGER(0..5119), - ms10240 INTEGER(0..10239) - }, - shortDRX SEQUENCE { - drx-ShortCycle ENUMERATED { - ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, - ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9, - spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, - drx-ShortCycleTimer INTEGER (1..16) - } OPTIONAL +CG-ConfigInfo ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + cg-ConfigInfo CG-ConfigInfo-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +CG-ConfigInfo-IEs ::= SEQUENCE { + ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition + candidateCellInfoListMN MeasResultList2NR OPTIONAL, + candidateCellInfoListSN OCTET STRING (CONTAINING MeasResultList2NR) OPTIONAL, + measResultCellListSFTD MeasResultCellListSFTD OPTIONAL, + scgFailureInfo SEQUENCE { + failureType ENUMERATED { t310-Expiry, randomAccessProblem, + rlc-MaxNumRetx, scg-ChangeFailure, + scg-reconfigFailure, + srb3-IntegrityFailure}, + measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure) + } OPTIONAL, + configRestrictInfo ConfigRestrictInfoSCG OPTIONAL, + drx-InfoMCG DRX-Info OPTIONAL, + measConfigMN MeasConfigMN OPTIONAL, + sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL, + scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, + mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL, + mrdc-AssistanceInfo MRDC-AssistanceInfo OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +ConfigRestrictInfoSCG ::= SEQUENCE { + allowedBC-ListMRDC BandCombinationInfoList OPTIONAL, + powerCoordination-FR1 SEQUENCE { + p-maxNR-FR1 P-Max OPTIONAL, + p-maxEUTRA P-Max OPTIONAL, + p-maxUE-FR1 P-Max OPTIONAL + } OPTIONAL, + servCellIndexRangeSCG SEQUENCE { + lowBound ServCellIndex, + upBound ServCellIndex + } OPTIONAL, -- Cond SN-Addition + maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL, + maxMeasIdentitiesSCG-NR INTEGER(1..maxMeasIdentitiesMN) OPTIONAL, + ... +} + +BandCombinationInfoList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationInfo + +BandCombinationInfo ::= SEQUENCE { + bandCombinationIndex BandCombinationIndex, + allowedFeatureSetsList SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSetEntryIndex +} + +FeatureSetEntryIndex ::= INTEGER (1.. maxFeatureSetsPerBand) + +DRX-Info ::= SEQUENCE { + drx-LongCycleStartOffset CHOICE { + ms10 INTEGER(0..9), + ms20 INTEGER(0..19), + ms32 INTEGER(0..31), + ms40 INTEGER(0..39), + ms60 INTEGER(0..59), + ms64 INTEGER(0..63), + ms70 INTEGER(0..69), + ms80 INTEGER(0..79), + ms128 INTEGER(0..127), + ms160 INTEGER(0..159), + ms256 INTEGER(0..255), + ms320 INTEGER(0..319), + ms512 INTEGER(0..511), + ms640 INTEGER(0..639), + ms1024 INTEGER(0..1023), + ms1280 INTEGER(0..1279), + ms2048 INTEGER(0..2047), + ms2560 INTEGER(0..2559), + ms5120 INTEGER(0..5119), + ms10240 INTEGER(0..10239) + }, + shortDRX SEQUENCE { + drx-ShortCycle ENUMERATED { + ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, + ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9, + spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, + drx-ShortCycleTimer INTEGER (1..16) + } OPTIONAL } MeasConfigMN ::= SEQUENCE { - measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL, - measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL, - gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL, - ... + measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL, + measGapConfig CHOICE { release NULL, setup GapConfig } OPTIONAL, + gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL, + ... } +MRDC-AssistanceInfo ::= SEQUENCE { + affectedCarrierFreqCombInfoListMRDC SEQUENCE (SIZE (1..maxNrofCombIDC)) OF AffectedCarrierFreqCombInfoMRDC, + ... +} + +AffectedCarrierFreqCombInfoMRDC ::= SEQUENCE { + victimSystemType VictimSystemType, + interferenceDirectionMRDC ENUMERATED {eutra-nr, nr, other, utra-nr-other, nr-other, spare3, spare2, spare1}, + affectedCarrierFreqCombMRDC SEQUENCE { + affectedCarrierFreqCombEUTRA AffectedCarrierFreqCombEUTRA OPTIONAL, + affectedCarrierFreqCombNR AffectedCarrierFreqCombNR + } OPTIONAL +} + +VictimSystemType ::= SEQUENCE { + gps ENUMERATED {true} OPTIONAL, + glonass ENUMERATED {true} OPTIONAL, + bds ENUMERATED {true} OPTIONAL, + galileo ENUMERATED {true} OPTIONAL, + wlan ENUMERATED {true} OPTIONAL, + bluetooth ENUMERATED {true} OPTIONAL +} + +AffectedCarrierFreqCombEUTRA ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ARFCN-ValueEUTRA + +AffectedCarrierFreqCombNR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF ARFCN-ValueNR -- TAG-CG-CONFIG-INFO-STOP -- TAG-MEASUREMENT-TIMING-CONFIGURATION-START -MeasurementTimingConfiguration ::= SEQUENCE { - criticalExtensions CHOICE { - c1 CHOICE{ - measTimingConf MeasurementTimingConfiguration-IEs, - spare3 NULL, spare2 NULL, spare1 NULL - }, - criticalExtensionsFuture SEQUENCE {} - } +MeasurementTimingConfiguration ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + measTimingConf MeasurementTimingConfiguration-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } } -MeasurementTimingConfiguration-IEs ::= SEQUENCE { - measTiming MeasTimingList OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +MeasurementTimingConfiguration-IEs ::= SEQUENCE { + measTiming MeasTimingList OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming MeasTiming ::= SEQUENCE { - frequencyAndTiming SEQUENCE { - carrierFreq ARFCN-ValueNR, - ssb-MeasurementTimingConfiguration SSB-MTC - } OPTIONAL, - ... + frequencyAndTiming SEQUENCE { + carrierFreq ARFCN-ValueNR, + ssbSubcarrierSpacing SubcarrierSpacing, + ssb-MeasurementTimingConfiguration SSB-MTC, + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL + } OPTIONAL, + ... } -- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP + +UERadioPagingInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioPagingInformation UERadioPagingInformation-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioPagingInformation-IEs ::= SEQUENCE { + supportedBandListNRForPaging SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + + +UERadioAccessCapabilityInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioAccessCapabilityInformation + UERadioAccessCapabilityInformation-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioAccessCapabilityInformation-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + -- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-START -maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies -maxMeasFreqsSN INTEGER ::= 32 -- Maximum number of SN-configured measurement frequencies -maxMeasIdentitiesMN INTEGER ::= 62 -- Maximum number of measurement identities that a UE can be configured with -maxCellPrep INTEGER ::= 32 -- Maximum number of cells prepared for handover +maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies +maxMeasFreqsSN INTEGER ::= 32 -- Maximum number of SN-configured measurement frequencies +maxMeasIdentitiesMN INTEGER ::= 62 -- Maximum number of measurement identities that a UE can be configured with +maxCellPrep INTEGER ::= 32 -- Maximum number of cells prepared for handover -- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-STOP -- TAG_NR-INTER-NODE-DEFINITIONS-END-START diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn index 96502b461a..7b7bb1b170 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 38.331 V15.2.0 (2018-06) +-- 3GPP TS 38.331 V15.3.0 (2018-09) NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= @@ -7,152 +7,899 @@ BEGIN -- TAG-NR-RRC-DEFINITIONS-STOP -- TAG-BCCH-BCH-MESSAGE-START -BCCH-BCH-Message ::= SEQUENCE { - message BCCH-BCH-MessageType +BCCH-BCH-Message ::= SEQUENCE { + message BCCH-BCH-MessageType } -BCCH-BCH-MessageType ::= CHOICE { - mib MIB, - messageClassExtension SEQUENCE {} +BCCH-BCH-MessageType ::= CHOICE { + mib MIB, + messageClassExtension SEQUENCE {} } -- TAG-BCCH-BCH-MESSAGE-STOP +-- TAG-BCCH-DL-SCH-MESSAGE-START + +BCCH-DL-SCH-Message ::= SEQUENCE { + message BCCH-DL-SCH-MessageType +} + +BCCH-DL-SCH-MessageType ::= CHOICE { + c1 CHOICE { + systemInformation SystemInformation, + systemInformationBlockType1 SIB1 + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-BCCH-DL-SCH-MESSAGE-STOP +-- TAG-DL-CCCH-MESSAGE-START + + +DL-CCCH-Message ::= SEQUENCE { + message DL-CCCH-MessageType +} + +DL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcReject RRCReject, + rrcSetup RRCSetup, + spare2 NULL, + spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-DL-CCCH-MESSAGE-STOP -- TAG-DL-DCCH-MESSAGE-START -DL-DCCH-Message ::= SEQUENCE { - message DL-DCCH-MessageType +DL-DCCH-Message ::= SEQUENCE { + message DL-DCCH-MessageType } -DL-DCCH-MessageType ::= CHOICE { - c1 CHOICE { - rrcReconfiguration RRCReconfiguration, - spare15 NULL, spare14 NULL, spare13 NULL, - spare12 NULL, spare11 NULL, spare10 NULL, - spare9 NULL, spare8 NULL, spare7 NULL, - spare6 NULL, spare5 NULL, spare4 NULL, - spare3 NULL, spare2 NULL, spare1 NULL - }, - messageClassExtension SEQUENCE {} +DL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcReconfiguration RRCReconfiguration, + rrcResume RRCResume, + rrcRelease RRCRelease, + rrcReestablishment RRCReestablishment, + securityModeCommand SecurityModeCommand, + dlInformationTransfer DLInformationTransfer, + ueCapabilityEnquiry UECapabilityEnquiry, + counterCheck CounterCheck, + mobilityFromNRCommand MobilityFromNRCommand, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} } -- TAG-DL-DCCH-MESSAGE-STOP --- TAG-UL-DCCH-MESSAGE-START +-- TAG-PCCH-PCH-MESSAGE-START + +PCCH-Message ::= SEQUENCE { + message PCCH-MessageType +} -UL-DCCH-Message ::= SEQUENCE { - message UL-DCCH-MessageType +PCCH-MessageType ::= CHOICE { + c1 CHOICE { + paging Paging, + spare1 NULL + }, + messageClassExtension SEQUENCE {} } -UL-DCCH-MessageType ::= CHOICE { - c1 CHOICE { - measurementReport MeasurementReport, - rrcReconfigurationComplete RRCReconfigurationComplete, - spare14 NULL, spare13 NULL, spare12 NULL, - spare11 NULL, spare10 NULL, spare9 NULL, - spare8 NULL, spare7 NULL, spare6 NULL, - spare5 NULL, spare4 NULL, spare3 NULL, - spare2 NULL, spare1 NULL - }, - messageClassExtension SEQUENCE {} +-- TAG-PCCH-PCH-MESSAGE-STOP +-- TAG-UL-CCCH-MESSAGE-START + + +UL-CCCH-Message ::= SEQUENCE { + message UL-CCCH-MessageType +} + +UL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcSetupRequest RRCSetupRequest, + rrcResumeRequest RRCResumeRequest, + rrcReestablishmentRequest RRCReestablishmentRequest, + rrcSystemInfoRequest RRCSystemInfoRequest + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-UL-CCCH-MESSAGE-STOP +-- TAG-UL-CCCH1-MESSAGE-START + + +UL-CCCH1-Message ::= SEQUENCE { + message UL-CCCH1-MessageType +} + +UL-CCCH1-MessageType ::= CHOICE { + c1 CHOICE { + rrcResumeRequest1 RRCResumeRequest1, + spare3 NULL, + spare2 NULL, + spare1 NULL + + }, + messageClassExtension SEQUENCE {} +} + +-- TAG-UL-CCCH1-MESSAGE-STOP +-- TAG-UL-DCCH-MESSAGE-START + +UL-DCCH-Message ::= SEQUENCE { + message UL-DCCH-MessageType +} + +UL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + measurementReport MeasurementReport, + rrcReconfigurationComplete RRCReconfigurationComplete, + rrcSetupComplete RRCSetupComplete, + rrcReestablishmentComplete RRCReestablishmentComplete, + rrcResumeComplete RRCResumeComplete, + securityModeComplete SecurityModeComplete, + securityModeFailure SecurityModeFailure, + ulInformationTransfer ULInformationTransfer, + locationMeasurementIndication LocationMeasurementIndication, + ueCapabilityInformation UECapabilityInformation, + counterCheckResponse CounterCheckResponse, + ueAssistanceInformation UEAssistanceInformation, + spare4 NULL, spare3 NULL, + spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} } -- TAG-UL-DCCH-MESSAGE-STOP +-- TAG-COUNTERCHECK-START + + +CounterCheck ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + counterCheck CounterCheck-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheck-IEs ::= SEQUENCE { + drb-CountMSB-InfoList DRB-CountMSB-InfoList, + 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) +} + +-- TAG-COUNTERCHECK-STOP +-- TAG-COUNTERCHECKRESPONSE-START + +CounterCheckResponse ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + counterCheckResponse CounterCheckResponse-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheckResponse-IEs ::= SEQUENCE { + drb-CountInfoList DRB-CountInfoList, + 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) +} + +-- TAG-COUNTERCHECKRESPONSE-STOP +-- TAG-DLINFORMATIONTRANSFER-START + +DLInformationTransfer ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + dlInformationTransfer DLInformationTransfer-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLInformationTransfer-IEs ::= SEQUENCE { + dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-DLINFORMATIONTRANSFER-STOP +-- TAG-LOCATIONMEASUREMENTINDICATION-START + +LocationMeasurementIndication ::= SEQUENCE { + criticalExtensions CHOICE { + locationMeasurementIndication LocationMeasurementIndication-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +LocationMeasurementIndication-IEs ::= SEQUENCE { + measurementIndication CHOICE { release NULL, setup LocationMeasurementInfo}, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-LOCATIONMEASUREMENTINDICATION-STOP -- TAG-MIB-START -MIB ::= SEQUENCE { - systemFrameNumber BIT STRING (SIZE (6)), - subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120}, - ssb-SubcarrierOffset INTEGER (0..15), - dmrs-TypeA-Position ENUMERATED {pos2, pos3}, - pdcch-ConfigSIB1 INTEGER (0..255), - cellBarred ENUMERATED {barred, notBarred}, - intraFreqReselection ENUMERATED {allowed, notAllowed}, - spare BIT STRING (SIZE (1)) +MIB ::= SEQUENCE { + systemFrameNumber BIT STRING (SIZE (6)), + subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120}, + ssb-SubcarrierOffset INTEGER (0..15), + dmrs-TypeA-Position ENUMERATED {pos2, pos3}, + pdcch-ConfigSIB1 PDCCH-ConfigSIB1, + cellBarred ENUMERATED {barred, notBarred}, + intraFreqReselection ENUMERATED {allowed, notAllowed}, + spare BIT STRING (SIZE (1)) } -- TAG-MIB-STOP -- TAG-MEASUREMENTREPORT-START -MeasurementReport ::= SEQUENCE { - criticalExtensions CHOICE { - measurementReport MeasurementReport-IEs, - criticalExtensionsFuture SEQUENCE {} - } +MeasurementReport ::= SEQUENCE { + criticalExtensions CHOICE { + measurementReport MeasurementReport-IEs, + criticalExtensionsFuture SEQUENCE {} + } } -MeasurementReport-IEs ::= SEQUENCE { - measResults MeasResults, +MeasurementReport-IEs ::= SEQUENCE { + measResults MeasResults, - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE{} OPTIONAL + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL } -- TAG-MEASUREMENTREPORT-STOP --- TAG-RRCRECONFIGURATION-START +-- TAG-MOBILITYFROMNRCOMMAND-START + +MobilityFromNRCommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + mobilityFromNRCommand MobilityFromNRCommand-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +MobilityFromNRCommand-IEs ::= SEQUENCE { + targetRAT-Type ENUMERATED { eutra, spare3, spare2, spare1, ...}, + targetRAT-MessageContainer OCTET STRING, + nas-SecurityParamFromNR OCTET STRING OPTIONAL, -- Cond HO-ToEPC + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-MOBILITYFROMNRCOMMAND-STOP +-- TAG-PAGING-START + +Paging ::= SEQUENCE { + pagingRecordList PagingRecordList OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +PagingRecordList ::= SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord + +PagingRecord ::= SEQUENCE { + ue-Identity PagingUE-Identity, + accessType ENUMERATED {non3GPP} OPTIONAL, -- Need N + ... +} + +PagingUE-Identity ::= CHOICE { + ng-5G-S-TMSI NG-5G-S-TMSI, + i-RNTI I-RNTI-Value, + ... +} + +-- TAG-PAGING-STOP +-- TAG-RRCREESTABLISHMENT-START + +RRCReestablishment ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReestablishment RRCReestablishment-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReestablishment-IEs ::= SEQUENCE { + nextHopChainingCount NextHopChainingCount, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-RRCREESTABLISHMENT-STOP +-- TAG-RRCREESTABLISHMENTCOMPLETE-START + +RRCReestablishmentComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReestablishmentComplete RRCReestablishmentComplete-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReestablishmentComplete-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-RRCREESTABLISHMENTCOMPLETE-STOP +-- TAG-RRCREESTABLISHMENTREQUEST-START -RRCReconfiguration ::= SEQUENCE { - rrc-TransactionIdentifier RRC-TransactionIdentifier, - criticalExtensions CHOICE { - rrcReconfiguration RRCReconfiguration-IEs, - criticalExtensionsFuture SEQUENCE {} - } + +RRCReestablishmentRequest ::= SEQUENCE { + rrcReestablishmentRequest RRCReestablishmentRequest-IEs +} + +RRCReestablishmentRequest-IEs ::= SEQUENCE { + ue-Identity ReestabUE-Identity, + reestablishmentCause ReestablishmentCause, + spare BIT STRING (SIZE (1)) } -RRCReconfiguration-IEs ::= SEQUENCE { - radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M - secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M - measConfig MeasConfig OPTIONAL, -- Need M +ReestabUE-Identity ::= SEQUENCE { + c-RNTI RNTI-Value, + physCellId PhysCellId, + shortMAC-I ShortMAC-I +} + +ReestablishmentCause ::= ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1} + +-- TAG-RRCREESTABLISHMENTREQUEST-STOP +-- TAG-RRCRECONFIGURATION-START - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +RRCReconfiguration ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfiguration RRCReconfiguration-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReconfiguration-IEs ::= SEQUENCE { + radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M + secondaryCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M + measConfig MeasConfig OPTIONAL, -- Need M + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCReconfiguration-v1530-IEs OPTIONAL +} + +RRCReconfiguration-v1530-IEs ::= SEQUENCE { + masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M + fullConfig ENUMERATED {true} OPTIONAL, -- Cond FullConfig + dedicatedNAS-MessageList SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message OPTIONAL, -- Cond nonHO + masterKeyUpdate MasterKeyUpdate OPTIONAL, -- Cond MasterKeyChange + dedicatedSIB1-Delivery OCTET STRING (CONTAINING SIB1) OPTIONAL, -- Need N + dedicatedSystemInformationDelivery OCTET STRING (CONTAINING SystemInformation) OPTIONAL, -- Need N + otherConfig OtherConfig OPTIONAL, -- Need N + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +MasterKeyUpdate ::= SEQUENCE { + keySetChangeIndicator BOOLEAN, + nextHopChainingCount NextHopChainingCount, + nas-Container OCTET STRING OPTIONAL, -- Cond securityNASC + ... } -- TAG-RRCRECONFIGURATION-STOP -- TAG-RRCRECONFIGURATIONCOMPLETE-START -RRCReconfigurationComplete ::= SEQUENCE { - rrc-TransactionIdentifier RRC-TransactionIdentifier, - criticalExtensions CHOICE { - rrcReconfigurationComplete RRCReconfigurationComplete-IEs, - criticalExtensionsFuture SEQUENCE {} - } +RRCReconfigurationComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcReconfigurationComplete RRCReconfigurationComplete-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReconfigurationComplete-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCReconfigurationComplete-v1530-IEs OPTIONAL } -RRCReconfigurationComplete-IEs ::= SEQUENCE { - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +RRCReconfigurationComplete-v1530-IEs ::= SEQUENCE { + uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } -- TAG-RRCRECONFIGURATIONCOMPLETE-STOP --- TAG-SIB1-START +-- TAG-RRCREJECT-START + +RRCReject ::= SEQUENCE { + criticalExtensions CHOICE { + rrcReject RRCReject-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCReject-IEs ::= SEQUENCE { + waitTime RejectWaitTime OPTIONAL, -- Need N + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +RejectWaitTime ::= INTEGER (1..16) + +-- TAG-RRCREJECT-STOP +-- TAG-RRCRELEASE-START + +RRCRelease ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcRelease RRCRelease-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCRelease-IEs ::= SEQUENCE { + redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need N + cellReselectionPriorities CellReselectionPriorities OPTIONAL, -- Need R + suspendConfig SuspendConfig OPTIONAL, -- Need R + deprioritisationReq SEQUENCE { + deprioritisationType ENUMERATED {frequency, nr}, + deprioritisationTimer ENUMERATED {min5, min10, min15, min30} + } OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL + +} + +RedirectedCarrierInfo ::= CHOICE { + nr CarrierInfoNR, + eutra RedirectedCarrierInfo-EUTRA, + ... +} + +RedirectedCarrierInfo-EUTRA ::= SEQUENCE { + eutraFrequency ARFCN-ValueEUTRA, + cnType-r15 ENUMERATED {epc,fiveGC} OPTIONAL +} -SIB1 ::= SEQUENCE { +CarrierInfoNR ::= SEQUENCE { + carrierFreq ARFCN-ValueNR, + ssbSubcarrierSpacing SubcarrierSpacing, + smtc SSB-MTC OPTIONAL, -- Need S + ... +} + +SuspendConfig ::= SEQUENCE { + fullI-RNTI I-RNTI-Value, + shortI-RNTI ShortI-RNTI-Value, + ran-PagingCycle PagingCycle, + ran-NotificationAreaInfo RAN-NotificationAreaInfo OPTIONAL, -- Need M + t380 PeriodicRNAU-TimerValue OPTIONAL, -- Need R + nextHopChainingCount NextHopChainingCount, + ... +} + + +PeriodicRNAU-TimerValue ::= ENUMERATED { min5, min10, min20, min30, min60, min120, min360, min720} + + +CellReselectionPriorities ::= SEQUENCE { + freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need M + freqPriorityListNR FreqPriorityListNR OPTIONAL, -- Need M + t320 ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL, -- Need R + ... +} + +PagingCycle ::= ENUMERATED {rf32, rf64, rf128, rf256} + +FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA + +FreqPriorityListNR ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR + +FreqPriorityEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + cellReselectionPriority CellReselectionPriority, + cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R +} + +FreqPriorityNR ::= SEQUENCE { + carrierFreq ARFCN-ValueNR, + cellReselectionPriority CellReselectionPriority, + cellReselectionSubPriority CellReselectionSubPriority OPTIONAL -- Need R +} + +RAN-NotificationAreaInfo ::= CHOICE { + cellList PLMN-RAN-AreaCellList, + ran-AreaConfigList PLMN-RAN-AreaConfigList, + ... +} + +PLMN-RAN-AreaCellList ::= SEQUENCE (SIZE (1.. maxPLMNIdentities)) OF PLMN-RAN-AreaCell + +PLMN-RAN-AreaCell ::= SEQUENCE { + plmn-Identity PLMN-Identity OPTIONAL, -- Need S + ran-AreaCells SEQUENCE (SIZE (1..32)) OF CellIdentity +} + +PLMN-RAN-AreaConfigList ::= SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaConfig + +PLMN-RAN-AreaConfig ::= SEQUENCE { + plmn-Identity PLMN-Identity OPTIONAL, -- Need S + ran-Area SEQUENCE (SIZE (1..16)) OF RAN-AreaConfig +} + +RAN-AreaConfig ::= SEQUENCE { + trackingAreaCode TrackingAreaCode, + ran-AreaCodeList SEQUENCE (SIZE (1..32)) OF RAN-AreaCode OPTIONAL -- Need R +} + +-- TAG-RRCRELEASE-STOP +-- TAG-RRCRESUME-START + +RRCResume ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcResume RRCResume-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCResume-IEs ::= SEQUENCE { + radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M + masterCellGroup OCTET STRING (CONTAINING CellGroupConfig) OPTIONAL, -- Need M + measConfig MeasConfig OPTIONAL, -- Need M + fullConfig ENUMERATED {true} OPTIONAL, -- Need N + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL + +} + +-- TAG-RRCRESUME-STOP +-- TAG-RRCRESUMECOMPLETE-START + +RRCResumeComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcResumeComplete RRCResumeComplete-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCResumeComplete-IEs ::= SEQUENCE { + dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, + selectedPLMN-Identity INTEGER (1..maxPLMN) OPTIONAL, + uplinkTxDirectCurrentList UplinkTxDirectCurrentList OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-RRCRESUMECOMPLETE-STOP +-- TAG-RRCRESUMEREQUEST-START + +RRCResumeRequest ::= SEQUENCE { + rrcResumeRequest RRCResumeRequest-IEs +} + +RRCResumeRequest-IEs ::= SEQUENCE { + resumeIdentity ShortI-RNTI-Value, + resumeMAC-I BIT STRING (SIZE (16)), + resumeCause ResumeCause, + spare BIT STRING (SIZE (1)) +} + +-- TAG-RRCRESUMEREQUEST-STOP +-- TAG-RRCRESUMEREQUEST1-START + +RRCResumeRequest1 ::= SEQUENCE { + rrcResumeRequest1 RRCResumeRequest1-IEs +} + +RRCResumeRequest1-IEs ::= SEQUENCE { + resumeIdentity I-RNTI-Value, + resumeMAC-I BIT STRING (SIZE (16)), + resumeCause ResumeCause, + spare BIT STRING (SIZE (1)) +} + +-- TAG-RRCRESUMEREQUEST1-STOP +-- TAG-RRCSETUP-START + +RRCSetup ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcSetup RRCSetup-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCSetup-IEs ::= SEQUENCE { + radioBearerConfig RadioBearerConfig, + masterCellGroup OCTET STRING (CONTAINING CellGroupConfig), + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-RRCSETUP-STOP +-- TAG-RRCSETUPCOMPLETE-START + +RRCSetupComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcSetupComplete RRCSetupComplete-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCSetupComplete-IEs ::= SEQUENCE { + selectedPLMN-Identity INTEGER (1..maxPLMN), + registeredAMF RegisteredAMF OPTIONAL, + guami-Type ENUMERATED {native, mapped} OPTIONAL, + s-nssai-List SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI OPTIONAL, + dedicatedNAS-Message DedicatedNAS-Message, + ng-5G-S-TMSI-Value CHOICE { + ng-5G-S-TMSI NG-5G-S-TMSI, + ng-5G-S-TMSI-Part2 BIT STRING (SIZE (9)) + } OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +RegisteredAMF ::= SEQUENCE { + plmn-Identity PLMN-Identity OPTIONAL, + amf-Identifier AMF-Identifier +} + +-- TAG-RRCSETUPCOMPLETE-STOP +-- TAG-RRCSETUPREQUEST-START + +RRCSetupRequest ::= SEQUENCE { + rrcSetupRequest RRCSetupRequest-IEs +} + +RRCSetupRequest-IEs ::= SEQUENCE { + ue-Identity InitialUE-Identity, + establishmentCause EstablishmentCause, + spare BIT STRING (SIZE (1)) +} + +InitialUE-Identity ::= CHOICE { + ng-5G-S-TMSI-Part1 BIT STRING (SIZE (39)), + randomValue BIT STRING (SIZE (39)) +} + +EstablishmentCause ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess, + spare6, spare5, spare4, spare3, spare2, spare1} + +-- TAG-RRCSETUPREQUEST-STOP +-- TAG-RRCSYETEMINFOREQUEST-START + +RRCSystemInfoRequest ::= SEQUENCE { + criticalExtensions CHOICE { + rrcSystemInfoRequest-r15 RRCSystemInfoRequest-r15-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCSystemInfoRequest-r15-IEs ::= SEQUENCE { + requested-SI-List BIT STRING (SIZE (maxSI-Message)), --32bits + spare BIT STRING (SIZE (12)) +} + +-- TAG-RRCSYETEMINFOREQUEST-STOP +-- TAG-SECURITYMODECOMMAND-START + +SecurityModeCommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeCommand SecurityModeCommand-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeCommand-IEs ::= SEQUENCE { + securityConfigSMC SecurityConfigSMC, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +SecurityConfigSMC ::= SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig, + ... +} - -- FFS / TODO: Add other parameters. - frequencyOffsetSSB ENUMERATED {khz-5, khz5} OPTIONAL, -- Need R - ssb-PositionsInBurst SEQUENCE { - inOneGroup BIT STRING (SIZE (8)), - groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond above6GHzOnly - }, - ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160, spare1, spare2}, - ss-PBCH-BlockPower INTEGER (-60..50), +-- TAG-SECURITYMODECOMMAND-STOP +-- TAG-SECURITYMODECOMPLETE-START - uplinkConfigCommon UplinkConfigCommon OPTIONAL, - supplementaryUplink SEQUENCE { - uplinkConfigCommon UplinkConfigCommon OPTIONAL - -- FFS: Add additional (selection) criteria determining when/whether the UE shall use the SUL frequency - } OPTIONAL, -- Cond SUL +SecurityModeComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeComplete SecurityModeComplete-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} - tdd-UL-DL-Configuration TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - tdd-UL-DL-configurationCommon2 TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD +SecurityModeComplete-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} - pdcch-ConfigCommon PDCCH-ConfigCommon OPTIONAL, - pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, +-- TAG-SECURITYMODECOMPLETE-STOP +-- TAG-SECURITYMODEFAILURE-START - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE{} OPTIONAL +SecurityModeFailure ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeFailure SecurityModeFailure-IEs, + criticalExtensionsFuture SEQUENCE {} + } } +SecurityModeFailure-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-SECURITYMODEFAILURE-STOP +-- TAG-SIB1-START + +SIB1 ::= SEQUENCE { + cellSelectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need R + q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R + q-QualMin Q-QualMin OPTIONAL, -- Need R + q-QualMinOffset INTEGER (1..8) OPTIONAL -- Need R + } OPTIONAL, -- Need S + cellAccessRelatedInfo CellAccessRelatedInfo, + connEstFailureControl ConnEstFailureControl OPTIONAL, -- Need R + si-SchedulingInfo SI-SchedulingInfo OPTIONAL, -- Need R + servingCellConfigCommon ServingCellConfigCommonSIB OPTIONAL, -- Need R + ims-EmergencySupport ENUMERATED {true} OPTIONAL, -- Need R + eCallOverIMS-Support ENUMERATED {true} OPTIONAL, -- Cond Absent + ue-TimersAndConstants UE-TimersAndConstants OPTIONAL, -- Need R + + uac-BarringInfo SEQUENCE { + uac-BarringForCommon UAC-BarringPerCatList OPTIONAL, -- Need S + uac-BarringPerPLMN-List UAC-BarringPerPLMN-List OPTIONAL, -- Need S + uac-BarringInfoSetList UAC-BarringInfoSetList, + uac-AccessCategory1-SelectionAssistanceInfo CHOICE { + plmnCommon UAC-AccessCategory1-SelectionAssistanceInfo, + individualPLMNList SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AccessCategory1-SelectionAssistanceInfo + } OPTIONAL + } OPTIONAL, -- Need R + + useFullResumeID ENUMERATED {true} OPTIONAL, -- Need N + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c} + -- TAG-SIB1-STOP + +SystemInformation ::= SEQUENCE { + criticalExtensions CHOICE { + systemInformation-r15 SystemInformation-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SystemInformation-IEs ::= SEQUENCE { + sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + sib2 SIB2, + sib3 SIB3, + sib4 SIB4, + sib5 SIB5, + sib6 SIB6, + sib7 SIB7, + sib8 SIB8, + sib9 SIB9, + ... + }, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-UEASSISTANCEINFORMATION-START + +UEAssistanceInformation ::= SEQUENCE { + criticalExtensions CHOICE { + ueAssistanceInformation UEAssistanceInformation-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEAssistanceInformation-IEs ::= SEQUENCE { + delayBudgetReport DelayBudgetReport OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +DelayBudgetReport::= CHOICE { + type1 ENUMERATED { + msMinus1280, msMinus640, msMinus320, msMinus160,msMinus80, msMinus60, msMinus40, + msMinus20, ms0, ms20,ms40, ms60, ms80, ms160, ms320, ms640, ms1280}, + ... +} + +-- TAG-UEASSISTANCEINFORMATION-STOP +-- TAG-UECAPABILITYENQUIRY-START + +UECapabilityEnquiry ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueCapabilityEnquiry UECapabilityEnquiry-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityEnquiry-IEs ::= SEQUENCE { + ue-CapabilityRAT-RequestList UE-CapabilityRAT-RequestList, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-UECAPABILITYENQUIRY-STOP +-- TAG-UECAPABILITYINFORMATION-START + +UECapabilityInformation ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueCapabilityInformation UECapabilityInformation-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityInformation-IEs ::= SEQUENCE { + ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList OPTIONAL, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +-- TAG-UECAPABILITYINFORMATION-STOP +-- TAG-ULINFORMATIONTRANSFER-START + +ULInformationTransfer ::= SEQUENCE { + criticalExtensions CHOICE { + ulInformationTransfer ULInformationTransfer-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransfer-IEs ::= SEQUENCE { + dedicatedNAS-Message DedicatedNAS-Message OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- TAG-ULINFORMATIONTRANSFER-STOP -- TAG-SETUP-RELEASE-START -- WS modification: asn2wrs does not support this syntax; replace all occurrences @@ -162,1109 +909,1563 @@ SIB1 ::= SEQUENCE { -- } -- TAG-SETUP-RELEASE-STOP +-- TAG-SIB2-START + +SIB2 ::= SEQUENCE { + cellReselectionInfoCommon SEQUENCE { + nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R + absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R + rangeToBestCell RangeToBestCell OPTIONAL, -- Need R + 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 R + ... + }, + cellReselectionServingFreqInfo SEQUENCE { + s-NonIntraSearchP ReselectionThreshold OPTIONAL, -- Need R + s-NonIntraSearchQ ReselectionThresholdQ OPTIONAL, -- Need R + threshServingLowP ReselectionThreshold, + threshServingLowQ ReselectionThresholdQ OPTIONAL, -- Need R + cellReselectionPriority CellReselectionPriority, + cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R + ... + }, + intraFreqCellReselectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R + q-QualMin Q-QualMin OPTIONAL, -- Need S + s-IntraSearchP ReselectionThreshold, -- Need S + s-IntraSearchQ ReselectionThresholdQ OPTIONAL, -- Cond RSRQ + t-ReselectionNR T-Reselection, + frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R + frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R + p-Max P-Max OPTIONAL, -- Need R + smtc SSB-MTC OPTIONAL, -- Need R + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need R + ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need R + deriveSSB-IndexFromCell BOOLEAN, + ... + }, + ... +} + +RangeToBestCell ::= Q-OffsetRange + +-- TAG-SIB2-STOP +-- TAG-SIB3-START + +SIB3 ::= SEQUENCE { + intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need R + intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need R + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo + +IntraFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange, + q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R + q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + ... +} + +IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range + +-- TAG-SIB3-STOP +-- TAG-SIB4-START + +SIB4 ::= SEQUENCE { + interFreqCarrierFreqList InterFreqCarrierFreqList, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo + +InterFreqCarrierFreqInfo ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueNR, + frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R + frequencyBandListSUL MultiFrequencyBandListNR-SIB OPTIONAL, -- Need R + nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, + absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, + smtc SSB-MTC OPTIONAL, -- Need R + ssbSubcarrierSpacing SubcarrierSpacing, + ssb-ToMeasure SSB-ToMeasure OPTIONAL, -- Need R + deriveSSB-IndexFromCell BOOLEAN, + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, + q-RxLevMin Q-RxLevMin, + q-RxLevMinSUL Q-RxLevMin OPTIONAL, -- Need R + q-QualMin Q-QualMin OPTIONAL, -- Need R, + p-Max P-Max OPTIONAL, -- Need R + t-ReselectionNR T-Reselection, + t-ReselectionNR-SF SpeedStateScaleFactors OPTIONAL, -- Need N + threshX-HighP ReselectionThreshold, + threshX-LowP ReselectionThreshold, + threshX-Q SEQUENCE { + threshX-HighQ ReselectionThresholdQ, + threshX-LowQ ReselectionThresholdQ + } OPTIONAL, -- Cond RSRQ + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R + cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R + q-OffsetFreq Q-OffsetRange DEFAULT dB0, + interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need R + interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need R + ... +} + +InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo + +InterFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange, + q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R + q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + ... + +} + +InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range + +-- TAG-SIB4-STOP +-- TAG-SIB5-START + +SIB5 ::= SEQUENCE { + carrierFreqListEUTRA CarrierFreqListEUTRA OPTIONAL, -- Need R + t-ReselectionEUTRA T-Reselection, + t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need N + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +CarrierFreqListEUTRA ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA + +CarrierFreqEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + eutra-multiBandInfoList EUTRA-MultiBandInfoList OPTIONAL, -- Need R + eutra-FreqNeighCellList EUTRA-FreqNeighCellList OPTIONAL, -- Need R + eutra-BlackCellList EUTRA-FreqBlackCellList OPTIONAL, -- Need R + allowedMeasBandwidth EUTRA-AllowedMeasBandwidth, + presenceAntennaPort1 EUTRA-PresenceAntennaPort1, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need R + cellReselectionSubPriority CellReselectionSubPriority OPTIONAL, -- Need R + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + q-RxLevMin INTEGER (-70..-22), + q-QualMin INTEGER (-34..-3), + p-MaxEUTRA INTEGER (-30..33), + threshX-Q SEQUENCE { + threshX-HighQ ReselectionThresholdQ, + threshX-LowQ ReselectionThresholdQ + } OPTIONAL -- Cond RSRQ +} + +EUTRA-FreqBlackCellList ::= SEQUENCE (SIZE (1..maxEUTRA-CellBlack)) OF EUTRA-PhysCellIdRange + +EUTRA-FreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo + +EUTRA-FreqNeighCellInfo ::= SEQUENCE { + physCellId EUTRA-PhysCellId, + q-OffsetCell EUTRA-Q-OffsetRange, + q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R + q-QualMinOffsetCell INTEGER (1..8) OPTIONAL -- Need R +} + +-- TAG-SIB5-STOP +-- TAG-SIB6-START + +SIB6 ::= SEQUENCE { + messageIdentifier BIT STRING (SIZE (16)), + serialNumber BIT STRING (SIZE (16)), + warningType OCTET STRING (SIZE (2)), + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB6-STOP +-- TAG-SIB7-START + +SIB7 ::= 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, + ... +} + +-- TAG-SIB7-STOP +-- TAG-SIB8-START + +SIB8 ::= 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 + warningAreaCoordinatesSegment OCTET STRING OPTIONAL, -- Need R + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB8-STOP +-- TAG-SIB9-START + +SIB9 ::= SEQUENCE { + timeInfo SEQUENCE { + timeInfoUTC INTEGER (0..549755813887), + dayLightSavingTime BIT STRING (SIZE (2)) OPTIONAL, -- Need R + leapSeconds INTEGER (-127..128) OPTIONAL, -- Need R + localTimeOffset INTEGER (-63..64) OPTIONAL -- Need R + } OPTIONAL, -- Need R + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +-- TAG-SIB9-STOP -- TAG-ADDITIONALSPECTRUMEMISSION-START -AdditionalSpectrumEmission ::= INTEGER (0..7) +AdditionalSpectrumEmission ::= INTEGER (0..7) -- TAG-ADDITIONALSPECTRUMEMISSION-STOP -- TAG-ALPHA-START -Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} +Alpha ::= ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} -- TAG-ALPHA-STOP +-- TAG-AMF-IDENTIFIER-START + +AMF-Identifier ::= BIT STRING (SIZE (24)) + +-- TAG-AMF-IDENTIFIER-STOP +-- TAG-ARFCN-VALUEEUTRA-START + +ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN) + +-- TAG-ARFCN-VALUEEUTRA-STOP -- TAG-ARFCN-VALUE-NR-START -ARFCN-ValueNR ::= INTEGER (0..3279165) +ARFCN-ValueNR ::= INTEGER (0..maxNARFCN) -- TAG-ARFCN-VALUE-NR-STOP --- TAG-BANDWIDTH-PART-START +-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START -BWP ::= SEQUENCE { - locationAndBandwidth INTEGER (0..37949), - subcarrierSpacing SubcarrierSpacing, - cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R +BeamFailureRecoveryConfig ::= SEQUENCE { + rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M + rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M + rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need M + candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL, -- Need M + ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M + recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Cond CF-BFR + ra-Prioritization RA-Prioritization OPTIONAL, -- Need R + beamFailureRecoveryTimer ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, ms150, ms200} OPTIONAL, -- Need M + ..., + [[ + msg1-SubcarrierSpacing-v1530 SubcarrierSpacing OPTIONAL -- Need M + ]] +} + +PRACH-ResourceDedicatedBFR ::= CHOICE { + ssb BFR-SSB-Resource, + csi-RS BFR-CSIRS-Resource +} + +BFR-SSB-Resource ::= SEQUENCE { + ssb SSB-Index, + ra-PreambleIndex INTEGER (0..63), + ... } -BWP-Uplink ::= SEQUENCE { - bwp-Id BWP-Id, - bwp-Common BWP-UplinkCommon OPTIONAL, -- Need M - bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M - ... +BFR-CSIRS-Resource ::= SEQUENCE { + csi-RS NZP-CSI-RS-ResourceId, + ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R + ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R + ... } -BWP-UplinkCommon ::= SEQUENCE { - genericParameters BWP, - rach-ConfigCommon CHOICE { release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M - pusch-ConfigCommon CHOICE { release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M - pucch-ConfigCommon CHOICE { release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M - ... +-- TAG-BEAM-FAILURE-RECOVERY-CONFIG-STOP +-- TAG-BSR-CONFIG-START + +BSR-Config ::= SEQUENCE { + periodicBSR-Timer ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, + sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity }, + retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560, + sf5120, sf10240, spare5, spare4, spare3, spare2, spare1}, + logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R + ... } -BWP-UplinkDedicated ::= SEQUENCE { - pucch-Config CHOICE { release NULL, setup PUCCH-Config } OPTIONAL, -- Need M - pusch-Config CHOICE { release NULL, setup PUSCH-Config } OPTIONAL, -- Cond SetupOnly - configuredGrantConfig CHOICE { release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M - srs-Config CHOICE { release NULL, setup SRS-Config } OPTIONAL, -- Need M - beamFailureRecoveryConfig CHOICE { release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Cond SpCellOnly - ... +-- TAG-BSR-CONFIG-STOP +-- TAG-BANDWIDTH-PART-START + +BWP ::= SEQUENCE { + locationAndBandwidth INTEGER (0..37949), + subcarrierSpacing SubcarrierSpacing, + cyclicPrefix ENUMERATED { extended } OPTIONAL -- Need R } -BWP-Downlink ::= SEQUENCE { - bwp-Id BWP-Id, - bwp-Common BWP-DownlinkCommon OPTIONAL, -- Need M - bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Need M - ... + +-- TAG-BANDWIDTH-PART-STOP +-- TAG-BWP-DOWNLINK-START + +BWP-Downlink ::= SEQUENCE { + bwp-Id BWP-Id, + bwp-Common BWP-DownlinkCommon OPTIONAL, -- Cond SetupOtherBWP + bwp-Dedicated BWP-DownlinkDedicated OPTIONAL, -- Need M + ... } -BWP-DownlinkCommon ::= SEQUENCE { - genericParameters BWP, - pdcch-ConfigCommon CHOICE { release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M - pdsch-ConfigCommon CHOICE { release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M - ... +-- TAG-BWP-DOWNLINK-STOP +-- TAG-BWP-DOWNLINKCOMMON-START + +BWP-DownlinkCommon ::= SEQUENCE { + genericParameters BWP, + pdcch-ConfigCommon CHOICE { release NULL, setup PDCCH-ConfigCommon } OPTIONAL, -- Need M + pdsch-ConfigCommon CHOICE { release NULL, setup PDSCH-ConfigCommon } OPTIONAL, -- Need M + ... } -BWP-DownlinkDedicated ::= SEQUENCE { - pdcch-Config CHOICE { release NULL, setup PDCCH-Config } OPTIONAL, -- Need M - pdsch-Config CHOICE { release NULL, setup PDSCH-Config } OPTIONAL, -- Need M - sps-Config CHOICE { release NULL, setup SPS-Config } OPTIONAL, -- Need M - radioLinkMonitoringConfig CHOICE { release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M - ... +-- TAG-BWP-DOWNLINKCOMMON-STOP +-- TAG-BWP-DOWNLINKDEDICATED-START + +BWP-DownlinkDedicated ::= SEQUENCE { + pdcch-Config CHOICE { release NULL, setup PDCCH-Config } OPTIONAL, -- Need M + pdsch-Config CHOICE { release NULL, setup PDSCH-Config } OPTIONAL, -- Need M + sps-Config CHOICE { release NULL, setup SPS-Config } OPTIONAL, -- Need M + radioLinkMonitoringConfig CHOICE { release NULL, setup RadioLinkMonitoringConfig } OPTIONAL, -- Need M + ... } --- TAG-BANDWIDTH-PART-STOP +-- TAG-BWP-DOWNLINKDEDICATED-STOP -- TAG-BWP-ID-START -BWP-Id ::= INTEGER (0..maxNrofBWPs) +BWP-Id ::= INTEGER (0..maxNrofBWPs) -- TAG-BWP-ID-STOP --- TAG-BEAM-FAILURE-RECOVERY-CONFIG-START +-- TAG-BWP-UPLINK-START -BeamFailureRecoveryConfig ::= SEQUENCE { - rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M - rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M - rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need M - candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M - ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL, -- Need M - ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M - recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Cond CF-BFR - ra-Prioritization RA-Prioritization OPTIONAL, -- Need R - beamFailureRecoveryTimer ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, ms150, ms200} OPTIONAL, -- Need M - ... +BWP-Uplink ::= SEQUENCE { + bwp-Id BWP-Id, + bwp-Common BWP-UplinkCommon OPTIONAL, -- Cond SetupOtherBWP + bwp-Dedicated BWP-UplinkDedicated OPTIONAL, -- Need M + ... } -PRACH-ResourceDedicatedBFR ::= CHOICE { - ssb BFR-SSB-Resource, - csi-RS BFR-CSIRS-Resource +-- TAG-BWP-UPLINK-STOP +-- TAG-BWP-UPLINKCOMMON-START + +BWP-UplinkCommon ::= SEQUENCE { + genericParameters BWP, + rach-ConfigCommon CHOICE { release NULL, setup RACH-ConfigCommon } OPTIONAL, -- Need M + pusch-ConfigCommon CHOICE { release NULL, setup PUSCH-ConfigCommon } OPTIONAL, -- Need M + pucch-ConfigCommon CHOICE { release NULL, setup PUCCH-ConfigCommon } OPTIONAL, -- Need M + ... } -BFR-SSB-Resource ::= SEQUENCE { - ssb SSB-Index, - ra-PreambleIndex INTEGER (0..63), - ... +-- TAG-BWP-UPLINKCOMMON-STOP +-- TAG-BWP-UPLINKDEDICATED-START + +BWP-UplinkDedicated ::= SEQUENCE { + pucch-Config CHOICE { release NULL, setup PUCCH-Config } OPTIONAL, -- Need M + pusch-Config CHOICE { release NULL, setup PUSCH-Config } OPTIONAL, -- Need M + configuredGrantConfig CHOICE { release NULL, setup ConfiguredGrantConfig } OPTIONAL, -- Need M + srs-Config CHOICE { release NULL, setup SRS-Config } OPTIONAL, -- Need M + beamFailureRecoveryConfig CHOICE { release NULL, setup BeamFailureRecoveryConfig } OPTIONAL, -- Cond SpCellOnly + ... } -BFR-CSIRS-Resource ::= SEQUENCE { - csi-RS NZP-CSI-RS-ResourceId, - ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R - ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R - ... +-- TAG-BWP-UPLINKDEDICATED-STOP +-- TAG-CELL-ACCESS-RELATED-INFO-START + +CellAccessRelatedInfo ::= SEQUENCE { + plmn-IdentityList PLMN-IdentityInfoList, + cellReservedForOtherUse ENUMERATED {true} OPTIONAL, -- Need R + ... } --- TAG-BEAM-FAILURE-RECOVERY-CONFIG-STOP +-- TAG- CELL-ACCESS-RELATED-INFO-STOP +-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-START + +CellAccessRelatedInfo-EUTRA-5GC ::= SEQUENCE { + plmn-IdentityList-eutra-5gc PLMN-IdentityList-EUTRA-5GC, + trackingAreaCode-eutra-5gc TrackingAreaCode, + ranac-5gc RAN-AreaCode OPTIONAL, + cellIdentity-eutra-5gc CellIdentity-EUTRA-5GC +} + +PLMN-IdentityList-EUTRA-5GC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity-EUTRA-5GC + +PLMN-Identity-EUTRA-5GC ::= CHOICE { + plmn-Identity-EUTRA-5GC PLMN-Identity, +plmn-index INTEGER (1..maxPLMN) +} + +CellIdentity-EUTRA-5GC ::= CHOICE { + cellIdentity-EUTRA BIT STRING (SIZE (28)), +cellId-index INTEGER (1..maxPLMN) +} + +-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-STOP +-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-EPC-START + +CellAccessRelatedInfo-EUTRA-EPC ::= SEQUENCE { + plmn-IdentityList-eutra-epc PLMN-IdentityList-EUTRA-EPC, + trackingAreaCode-eutra-epc BIT STRING (SIZE (16)), + cellIdentity-eutra-epc BIT STRING (SIZE (28)) +} + +PLMN-IdentityList-EUTRA-EPC::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity + +-- TAG-CELL-ACCESS-RELATED-INFO-EUTRA-5GC-STOP -- TAG-CELL-GROUP-CONFIG-START -- Configuration of one Cell-Group: -CellGroupConfig ::= SEQUENCE { - cellGroupId CellGroupId, +CellGroupConfig ::= SEQUENCE { + cellGroupId CellGroupId, - rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig OPTIONAL, -- Need N - rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N + rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig OPTIONAL, -- Need N + rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity OPTIONAL, -- Need N - mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M + mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M - physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M + physicalCellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M - spCellConfig SpCellConfig OPTIONAL, -- Need M - sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N - sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N - ... + spCellConfig SpCellConfig OPTIONAL, -- Need M + sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig OPTIONAL, -- Need N + sCellToReleaseList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex OPTIONAL, -- Need N + ..., + [[ + reportUplinkTxDirectCurrent-v1530 ENUMERATED {true} OPTIONAL -- Cond BWP-Reconfig + ]] } -- Serving cell specific MAC and PHY parameters for a SpCell: -SpCellConfig ::= SEQUENCE { - servCellIndex ServCellIndex OPTIONAL, -- Cond SCG - reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync - rlf-TimersAndConstants CHOICE { release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M - rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S - spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M - ... +SpCellConfig ::= SEQUENCE { + servCellIndex ServCellIndex OPTIONAL, -- Cond SCG + reconfigurationWithSync ReconfigurationWithSync OPTIONAL, -- Cond ReconfWithSync + rlf-TimersAndConstants CHOICE { release NULL, setup RLF-TimersAndConstants } OPTIONAL, -- Need M + rlmInSyncOutOfSyncThreshold ENUMERATED {n1} OPTIONAL, -- Need S + spCellConfigDedicated ServingCellConfig OPTIONAL, -- Need M + ... } -ReconfigurationWithSync ::= SEQUENCE { - spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M - newUE-Identity RNTI-Value, - t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000}, - rach-ConfigDedicated CHOICE { - uplink RACH-ConfigDedicated, - supplementaryUplink RACH-ConfigDedicated - } OPTIONAL, -- Need N - ... +ReconfigurationWithSync ::= SEQUENCE { + spCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Need M + newUE-Identity RNTI-Value, + t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000}, + rach-ConfigDedicated CHOICE { + uplink RACH-ConfigDedicated, + supplementaryUplink RACH-ConfigDedicated + } OPTIONAL, -- Need N + ..., + [[ + smtc SSB-MTC OPTIONAL -- Need S + ]] } -SCellConfig ::= SEQUENCE { - sCellIndex SCellIndex, - sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd - sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod - ... +SCellConfig ::= SEQUENCE { + sCellIndex SCellIndex, + sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd + sCellConfigDedicated ServingCellConfig OPTIONAL, -- Cond SCellAddMod + ..., + [[ + smtc SSB-MTC OPTIONAL -- Need S + ]] } -- TAG-CELL-GROUP-CONFIG-STOP -- TAG-CELLGROUPID-START -CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups) +CellGroupId ::= INTEGER (0.. maxSecondaryCellGroups) -- TAG-CELLGROUPID-STOP + +CellIdentity ::= BIT STRING (SIZE (36)) + +-- TAG-CELLRESELECTIONPRIORITY-START + +CellReselectionPriority ::= INTEGER (0..7) + +-- TAG-CELLRESELECTIONPRIORITY-STOP + +CellReselectionSubPriority ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8} + +-- TAG-CGI-Info-START + +CGI-Info ::= SEQUENCE { + plmn-IdentityInfoList PLMN-IdentityInfoList OPTIONAL, + frequencyBandList MultiFrequencyBandListNR OPTIONAL, + noSIB1 SEQUENCE { + ssb-SubcarrierOffset INTEGER (0..15), + pdcch-ConfigSIB1 PDCCH-ConfigSIB1 + } OPTIONAL, + ... +} + +-- TAG-CGI-Info -STOP -- TAG-CODEBOOKCONFIG-START -CodebookConfig ::= SEQUENCE { - codebookType CHOICE { - type1 SEQUENCE { - subType CHOICE { - typeI-SinglePanel SEQUENCE { - nrOfAntennaPorts CHOICE { - two SEQUENCE { - twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6)) - }, - moreThanTwo SEQUENCE { - n1-n2 CHOICE { - two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)), - two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)), - four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)), - three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)), - six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)), - four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)), - eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)), - four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)), - six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)), - twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)), - four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)), - eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)), - sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)) - }, - typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL - } - }, - typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8)) - }, - typeI-MultiPanel SEQUENCE { - ng-n1-n2 CHOICE { - two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), - two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), - four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), - two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)), - two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)), - four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), - two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)), - four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)) - }, - ri-Restriction BIT STRING (SIZE (4)) - } - }, - codebookMode INTEGER (1..2) - - }, - type2 SEQUENCE { - subType CHOICE { - typeII SEQUENCE { - n1-n2-codebookSubsetRestriction CHOICE { - two-one BIT STRING (SIZE (16)), - two-two BIT STRING (SIZE (43)), - four-one BIT STRING (SIZE (32)), - three-two BIT STRING (SIZE (59)), - six-one BIT STRING (SIZE (48)), - four-two BIT STRING (SIZE (75)), - eight-one BIT STRING (SIZE (64)), - four-three BIT STRING (SIZE (107)), - six-two BIT STRING (SIZE (107)), - twelve-one BIT STRING (SIZE (96)), - four-four BIT STRING (SIZE (139)), - eight-two BIT STRING (SIZE (139)), - sixteen-one BIT STRING (SIZE (128)) - }, - typeII-RI-Restriction BIT STRING (SIZE (2)) - }, - typeII-PortSelection SEQUENCE { - portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Cond TypeII-PortSelection - typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2)) - } - }, - phaseAlphabetSize ENUMERATED {n4, n8}, - subbandAmplitude BOOLEAN, - numberOfBeams ENUMERATED {two, three, four} - } - } +CodebookConfig ::= SEQUENCE { + codebookType CHOICE { + type1 SEQUENCE { + subType CHOICE { + typeI-SinglePanel SEQUENCE { + nrOfAntennaPorts CHOICE { + two SEQUENCE { + twoTX-CodebookSubsetRestriction BIT STRING (SIZE (6)) + }, + moreThanTwo SEQUENCE { + n1-n2 CHOICE { + two-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (8)), + two-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)), + four-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (16)), + three-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (96)), + six-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (24)), + four-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (128)), + eight-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (32)), + four-three-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)), + six-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (192)), + twelve-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (48)), + four-four-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)), + eight-two-TypeI-SinglePanel-Restriction BIT STRING (SIZE (256)), + sixteen-one-TypeI-SinglePanel-Restriction BIT STRING (SIZE (64)) + }, + typeI-SinglePanel-codebookSubsetRestriction-i2 BIT STRING (SIZE (16)) OPTIONAL -- Need R + } + }, + typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8)) + }, + typeI-MultiPanel SEQUENCE { + ng-n1-n2 CHOICE { + two-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), + two-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), + four-two-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (8)), + two-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)), + two-eight-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (32)), + four-four-one-TypeI-MultiPanel-Restriction BIT STRING (SIZE (16)), + two-four-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (128)), + four-two-two-TypeI-MultiPanel-Restriction BIT STRING (SIZE (64)) + }, + ri-Restriction BIT STRING (SIZE (4)) + } + }, + codebookMode INTEGER (1..2) + + }, + type2 SEQUENCE { + subType CHOICE { + typeII SEQUENCE { + n1-n2-codebookSubsetRestriction CHOICE { + two-one BIT STRING (SIZE (16)), + two-two BIT STRING (SIZE (43)), + four-one BIT STRING (SIZE (32)), + three-two BIT STRING (SIZE (59)), + six-one BIT STRING (SIZE (48)), + four-two BIT STRING (SIZE (75)), + eight-one BIT STRING (SIZE (64)), + four-three BIT STRING (SIZE (107)), + six-two BIT STRING (SIZE (107)), + twelve-one BIT STRING (SIZE (96)), + four-four BIT STRING (SIZE (139)), + eight-two BIT STRING (SIZE (139)), + sixteen-one BIT STRING (SIZE (128)) + }, + typeII-RI-Restriction BIT STRING (SIZE (2)) + }, + typeII-PortSelection SEQUENCE { + portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Need R + typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2)) + } + }, + phaseAlphabetSize ENUMERATED {n4, n8}, + subbandAmplitude BOOLEAN, + numberOfBeams ENUMERATED {two, three, four} + } + } } -- TAG-CODEBOOKCONFIG-STOP -- TAG-CONFIGUREDGRANTCONFIG-START -ConfiguredGrantConfig ::= SEQUENCE { - frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S, - cg-DMRS-Configuration DMRS-UplinkConfig, - mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S - mcs-TableTransformPrecoder ENUMERATED {qam256, spare1} OPTIONAL, -- Need S - uci-OnPUSCH CHOICE { release NULL, setup CG-UCI-OnPUSCH }, - resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch }, - rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S - powerControlLoopToUse ENUMERATED {n0, n1}, - p0-PUSCH-Alpha P0-PUSCH-AlphaSetId, - transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need S - nrofHARQ-Processes INTEGER(1..16), - repK ENUMERATED {n1, n2, n4, n8}, - repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Cond RepK - periodicity ENUMERATED { - sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14, - sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14, - sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14, - sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12, - sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12, - sym1280x12, sym2560x12 - }, - configuredGrantTimer INTEGER (1..64) OPTIONAL, -- Need R - rrc-ConfiguredUplinkGrant SEQUENCE { - timeDomainOffset INTEGER (0..5119), - timeDomainAllocation INTEGER (0..15), - frequencyDomainAllocation BIT STRING (SIZE(18)), - antennaPort INTEGER (0..31), - dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Cond NoTransformPrecoder - precodingAndNumberOfLayers INTEGER (0..63), - srs-ResourceIndicator INTEGER (0..15), - mcsAndTBS INTEGER (0..31), - frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M - pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1), - ... - } OPTIONAL -- Need R +ConfiguredGrantConfig ::= SEQUENCE { + frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S, + cg-DMRS-Configuration DMRS-UplinkConfig, + mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + uci-OnPUSCH CHOICE { release NULL, setup CG-UCI-OnPUSCH } OPTIONAL, -- Need M + resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch }, + rbg-Size ENUMERATED {config2} OPTIONAL, -- Need S + powerControlLoopToUse ENUMERATED {n0, n1}, + p0-PUSCH-Alpha P0-PUSCH-AlphaSetId, + transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S + nrofHARQ-Processes INTEGER(1..16), + repK ENUMERATED {n1, n2, n4, n8}, + repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL, -- Need R + periodicity ENUMERATED { + sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14, + sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14, + sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14, + sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12, + sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12, + sym1280x12, sym2560x12 + }, + configuredGrantTimer INTEGER (1..64) OPTIONAL, -- Need R + rrc-ConfiguredUplinkGrant SEQUENCE { + timeDomainOffset INTEGER (0..5119), + timeDomainAllocation INTEGER (0..15), + frequencyDomainAllocation BIT STRING (SIZE(18)), + antennaPort INTEGER (0..31), + dmrs-SeqInitialization INTEGER (0..1) OPTIONAL, -- Need R + precodingAndNumberOfLayers INTEGER (0..63), + srs-ResourceIndicator INTEGER (0..15) OPTIONAL, -- Need R + mcsAndTBS INTEGER (0..31), + frequencyHoppingOffset INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need R + pathlossReferenceIndex INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1), + ... + } OPTIONAL, -- Need R + ... } CG-UCI-OnPUSCH ::= CHOICE { - dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets, - semiStatic BetaOffsets + dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets, + semiStatic BetaOffsets } -- TAG-CONFIGUREDGRANTCONFIG-STOP +-- TAG-CONNESTFAILURECONTROL-START + +ConnEstFailureControl ::= SEQUENCE { + connEstFailCount ENUMERATED {n1, n2, n3, n4}, + connEstFailOffsetValidity ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900}, + connEstFailOffset INTEGER (0..15) OPTIONAL -- Need S +} + +-- TAG-CONNESTFAILURECONTROL-STOP -- TAG-CONTROLRESOURCESET-START -ControlResourceSet ::= SEQUENCE { - controlResourceSetId ControlResourceSetId, - - frequencyDomainResources BIT STRING (SIZE (45)), - duration INTEGER (1..maxCoReSetDuration), - cce-REG-MappingType CHOICE { - interleaved SEQUENCE { - reg-BundleSize ENUMERATED {n2, n3, n6}, - interleaverSize ENUMERATED {n2, n3, n6}, - shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S - }, - nonInterleaved NULL - }, - precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs}, - tci-StatesPDCCH-ToAddList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N - tci-StatesPDCCH-ToReleaseList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N -tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S - pdcch-DMRS-ScramblingID INTEGER (0..65535) OPTIONAL, -- Need S - ... +ControlResourceSet ::= SEQUENCE { + controlResourceSetId ControlResourceSetId, + + frequencyDomainResources BIT STRING (SIZE (45)), + duration INTEGER (1..maxCoReSetDuration), + cce-REG-MappingType CHOICE { + interleaved SEQUENCE { + reg-BundleSize ENUMERATED {n2, n3, n6}, + interleaverSize ENUMERATED {n2, n3, n6}, + shiftIndex INTEGER(0..maxNrofPhysicalResourceBlocks-1) OPTIONAL -- Need S + }, + nonInterleaved NULL + }, + precoderGranularity ENUMERATED {sameAsREG-bundle, allContiguousRBs}, + tci-StatesPDCCH-ToAddList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N + tci-StatesPDCCH-ToReleaseList SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Need N +tci-PresentInDCI ENUMERATED {enabled} OPTIONAL, -- Need S + pdcch-DMRS-ScramblingID INTEGER (0..65535) OPTIONAL, -- Need S + ... } -- TAG-CONTROLRESOURCESET-STOP -- TAG-CONTROL-RESOURCE-SET-ID-START -ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1) +ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1) -- TAG-CONTROL-RESOURCE-SET-ID-STOP - -CrossCarrierSchedulingConfig ::= SEQUENCE { - schedulingCellInfo CHOICE { - own SEQUENCE { -- No cross carrier scheduling - cif-Presence BOOLEAN - }, - other SEQUENCE { -- Cross carrier scheduling - schedulingCellId ServCellIndex, - cif-InSchedulingCell INTEGER (1..7) - } -- Cond SCellOnly - }, - ... +-- TAG-CONTROLRESOURCESETZERO-START + +ControlResourceSetZero ::= INTEGER (0..15) + +-- TAG-CONTROLRESOURCESETZERO-STOP + +CrossCarrierSchedulingConfig ::= SEQUENCE { + schedulingCellInfo CHOICE { + own SEQUENCE { -- No cross carrier scheduling + cif-Presence BOOLEAN + }, + other SEQUENCE { -- Cross carrier scheduling + schedulingCellId ServCellIndex, + cif-InSchedulingCell INTEGER (1..7) + } + }, + ... } -- TAG-CSI-APERIODICTRIGGERSTATELIST-START -CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState +CSI-AperiodicTriggerStateList ::= SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState -CSI-AperiodicTriggerState ::= SEQUENCE { - associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo, - ... +CSI-AperiodicTriggerState ::= SEQUENCE { + associatedReportConfigInfoList SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo, + ... } -CSI-AssociatedReportConfigInfo ::= SEQUENCE { - reportConfigId CSI-ReportConfigId, - resourcesForChannel CHOICE { - nzp-CSI-RS SEQUENCE { - resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig), - qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId OPTIONAL -- Cond Aperiodic - }, - csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig) - }, - csi-IM-ResourcesforInteference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, -- Cond CSI-IM-forInterference - nzp-CSI-RS-ResourcesforInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, -- Cond NZP-CSI-RS-forInterference - ... +CSI-AssociatedReportConfigInfo ::= SEQUENCE { + reportConfigId CSI-ReportConfigId, + resourcesForChannel CHOICE { + nzp-CSI-RS SEQUENCE { + resourceSet INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig), + qcl-info SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId OPTIONAL -- Cond Aperiodic + }, + csi-SSB-ResourceSet INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig) + }, + csi-IM-ResourcesForInterference INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig) OPTIONAL, -- Cond CSI-IM-ForInterference + nzp-CSI-RS-ResourcesForInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig) OPTIONAL, -- Cond NZP-CSI-RS-ForInterference + ... } -- TAG-CSI-APERIODICTRIGGERSTATELIST-STOP -- TAG-CSI-FREQUENCYOCCUPATION-START -CSI-FrequencyOccupation ::= SEQUENCE { - startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1), - nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocksPlus1), - ... +CSI-FrequencyOccupation ::= SEQUENCE { + startingRB INTEGER (0..maxNrofPhysicalResourceBlocks-1), + nrofRBs INTEGER (24..maxNrofPhysicalResourceBlocksPlus1), + ... } -- TAG-CSI-FREQUENCYOCCUPATION-STOP -- TAG-CSI-IM-RESOURCE-START -CSI-IM-Resource ::= SEQUENCE { - csi-IM-ResourceId CSI-IM-ResourceId, - csi-IM-ResourceElementPattern CHOICE { - pattern0 SEQUENCE { - subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 }, - symbolLocation-p0 INTEGER (0..12) - }, - pattern1 SEQUENCE { - subcarrierLocation-p1 ENUMERATED { s0, s4, s8 }, - symbolLocation-p1 INTEGER (0..13) - } - } OPTIONAL, -- Need M - freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent - ... +CSI-IM-Resource ::= SEQUENCE { + csi-IM-ResourceId CSI-IM-ResourceId, + csi-IM-ResourceElementPattern CHOICE { + pattern0 SEQUENCE { + subcarrierLocation-p0 ENUMERATED { s0, s2, s4, s6, s8, s10 }, + symbolLocation-p0 INTEGER (0..12) + }, + pattern1 SEQUENCE { + subcarrierLocation-p1 ENUMERATED { s0, s4, s8 }, + symbolLocation-p1 INTEGER (0..13) + } + } OPTIONAL, -- Need M + freqBand CSI-FrequencyOccupation OPTIONAL, -- Need M + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent + ... } -- TAG-CSI-IM-RESOURCE-STOP -- TAG-CSI-IM-RESOURCEID-START -CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-Resources-1) +CSI-IM-ResourceId ::= INTEGER (0..maxNrofCSI-IM-Resources-1) -- TAG-CSI-IM-RESOURCEID-STOP -- TAG-CSI-IM-RESOURCESET-START -CSI-IM-ResourceSet ::= SEQUENCE { - csi-IM-ResourceSetId CSI-IM-ResourceSetId, - csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId, - ... +CSI-IM-ResourceSet ::= SEQUENCE { + csi-IM-ResourceSetId CSI-IM-ResourceSetId, + csi-IM-Resources SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId, + ... } -- TAG-CSI-IM-RESOURCESET-STOP -- TAG-CSI-IM-RESOURCESETID-START -CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1) +CSI-IM-ResourceSetId ::= INTEGER (0..maxNrofCSI-IM-ResourceSets-1) -- TAG-CSI-IM-RESOURCESETID-STOP -- TAG-CSI-MEAS-CONFIG-START -CSI-MeasConfig ::= SEQUENCE { - nzp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource OPTIONAL, -- Need N - nzp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N - nzp-CSI-RS-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet OPTIONAL, -- Need N - nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N - csi-IM-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource OPTIONAL, -- Need N - csi-IM-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId OPTIONAL, -- Need N - csi-IM-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet OPTIONAL, -- Need N - csi-IM-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId OPTIONAL, -- Need N - csi-SSB-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet OPTIONAL, -- Need N - csi-SSB-ResourceSetToAddReleaseList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N - csi-ResourceConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig OPTIONAL, -- Need N - csi-ResourceConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId OPTIONAL, -- Need N - csi-ReportConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig OPTIONAL, -- Need N - csi-ReportConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId OPTIONAL, -- Need N - - reportTriggerSize INTEGER (0..6) OPTIONAL, - aperiodicTriggerStateList CHOICE { release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M - semiPersistentOnPUSCH-TriggerStateList CHOICE { release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M - ... +CSI-MeasConfig ::= SEQUENCE { + nzp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource OPTIONAL, -- Need N + nzp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N + nzp-CSI-RS-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet OPTIONAL, -- Need N + nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N + csi-IM-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource OPTIONAL, -- Need N + csi-IM-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId OPTIONAL, -- Need N + csi-IM-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet OPTIONAL, -- Need N + csi-IM-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId OPTIONAL, -- Need N + csi-SSB-ResourceSetToAddModList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet OPTIONAL, -- Need N + csi-SSB-ResourceSetToAddReleaseList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N + csi-ResourceConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig OPTIONAL,-- Need N + csi-ResourceConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId OPTIONAL,-- Need N + csi-ReportConfigToAddModList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig OPTIONAL,-- Need N + csi-ReportConfigToReleaseList SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId OPTIONAL,-- Need N + + reportTriggerSize INTEGER (0..6) OPTIONAL, -- Need M + aperiodicTriggerStateList CHOICE { release NULL, setup CSI-AperiodicTriggerStateList } OPTIONAL, -- Need M + semiPersistentOnPUSCH-TriggerStateList CHOICE { release NULL, setup CSI-SemiPersistentOnPUSCH-TriggerStateList } OPTIONAL, -- Need M + ... } -- TAG-CSI-MEAS-CONFIG-STOP -- TAG-CSI-REPORTCONFIG-START -CSI-ReportConfig ::= SEQUENCE { - reportConfigId CSI-ReportConfigId, - carrier ServCellIndex OPTIONAL, -- Need S - resourcesForChannelMeasurement CSI-ResourceConfigId, - csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R - nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R - reportConfigType CHOICE { - periodic SEQUENCE { - reportSlotConfig CSI-ReportPeriodicityAndOffset, - pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource - }, - semiPersistentOnPUCCH SEQUENCE { - reportSlotConfig CSI-ReportPeriodicityAndOffset, - pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource - }, - semiPersistentOnPUSCH SEQUENCE { - reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320}, - reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32), - p0alpha P0-PUSCH-AlphaSetId - }, - aperiodic SEQUENCE { - reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32) - } - }, - reportQuantity CHOICE { - none NULL, - cri-RI-PMI-CQI NULL, - cri-RI-i1 NULL, - cri-RI-i1-CQI SEQUENCE { - pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL - }, - cri-RI-CQI NULL, - cri-RSRP NULL, - ssb-Index-RSRP NULL, - cri-RI-LI-PMI-CQI NULL - }, - reportFreqConfiguration SEQUENCE { - cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI } OPTIONAL, -- Need R - pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI } OPTIONAL, -- Need R - csi-ReportingBand CHOICE { - subbands3 BIT STRING(SIZE(3)), - subbands4 BIT STRING(SIZE(4)), - subbands5 BIT STRING(SIZE(5)), - subbands6 BIT STRING(SIZE(6)), - subbands7 BIT STRING(SIZE(7)), - subbands8 BIT STRING(SIZE(8)), - subbands9 BIT STRING(SIZE(9)), - subbands10 BIT STRING(SIZE(10)), - subbands11 BIT STRING(SIZE(11)), - subbands12 BIT STRING(SIZE(12)), - subbands13 BIT STRING(SIZE(13)), - subbands14 BIT STRING(SIZE(14)), - subbands15 BIT STRING(SIZE(15)), - subbands16 BIT STRING(SIZE(16)), - subbands17 BIT STRING(SIZE(17)), - subbands18 BIT STRING(SIZE(18)), - ... - } OPTIONAL -- Need S - - } OPTIONAL, -- Need R - timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured}, - timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured}, - codebookConfig CodebookConfig OPTIONAL, -- Need R - nrofCQIsPerReport ENUMERATED {n1, n2} OPTIONAL, -- Need R - groupBasedBeamReporting CHOICE { - enabled NULL, - disabled SEQUENCE { - nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S - } - }, - cqi-Table ENUMERATED {table1, table2, spare2, spare1} OPTIONAL, -- Need R - subbandSize ENUMERATED {value1, value2}, - non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, -- Need R - ... -} - -CSI-ReportPeriodicityAndOffset ::= CHOICE { - slots4 INTEGER(0..3), - slots5 INTEGER(0..4), - slots8 INTEGER(0..7), - slots10 INTEGER(0..9), - slots16 INTEGER(0..15), - slots20 INTEGER(0..19), - slots40 INTEGER(0..39), - slots80 INTEGER(0..79), - slots160 INTEGER(0..159), - slots320 INTEGER(0..319) -} - -PUCCH-CSI-Resource ::= SEQUENCE { - uplinkBandwidthPartId BWP-Id, - pucch-Resource PUCCH-ResourceId -} - -PortIndexFor8Ranks ::= CHOICE { - portIndex8 SEQUENCE{ - rank1-8 PortIndex8 OPTIONAL, -- Need R - rank2-8 SEQUENCE(SIZE(2)) OF PortIndex8 OPTIONAL, -- Need R - rank3-8 SEQUENCE(SIZE(3)) OF PortIndex8 OPTIONAL, -- Need R - rank4-8 SEQUENCE(SIZE(4)) OF PortIndex8 OPTIONAL, -- Need R - rank5-8 SEQUENCE(SIZE(5)) OF PortIndex8 OPTIONAL, -- Need R - rank6-8 SEQUENCE(SIZE(6)) OF PortIndex8 OPTIONAL, -- Need R - rank7-8 SEQUENCE(SIZE(7)) OF PortIndex8 OPTIONAL, -- Need R - rank8-8 SEQUENCE(SIZE(8)) OF PortIndex8 OPTIONAL -- Need R - }, - portIndex4 SEQUENCE{ - rank1-4 PortIndex4 OPTIONAL, -- Need R - rank2-4 SEQUENCE(SIZE(2)) OF PortIndex4 OPTIONAL, -- Need R - rank3-4 SEQUENCE(SIZE(3)) OF PortIndex4 OPTIONAL, -- Need R - rank4-4 SEQUENCE(SIZE(4)) OF PortIndex4 OPTIONAL -- Need R - }, - portIndex2 SEQUENCE{ - rank1-2 PortIndex2 OPTIONAL, -- Need R - rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R - }, - portIndex1 NULL -} - -PortIndex8::= INTEGER (0..7) -PortIndex4::= INTEGER (0..3) -PortIndex2::= INTEGER (0..1) +CSI-ReportConfig ::= SEQUENCE { + reportConfigId CSI-ReportConfigId, + carrier ServCellIndex OPTIONAL, -- Need S + resourcesForChannelMeasurement CSI-ResourceConfigId, + csi-IM-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R + nzp-CSI-RS-ResourcesForInterference CSI-ResourceConfigId OPTIONAL, -- Need R + reportConfigType CHOICE { + periodic SEQUENCE { + reportSlotConfig CSI-ReportPeriodicityAndOffset, + pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource + }, + semiPersistentOnPUCCH SEQUENCE { + reportSlotConfig CSI-ReportPeriodicityAndOffset, + pucch-CSI-ResourceList SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource + }, + semiPersistentOnPUSCH SEQUENCE { + reportSlotConfig ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320}, + reportSlotOffsetList SEQUENCE (SIZE (1.. maxNrofUL-Allocations)) OF INTEGER(0..32), + p0alpha P0-PUSCH-AlphaSetId + }, + aperiodic SEQUENCE { + reportSlotOffsetList SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32) + } + }, + reportQuantity CHOICE { + none NULL, + cri-RI-PMI-CQI NULL, + cri-RI-i1 NULL, + cri-RI-i1-CQI SEQUENCE { + pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL -- Need S + }, + cri-RI-CQI NULL, + cri-RSRP NULL, + ssb-Index-RSRP NULL, + cri-RI-LI-PMI-CQI NULL + }, + reportFreqConfiguration SEQUENCE { + cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI } OPTIONAL, -- Need R + pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI } OPTIONAL, -- Need R + csi-ReportingBand CHOICE { + subbands3 BIT STRING(SIZE(3)), + subbands4 BIT STRING(SIZE(4)), + subbands5 BIT STRING(SIZE(5)), + subbands6 BIT STRING(SIZE(6)), + subbands7 BIT STRING(SIZE(7)), + subbands8 BIT STRING(SIZE(8)), + subbands9 BIT STRING(SIZE(9)), + subbands10 BIT STRING(SIZE(10)), + subbands11 BIT STRING(SIZE(11)), + subbands12 BIT STRING(SIZE(12)), + subbands13 BIT STRING(SIZE(13)), + subbands14 BIT STRING(SIZE(14)), + subbands15 BIT STRING(SIZE(15)), + subbands16 BIT STRING(SIZE(16)), + subbands17 BIT STRING(SIZE(17)), + subbands18 BIT STRING(SIZE(18)), + ..., + subbands19-v1530 BIT STRING(SIZE(19)) + } OPTIONAL -- Need S + + } OPTIONAL, -- Need R + timeRestrictionForChannelMeasurements ENUMERATED {configured, notConfigured}, + timeRestrictionForInterferenceMeasurements ENUMERATED {configured, notConfigured}, + codebookConfig CodebookConfig OPTIONAL, -- Need R + nrofCQIsPerReport ENUMERATED {n1, n2} OPTIONAL, -- Need R + groupBasedBeamReporting CHOICE { + enabled NULL, + disabled SEQUENCE { + nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL -- Need S + } + }, + cqi-Table ENUMERATED {table1, table2, table3, spare1} OPTIONAL, -- Need R + subbandSize ENUMERATED {value1, value2}, + non-PMI-PortIndication SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL, -- Need R + ..., + [[ + semiPersistentOnPUSCH-v1530 SEQUENCE { + reportSlotConfig-v1530 ENUMERATED {sl4, sl8, sl16} + } OPTIONAL -- Need R + ]] +} + +CSI-ReportPeriodicityAndOffset ::= CHOICE { + slots4 INTEGER(0..3), + slots5 INTEGER(0..4), + slots8 INTEGER(0..7), + slots10 INTEGER(0..9), + slots16 INTEGER(0..15), + slots20 INTEGER(0..19), + slots40 INTEGER(0..39), + slots80 INTEGER(0..79), + slots160 INTEGER(0..159), + slots320 INTEGER(0..319) +} + +PUCCH-CSI-Resource ::= SEQUENCE { + uplinkBandwidthPartId BWP-Id, + pucch-Resource PUCCH-ResourceId +} + +PortIndexFor8Ranks ::= CHOICE { + portIndex8 SEQUENCE{ + rank1-8 PortIndex8 OPTIONAL, -- Need R + rank2-8 SEQUENCE(SIZE(2)) OF PortIndex8 OPTIONAL, -- Need R + rank3-8 SEQUENCE(SIZE(3)) OF PortIndex8 OPTIONAL, -- Need R + rank4-8 SEQUENCE(SIZE(4)) OF PortIndex8 OPTIONAL, -- Need R + rank5-8 SEQUENCE(SIZE(5)) OF PortIndex8 OPTIONAL, -- Need R + rank6-8 SEQUENCE(SIZE(6)) OF PortIndex8 OPTIONAL, -- Need R + rank7-8 SEQUENCE(SIZE(7)) OF PortIndex8 OPTIONAL, -- Need R + rank8-8 SEQUENCE(SIZE(8)) OF PortIndex8 OPTIONAL -- Need R + }, + portIndex4 SEQUENCE{ + rank1-4 PortIndex4 OPTIONAL, -- Need R + rank2-4 SEQUENCE(SIZE(2)) OF PortIndex4 OPTIONAL, -- Need R + rank3-4 SEQUENCE(SIZE(3)) OF PortIndex4 OPTIONAL, -- Need R + rank4-4 SEQUENCE(SIZE(4)) OF PortIndex4 OPTIONAL -- Need R + }, + portIndex2 SEQUENCE{ + rank1-2 PortIndex2 OPTIONAL, -- Need R + rank2-2 SEQUENCE(SIZE(2)) OF PortIndex2 OPTIONAL -- Need R + }, + portIndex1 NULL +} + +PortIndex8::= INTEGER (0..7) +PortIndex4::= INTEGER (0..3) +PortIndex2::= INTEGER (0..1) -- TAG-CSI-REPORTCONFIG-STOP -- TAG-CSI-REPORTCONFIGID-START -CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1) +CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfigurations-1) -- TAG-CSI-REPORTCONFIGID-STOP -- TAG-CSI-RESOURCECONFIG-START -CSI-ResourceConfig ::= SEQUENCE { - csi-ResourceConfigId CSI-ResourceConfigId, - csi-RS-ResourceSetList CHOICE { - nzp-CSI-RS-SSB SEQUENCE { - nzp-CSI-RS-ResourceSetList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, - csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL - }, - csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId - }, - - bwp-Id BWP-Id, - resourceType ENUMERATED { aperiodic, semiPersistent, periodic }, - ... +CSI-ResourceConfig ::= SEQUENCE { + csi-ResourceConfigId CSI-ResourceConfigId, + csi-RS-ResourceSetList CHOICE { + nzp-CSI-RS-SSB SEQUENCE { + nzp-CSI-RS-ResourceSetList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId OPTIONAL, -- Need R + csi-SSB-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId OPTIONAL -- Need R + }, + csi-IM-ResourceSetList SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId + }, + + bwp-Id BWP-Id, + resourceType ENUMERATED { aperiodic, semiPersistent, periodic }, + ... } -- TAG-CSI-RESOURCECONFIGTOADDMOD-STOP -- TAG-CSI-RESOURCECONFIGID-START -CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1) +CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1) -- TAG-CSI-RESOURCECONFIGID-STOP -- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-START -CSI-ResourcePeriodicityAndOffset ::= CHOICE { - slots4 INTEGER (0..3), - slots5 INTEGER (0..4), - slots8 INTEGER (0..7), - slots10 INTEGER (0..9), - slots16 INTEGER (0..15), - slots20 INTEGER (0..19), - slots32 INTEGER (0..31), - slots40 INTEGER (0..39), - slots64 INTEGER (0..63), - slots80 INTEGER (0..79), - slots160 INTEGER (0..159), - slots320 INTEGER (0..319), - slots640 INTEGER (0..639) +CSI-ResourcePeriodicityAndOffset ::= CHOICE { + slots4 INTEGER (0..3), + slots5 INTEGER (0..4), + slots8 INTEGER (0..7), + slots10 INTEGER (0..9), + slots16 INTEGER (0..15), + slots20 INTEGER (0..19), + slots32 INTEGER (0..31), + slots40 INTEGER (0..39), + slots64 INTEGER (0..63), + slots80 INTEGER (0..79), + slots160 INTEGER (0..159), + slots320 INTEGER (0..319), + slots640 INTEGER (0..639) } -- TAG-CSI-RESIYRCEPERIODICITYANDOFFSET-STOP -- TAG-CSI-RS-RESOURCECONFIGMOBILITY-START -CSI-RS-ResourceConfigMobility ::= SEQUENCE { - subcarrierSpacing SubcarrierSpacing, - csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility, - ... -} - -CSI-RS-CellMobility ::= SEQUENCE { - cellId PhysCellId, - csi-rs-MeasurementBW SEQUENCE { - nrofPRBs ENUMERATED { size24, size48, size96, size192, size264}, - startPRB INTEGER(0..2169) - }, - density ENUMERATED {d1,d3} OPTIONAL, - csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility -} - -CSI-RS-Resource-Mobility ::= SEQUENCE { - csi-RS-Index CSI-RS-Index, - slotConfig CHOICE { - ms4 INTEGER (0..31), - ms5 INTEGER (0..39), - ms10 INTEGER (0..79), - ms20 INTEGER (0..159), - ms40 INTEGER (0..319) - }, - associatedSSB SEQUENCE { - ssb-Index SSB-Index, - isQuasiColocated BOOLEAN - } OPTIONAL, -- Need R - frequencyDomainAllocation CHOICE { - row1 BIT STRING (SIZE (4)), - row2 BIT STRING (SIZE (12)) - }, - firstOFDMSymbolInTimeDomain INTEGER (0..13), - sequenceGenerationConfig INTEGER (0..1023), - ... -} - -CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1) +CSI-RS-ResourceConfigMobility ::= SEQUENCE { + subcarrierSpacing SubcarrierSpacing, + csi-RS-CellList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility, + ... , + [[ + refServCellIndex-v1530 ServCellIndex OPTIONAL -- Need S + ]] + + +} + +CSI-RS-CellMobility ::= SEQUENCE { + cellId PhysCellId, + csi-rs-MeasurementBW SEQUENCE { + nrofPRBs ENUMERATED { size24, size48, size96, size192, size264}, + startPRB INTEGER(0..2169) + }, + density ENUMERATED {d1,d3} OPTIONAL, -- Need R + csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility +} + +CSI-RS-Resource-Mobility ::= SEQUENCE { + csi-RS-Index CSI-RS-Index, + slotConfig CHOICE { + ms4 INTEGER (0..31), + ms5 INTEGER (0..39), + ms10 INTEGER (0..79), + ms20 INTEGER (0..159), + ms40 INTEGER (0..319) + }, + associatedSSB SEQUENCE { + ssb-Index SSB-Index, + isQuasiColocated BOOLEAN + } OPTIONAL, -- Need R + frequencyDomainAllocation CHOICE { + row1 BIT STRING (SIZE (4)), + row2 BIT STRING (SIZE (12)) + }, + firstOFDMSymbolInTimeDomain INTEGER (0..13), + sequenceGenerationConfig INTEGER (0..1023), + ... +} + +CSI-RS-Index ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1) -- TAG-CSI-RS-RESOURCECONFIGMOBILITY-STOP -- TAG-CSI-RS-RESOURCEMAPPING-START -CSI-RS-ResourceMapping ::= SEQUENCE { - frequencyDomainAllocation CHOICE { - row1 BIT STRING (SIZE (4)), - row2 BIT STRING (SIZE (12)), - row4 BIT STRING (SIZE (3)), - other BIT STRING (SIZE (6)) - }, - nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32}, - firstOFDMSymbolInTimeDomain INTEGER (0..13), - firstOFDMSymbolInTimeDomain2 INTEGER (2..12) OPTIONAL, -- Need R - cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4}, - density CHOICE { - dot5 ENUMERATED {evenPRBs, oddPRBs}, - one NULL, - three NULL, - spare NULL - }, - freqBand CSI-FrequencyOccupation, - ... +CSI-RS-ResourceMapping ::= SEQUENCE { + frequencyDomainAllocation CHOICE { + row1 BIT STRING (SIZE (4)), + row2 BIT STRING (SIZE (12)), + row4 BIT STRING (SIZE (3)), + other BIT STRING (SIZE (6)) + }, + nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32}, + firstOFDMSymbolInTimeDomain INTEGER (0..13), + firstOFDMSymbolInTimeDomain2 INTEGER (2..12) OPTIONAL, -- Need R + cdm-Type ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4}, + density CHOICE { + dot5 ENUMERATED {evenPRBs, oddPRBs}, + one NULL, + three NULL, + spare NULL + }, + freqBand CSI-FrequencyOccupation, + ... } -- TAG-CSI-RS-RESOURCEMAPPING-STOP -- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START -CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState +CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState -CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE { - associatedReportConfigInfo CSI-ReportConfigId, - ... +CSI-SemiPersistentOnPUSCH-TriggerState ::= SEQUENCE { + associatedReportConfigInfo CSI-ReportConfigId, + ... } -- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-STOP +-- TAG-CSI-SSB-RESOURCESET-START + +CSI-SSB-ResourceSet ::= SEQUENCE { + csi-SSB-ResourceSetId CSI-SSB-ResourceSetId, + csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index, + ... +} + +-- TAG-CSI-SSB-RESOURCESET-STOP -- TAG-CSI-SSB-RESOURCESETID-START -CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-1) +CSI-SSB-ResourceSetId ::= INTEGER (0..maxNrofCSI-SSB-ResourceSets-1) -- TAG-CSI-SSB-RESOURCESETID-STOP --- TAG-CSI-SSB-RESOURCESET-START +-- TAG-DEDICATED-NAS-MESSAGE-START -CSI-SSB-ResourceSet ::= SEQUENCE { - csi-SSB-ResourceSetId CSI-SSB-ResourceSetId, - csi-SSB-ResourceList SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index, - ... -} +DedicatedNAS-Message ::= OCTET STRING --- TAG-CSI-SSB-RESOURCESET-STOP +-- TAG-DEDICATED-NAS-MESSAGE-STOP -- TAG-DMRS-DOWNLINKCONFIG-START -DMRS-DownlinkConfig ::= SEQUENCE { - dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S - dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R - maxLength ENUMERATED {len2} OPTIONAL, -- Need S - scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S - scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S - phaseTrackingRS CHOICE { release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M - ... +DMRS-DownlinkConfig ::= SEQUENCE { + dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S + dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need S + maxLength ENUMERATED {len2} OPTIONAL, -- Need S + scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S + scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S + phaseTrackingRS CHOICE { release NULL, setup PTRS-DownlinkConfig } OPTIONAL, -- Need M + ... } -- TAG-DMRS-DOWNLINKCONFIG-STOP -- TAG-DMRS-UPLINKCONFIG-START -DMRS-UplinkConfig ::= SEQUENCE { - dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S - dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R - phaseTrackingRS CHOICE { release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M - maxLength ENUMERATED {len2} OPTIONAL, -- Need S - - transformPrecodingDisabled SEQUENCE { - scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S - scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S - ... - } OPTIONAL, -- Need R - transformPrecodingEnabled SEQUENCE { - nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S - disableSequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S - sequenceHoppingEnabled ENUMERATED {enabled} OPTIONAL, -- Need S - ... - } OPTIONAL, -- Need R - ... +DMRS-UplinkConfig ::= SEQUENCE { + dmrs-Type ENUMERATED {type2} OPTIONAL, -- Need S + dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos3} OPTIONAL, -- Need R + phaseTrackingRS CHOICE { release NULL, setup PTRS-UplinkConfig } OPTIONAL, -- Need M + maxLength ENUMERATED {len2} OPTIONAL, -- Need S + + transformPrecodingDisabled SEQUENCE { + scramblingID0 INTEGER (0..65535) OPTIONAL, -- Need S + scramblingID1 INTEGER (0..65535) OPTIONAL, -- Need S + ... + } OPTIONAL, -- Need R + transformPrecodingEnabled SEQUENCE { + nPUSCH-Identity INTEGER(0..1007) OPTIONAL, -- Need S + sequenceGroupHopping ENUMERATED {disabled} OPTIONAL, -- Need S + sequenceHopping ENUMERATED {enabled} OPTIONAL, -- Need S + ... + } OPTIONAL, -- Need R + ... } -- TAG-DMRS-UPLINKCONFIG-STOP -- TAG-DOWNLINK-CONFIG-COMMON-START -DownlinkConfigCommon ::= SEQUENCE { - frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd - initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd - ... +DownlinkConfigCommon ::= SEQUENCE { + frequencyInfoDL FrequencyInfoDL OPTIONAL, -- Cond InterFreqHOAndServCellAdd + initialDownlinkBWP BWP-DownlinkCommon OPTIONAL, -- Cond ServCellAdd + ... } -- TAG-DOWNLINK-CONFIG-COMMON-STOP +-- TAG-DOWNLINK-CONFIG-COMMON-SIB-START + +DownlinkConfigCommonSIB ::= SEQUENCE { + frequencyInfoDL FrequencyInfoDL-SIB, + initialDownlinkBWP BWP-DownlinkCommon, + bcch-Config BCCH-Config, + pcch-Config PCCH-Config, + ... +} + + +BCCH-Config ::= SEQUENCE { modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16}, + ... +} + + +PCCH-Config ::= SEQUENCE { + defaultPagingCycle PagingCycle, + nAndPagingFrameOffset CHOICE { + oneT NULL, + halfT INTEGER (0..1), + quarterT INTEGER (0..3), + oneEighthT INTEGER (0..7), + oneSixteenthT INTEGER (0..15) + }, + ns ENUMERATED {four, two, one}, + firstPDCCH-MonitoringOccasionOfPO CHOICE { + sCS15KHZoneT SEQUENCE (SIZE (1..4)) OF INTEGER (0..139), + sCS30KHZoneT-SCS15KHZhalfT SEQUENCE (SIZE (1..4)) OF INTEGER (0..279), + sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT SEQUENCE (SIZE (1..4)) OF INTEGER (0..559), + sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..1119), + sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..2239), + sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..4479), + sCS120KHZoneEighthT-SCS60KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..8959), + sCS120KHZoneSixteenthT SEQUENCE (SIZE (1..4)) OF INTEGER (0..17919) + } OPTIONAL, -- Need R + ... +} + +-- TAG-DOWNLINK-CONFIG-COMMON-SIB-STOP -- TAG-DOWNLINKPREEMPTION-START -DownlinkPreemption ::= SEQUENCE { - int-RNTI RNTI-Value, - timeFrequencySet ENUMERATED {set0, set1}, - dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize), - int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell, - ... +DownlinkPreemption ::= SEQUENCE { + int-RNTI RNTI-Value, + timeFrequencySet ENUMERATED {set0, set1}, + dci-PayloadSize INTEGER (0..maxINT-DCI-PayloadSize), + int-ConfigurationPerServingCell SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell, + ... } INT-ConfigurationPerServingCell ::= SEQUENCE { - servingCellId ServCellIndex, - positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1) + servingCellId ServCellIndex, + positionInDCI INTEGER (0..maxINT-DCI-PayloadSize-1) } -- TAG-DOWNLINKPREEMPTION-STOP -- TAG-DRB-IDENTITY-START -DRB-Identity ::= INTEGER (1..32) +DRB-Identity ::= INTEGER (1..32) -- TAG-DRB-IDENTITY-STOP --- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START - -EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig - -EUTRA-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)) - }, - subframeAllocation-v1430 CHOICE { - oneFrame-v1430 BIT STRING (SIZE(2)), - fourFrames-v1430 BIT STRING (SIZE(8)) - } OPTIONAL, -- Need R - ... -} - --- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP +-- TAG-DRX-CONFIG-START + +DRX-Config ::= SEQUENCE { + drx-onDurationTimer CHOICE { + subMilliSeconds INTEGER (1..31), + milliSeconds ENUMERATED { + ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, + ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200, + ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } + }, + drx-InactivityTimer ENUMERATED { + ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80, + ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8, + spare7, spare6, spare5, spare4, spare3, spare2, spare1}, + drx-HARQ-RTT-TimerDL INTEGER (0..56), + drx-HARQ-RTT-TimerUL INTEGER (0..56), + drx-RetransmissionTimerDL ENUMERATED { + sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128, + sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, + spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}, + drx-RetransmissionTimerUL ENUMERATED { + sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128, + sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, + spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, + drx-LongCycleStartOffset CHOICE { + ms10 INTEGER(0..9), + ms20 INTEGER(0..19), + ms32 INTEGER(0..31), + ms40 INTEGER(0..39), + ms60 INTEGER(0..59), + ms64 INTEGER(0..63), + ms70 INTEGER(0..69), + ms80 INTEGER(0..79), + ms128 INTEGER(0..127), + ms160 INTEGER(0..159), + ms256 INTEGER(0..255), + ms320 INTEGER(0..319), + ms512 INTEGER(0..511), + ms640 INTEGER(0..639), + ms1024 INTEGER(0..1023), + ms1280 INTEGER(0..1279), + ms2048 INTEGER(0..2047), + ms2560 INTEGER(0..2559), + ms5120 INTEGER(0..5119), + ms10240 INTEGER(0..10239) + }, + + shortDRX SEQUENCE { + drx-ShortCycle ENUMERATED { + ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, + ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9, + spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, + drx-ShortCycleTimer INTEGER (1..16) + } OPTIONAL, -- Need R + drx-SlotOffset INTEGER (0..31) +} + +-- TAG-DRX-CONFIG-STOP -- TAG-FILTERCOEFFICIENT-START -FilterCoefficient ::= ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...} +FilterCoefficient ::= ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...} -- TAG-FILTERCOEFFICIENT-STOP -- TAG-FREQBANDINDICATORNR-START -FreqBandIndicatorNR ::= INTEGER (1..1024) +FreqBandIndicatorNR ::= INTEGER (1..1024) -- TAG-FREQBANDINDICATORNR-STOP -- TAG-FREQUENCY-INFO-DL-START -FrequencyInfoDL ::= SEQUENCE { - absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd - frequencyBandList MultiFrequencyBandListNR, - absoluteFrequencyPointA ARFCN-ValueNR, - scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, - ... +FrequencyInfoDL ::= SEQUENCE { + absoluteFrequencySSB ARFCN-ValueNR OPTIONAL, -- Cond SpCellAdd + frequencyBandList MultiFrequencyBandListNR, + absoluteFrequencyPointA ARFCN-ValueNR, + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + ... } -- TAG-FREQUENCY-INFO-UL-STOP +-- TAG-FREQUENCY-INFO-DL-SIB-START + +FrequencyInfoDL-SIB ::= SEQUENCE { + frequencyBandList MultiFrequencyBandListNR-SIB, + offsetToPointA INTEGER (0..2199), + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier +} + +-- TAG-FREQUENCY-INFO-DL-SIB-STOP -- TAG-FREQUENCY-INFO-UL-START -FrequencyInfoUL ::= SEQUENCE { - frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL - absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL - scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, - additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S - p-Max P-Max OPTIONAL, -- Need S - frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional - ... +FrequencyInfoUL ::= SEQUENCE { + frequencyBandList MultiFrequencyBandListNR OPTIONAL, -- Cond FDD-OrSUL + absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need S + p-Max P-Max OPTIONAL, -- Need S + frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional + ... } -- TAG-FREQUENCY-INFO-UL-STOP +-- TAG-FREQUENCY-INFO-UL-SIB-START + +FrequencyInfoUL-SIB ::= SEQUENCE { + frequencyBandList MultiFrequencyBandListNR-SIB OPTIONAL, -- Cond FDD-OrSUL + absoluteFrequencyPointA ARFCN-ValueNR OPTIONAL, -- Cond FDD-OrSUL + scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier, + p-Max P-Max OPTIONAL, -- Need S + frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD-OrSUL-Optional + ... +} -Hysteresis ::= INTEGER (0..30) +-- TAG-FREQUENCY-INFO-UL-SIB-STOP --- TAG-LOGICAL-CHANNEL-CONFIG-START +Hysteresis ::= INTEGER (0..30) + +-- TAG-I-RNTI-VALUE-START + +I-RNTI-Value ::= BIT STRING (SIZE(40)) -LogicalChannelConfig ::= SEQUENCE { - ul-SpecificParameters SEQUENCE { - priority INTEGER (1..16), - prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, - kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity}, - bucketSizeDuration ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000, - spare7, spare6, spare5, spare4, spare3,spare2, spare1}, +-- TAG-I-RNTI-VALUE-STOP +-- TAG-LOCATION-MEASUREMENT-INFO-START - allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, -- Need R - allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R - maxPUSCH-Duration ENUMERATED { ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1 } - OPTIONAL, -- Need R - configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R +LocationMeasurementInfo ::= CHOICE { + eutra-RSTD EUTRA-RSTD-InfoList, + ... +} + +EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info + +EUTRA-RSTD-Info ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + measPRS-Offset INTEGER (0..39), + ... +} + +-- TAG-LOCATION-MEASUREMENT-INFO-STOP +-- TAG-LOGICAL-CHANNEL-CONFIG-START - logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R - schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R - logicalChannelSR-Mask BOOLEAN, - logicalChannelSR-DelayTimerApplied BOOLEAN, - ... - } OPTIONAL, -- Cond UL +LogicalChannelConfig ::= SEQUENCE { + ul-SpecificParameters SEQUENCE { + priority INTEGER (1..16), + prioritisedBitRate ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512, + kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity}, + bucketSizeDuration ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000, + spare7, spare6, spare5, spare4, spare3,spare2, spare1}, + + allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex OPTIONAL, -- PDCP-CADuplication + allowedSCS-List SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing OPTIONAL, -- Need R + maxPUSCH-Duration ENUMERATED { ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1 } + OPTIONAL, -- Need R + configuredGrantType1Allowed ENUMERATED {true} OPTIONAL, -- Need R + + logicalChannelGroup INTEGER (0..maxLCG-ID) OPTIONAL, -- Need R + schedulingRequestID SchedulingRequestId OPTIONAL, -- Need R + logicalChannelSR-Mask BOOLEAN, + logicalChannelSR-DelayTimerApplied BOOLEAN, + ..., + bitRateQueryProhibitTimer ENUMERATED { s0, s0dot4, s0dot8, s1dot6, s3, s6, s12,s30} OPTIONAL -- Need R + } OPTIONAL, -- Cond UL - ... + ... } -- TAG-LOGICAL-CHANNEL-CONFIG-STOP -- TAG-LOGICALCHANNELIDENTITY-START -LogicalChannelIdentity ::= INTEGER (1..maxLC-ID) +LogicalChannelIdentity ::= INTEGER (1..maxLC-ID) -- TAG-LOGICALCHANNELIDENTITY-STOP -- TAG-MAC-CELL-GROUP-CONFIG-START -MAC-CellGroupConfig ::= SEQUENCE { - drx-Config CHOICE { release NULL, setup DRX-Config } OPTIONAL, -- Need M - schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M - bsr-Config BSR-Config OPTIONAL, -- Need M - tag-Config TAG-Config OPTIONAL, -- Need M - phr-Config CHOICE { release NULL, setup PHR-Config } OPTIONAL, -- Need M - skipUplinkTxDynamic BOOLEAN, - ... -} - -DRX-Config ::= SEQUENCE { - drx-onDurationTimer CHOICE { - subMilliSeconds INTEGER (1..31), - milliSeconds ENUMERATED { - ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, - ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200, - ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } - }, - drx-InactivityTimer ENUMERATED { - ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80, - ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8, - spare7, spare6, spare5, spare4, spare3, spare2, spare1}, - drx-HARQ-RTT-TimerDL INTEGER (0..56), - drx-HARQ-RTT-TimerUL INTEGER (0..56), - drx-RetransmissionTimerDL ENUMERATED { - sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128, - sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, - spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}, - drx-RetransmissionTimerUL ENUMERATED { - sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128, - sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, - spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, - drx-LongCycleStartOffset CHOICE { - ms10 INTEGER(0..9), - ms20 INTEGER(0..19), - ms32 INTEGER(0..31), - ms40 INTEGER(0..39), - ms60 INTEGER(0..59), - ms64 INTEGER(0..63), - ms70 INTEGER(0..69), - ms80 INTEGER(0..79), - ms128 INTEGER(0..127), - ms160 INTEGER(0..159), - ms256 INTEGER(0..255), - ms320 INTEGER(0..319), - ms512 INTEGER(0..511), - ms640 INTEGER(0..639), - ms1024 INTEGER(0..1023), - ms1280 INTEGER(0..1279), - ms2048 INTEGER(0..2047), - ms2560 INTEGER(0..2559), - ms5120 INTEGER(0..5119), - ms10240 INTEGER(0..10239) - }, - -- FFS need for finer offset granulary - -- FFS need for shorter values for long and short cycles - shortDRX SEQUENCE { - drx-ShortCycle ENUMERATED { - ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, - ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9, - spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }, - drx-ShortCycleTimer INTEGER (1..16) - } OPTIONAL, -- Need R - drx-SlotOffset INTEGER (0..31) - -} - -PHR-Config ::= SEQUENCE { - phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity}, - phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000}, - phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity}, - multiplePHR BOOLEAN, - phr-Type2SpCell BOOLEAN, - phr-Type2OtherCell BOOLEAN, - phr-ModeOtherCG ENUMERATED {real, virtual}, - ... -} - - -TAG-Config ::= SEQUENCE { - tag-ToReleaseList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL, -- Need N - tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG OPTIONAL -- Need N -} - -TAG ::= SEQUENCE { - tag-Id TAG-Id, - timeAlignmentTimer TimeAlignmentTimer, - ... -} - -TAG-Id ::= INTEGER (0..maxNrofTAGs-1) - -TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity} - -BSR-Config ::= SEQUENCE { - periodicBSR-Timer ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, - sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity }, - retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560, - sf5120, sf10240, spare5, spare4, spare3, spare2, spare1}, - logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R - ... +MAC-CellGroupConfig ::= SEQUENCE { + drx-Config CHOICE { release NULL, setup DRX-Config } OPTIONAL, -- Need M + schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M + bsr-Config BSR-Config OPTIONAL, -- Need M + tag-Config TAG-Config OPTIONAL, -- Need M + phr-Config CHOICE { release NULL, setup PHR-Config } OPTIONAL, -- Need M + skipUplinkTxDynamic BOOLEAN, + ..., + [[ + csi-Mask-v1530 BOOLEAN OPTIONAL , -- Need M + dataInactivityTimer-v1530 CHOICE { release NULL, setup DataInactivityTimer } OPTIONAL -- Need PCellOnly + ]] } +DataInactivityTimer ::= ENUMERATED {s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60, s80, s100, s120, s150, s180} + -- TAG-MAC-CELL-GROUP-CONFIG-STOP -- TAG-MEAS-CONFIG-START -MeasConfig ::= SEQUENCE { - measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N - measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N +MeasConfig ::= SEQUENCE { + measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need N + measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need N - reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N - reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N + reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need N + reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need N - measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N - measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N + measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need N + measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need N - s-MeasureConfig CHOICE { - ssb-RSRP RSRP-Range, - csi-RSRP RSRP-Range - } OPTIONAL, -- Need M + s-MeasureConfig CHOICE { + ssb-RSRP RSRP-Range, + csi-RSRP RSRP-Range + } OPTIONAL, -- Need M - quantityConfig QuantityConfig OPTIONAL, -- Need M + quantityConfig QuantityConfig OPTIONAL, -- Need M - measGapConfig MeasGapConfig OPTIONAL, -- Need M - measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M - ... + measGapConfig MeasGapConfig OPTIONAL, -- Need M + measGapSharingConfig MeasGapSharingConfig OPTIONAL, -- Need M + ... } -MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId +MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId -MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId +MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId -ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId +ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId -- TAG-MEAS-CONFIG-STOP --TAG-MEAS-GAP-CONFIG-START -MeasGapConfig ::= SEQUENCE { - gapFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M - ... +MeasGapConfig ::= SEQUENCE { + gapFR2 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M + ..., + [[ + gapFR1 CHOICE { release NULL, setup GapConfig } OPTIONAL, -- Need M + gapUE CHOICE { release NULL, setup GapConfig } OPTIONAL -- Need M + ]] + } -GapConfig ::= SEQUENCE { - gapOffset INTEGER (0..159), - mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6}, - mgrp ENUMERATED {ms20, ms40, ms80, ms160}, - mgta ENUMERATED {ms0, ms0dot25, ms0dot5}, - ... +GapConfig ::= SEQUENCE { + gapOffset INTEGER (0..159), + mgl ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6}, + mgrp ENUMERATED {ms20, ms40, ms80, ms160}, + mgta ENUMERATED {ms0, ms0dot25, ms0dot5}, + ... } -- TAG-MEAS-GAP-CONFIG-STOP --TAG-MEAS-GAP-SHARING-CONFIG-START -MeasGapSharingConfig ::= SEQUENCE { - gapSharingFR2 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M - ... +MeasGapSharingConfig ::= SEQUENCE { + gapSharingFR2 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, -- Need M + ..., + [[ + gapSharingFR1 CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL, --Need M + gapSharingUE CHOICE { release NULL, setup MeasGapSharingScheme } OPTIONAL --Need M + ]] + } -MeasGapSharingScheme ::= ENUMERATED { scheme00, scheme01, scheme10, scheme11 } +MeasGapSharingScheme::= ENUMERATED {scheme00, scheme01, scheme10, scheme11} --TAG-MEAS-GAP-SHARING-CONFIG-STOP -- TAG-MEAS-ID-START -MeasId ::= INTEGER (1..maxNrofMeasId) +MeasId ::= INTEGER (1..maxNrofMeasId) -- TAG-MEAS-ID-STOP -- TAG-MEAS-ID-TO-ADD-MOD-LIST-START -MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod +MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod -MeasIdToAddMod ::= SEQUENCE { - measId MeasId, - measObjectId MeasObjectId, - reportConfigId ReportConfigId +MeasIdToAddMod ::= SEQUENCE { + measId MeasId, + measObjectId MeasObjectId, + reportConfigId ReportConfigId } -- TAG-MEAS-ID-TO-ADD-MOD-LIST-STOP --- TAG-MEAS-OBJECT-ID-START +-- TAG-MEAS-OBJECT-EUTRA-NR-START + +MeasObjectEUTRA::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + allowedMeasBandwidth EUTRA-AllowedMeasBandwidth, + cellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N + cellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-Cell OPTIONAL, -- Need N + blackCellsToRemoveListEUTRAN EUTRA-CellIndexList OPTIONAL, -- Need N + blackCellsToAddModListEUTRAN SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-BlackCell OPTIONAL, -- Need N + eutra-PresenceAntennaPort1 EUTRA-PresenceAntennaPort1 , + eutra-Q-OffsetRange EUTRA-Q-OffsetRange OPTIONAL, -- Need R + widebandRSRQ-Meas BOOLEAN, + ... +} -MeasObjectId ::= INTEGER (1..maxNrofObjectId) +EUTRA-CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-CellIndex --- TAG-MEAS-OBJECT-ID-STOP --- TAG-MEAS-OBJECT-NR-START +EUTRA-CellIndex ::= INTEGER (1..maxCellMeasEUTRA) + + +EUTRA-Cell ::= SEQUENCE { + cellIndexEUTRA EUTRA-CellIndex, + physCellId EUTRA-PhysCellId, + cellIndividualOffset EUTRA-Q-OffsetRange +} -MeasObjectNR ::= SEQUENCE { - ssbFrequency ARFCN-ValueNR OPTIONAL, -- Cond SSBorAssociatedSSB - ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond SSBorAssociatedSSB - smtc1 SSB-MTC OPTIONAL, -- Cond SSBorAssociatedSSB - smtc2 SSB-MTC2 OPTIONAL, -- Cond IntraFreqConnected - refFreqCSI-RS ARFCN-ValueNR OPTIONAL, - referenceSignalConfig ReferenceSignalConfig, +EUTRA-BlackCell ::= SEQUENCE { + cellIndexEUTRA EUTRA-CellIndex, + physCellIdRange EUTRA-PhysCellIdRange +} - absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R - absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R +-- TAG-MEAS-OBJECT-EUTRA-NR-STOP +-- TAG-MEAS-OBJECT-ID-START - nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R - nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R +MeasObjectId ::= INTEGER (1..maxNrofObjectId) - quantityConfigIndex INTEGER (1..maxNrofQuantityConfig), +-- TAG-MEAS-OBJECT-ID-STOP +-- TAG-MEAS-OBJECT-NR-START - offsetMO Q-OffsetRangeList, +MeasObjectNR ::= SEQUENCE { + ssbFrequency ARFCN-ValueNR OPTIONAL, -- Cond SSBorAssociatedSSB + ssbSubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond SSBorAssociatedSSB + smtc1 SSB-MTC OPTIONAL, -- Cond SSBorAssociatedSSB + smtc2 SSB-MTC2 OPTIONAL, -- Cond IntraFreqConnected - cellsToRemoveList PCI-List OPTIONAL, -- Need N - cellsToAddModList CellsToAddModList OPTIONAL, -- Need N + refFreqCSI-RS ARFCN-ValueNR OPTIONAL, + referenceSignalConfig ReferenceSignalConfig, + absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL, -- Need R + absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL, -- Need R + nrofSS-BlocksToAverage INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL, -- Need R + nrofCSI-RS-ResourcesToAverage INTEGER (2..maxNrofCSI-RS-ResourcesToAverage) OPTIONAL, -- Need R + quantityConfigIndex INTEGER (1..maxNrofQuantityConfig), - blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N - blackCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N + offsetMO Q-OffsetRangeList, - whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N - whiteCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N - ... -} + cellsToRemoveList PCI-List OPTIONAL, -- Need N + cellsToAddModList CellsToAddModList OPTIONAL, -- Need N + + blackCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N + blackCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N -ReferenceSignalConfig::= SEQUENCE { - ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M - csi-rs-ResourceConfigMobility CHOICE { release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M + whiteCellsToRemoveList PCI-RangeIndexList OPTIONAL, -- Need N + whiteCellsToAddModList SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement OPTIONAL, -- Need N + ... , + [[ + freqBandIndicatorNR-v1530 FreqBandIndicatorNR OPTIONAL, -- Need R + measCycleSCell-v1530 ENUMERATED {sf160, sf256, sf320, sf512,sf640, sf1024, sf1280} OPTIONAL -- Need R + ]] } -SSB-ConfigMobility ::= SEQUENCE { - ssb-ToMeasure CHOICE { release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M - useServingCellTimingForSync BOOLEAN, - ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M - ... +ReferenceSignalConfig::= SEQUENCE { + ssb-ConfigMobility SSB-ConfigMobility OPTIONAL, -- Need M + csi-rs-ResourceConfigMobility CHOICE { release NULL, setup CSI-RS-ResourceConfigMobility } OPTIONAL -- Need M } +SSB-ConfigMobility::= SEQUENCE { -Q-OffsetRangeList ::= SEQUENCE { - rsrpOffsetSSB Q-OffsetRange DEFAULT dB0, - rsrqOffsetSSB Q-OffsetRange DEFAULT dB0, - sinrOffsetSSB Q-OffsetRange DEFAULT dB0, - rsrpOffsetCSI-RS Q-OffsetRange DEFAULT dB0, - rsrqOffsetCSI-RS Q-OffsetRange DEFAULT dB0, - sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0 + ssb-ToMeasure CHOICE { release NULL, setup SSB-ToMeasure } OPTIONAL, -- Need M + deriveSSB-IndexFromCell BOOLEAN, + ss-RSSI-Measurement SS-RSSI-Measurement OPTIONAL, -- Need M + ... } -SSB-ToMeasure ::= CHOICE { - shortBitmap BIT STRING (SIZE (4)), - mediumBitmap BIT STRING (SIZE (8)), - longBitmap BIT STRING (SIZE (64)) + +Q-OffsetRangeList ::= SEQUENCE { + rsrpOffsetSSB Q-OffsetRange DEFAULT dB0, + rsrqOffsetSSB Q-OffsetRange DEFAULT dB0, + sinrOffsetSSB Q-OffsetRange DEFAULT dB0, + rsrpOffsetCSI-RS Q-OffsetRange DEFAULT dB0, + rsrqOffsetCSI-RS Q-OffsetRange DEFAULT dB0, + sinrOffsetCSI-RS Q-OffsetRange DEFAULT dB0 } -ThresholdNR ::= SEQUENCE{ - thresholdRSRP RSRP-Range OPTIONAL, - thresholdRSRQ RSRQ-Range OPTIONAL, - thresholdSINR SINR-Range OPTIONAL + +ThresholdNR ::= SEQUENCE{ + thresholdRSRP RSRP-Range OPTIONAL, -- Need R + thresholdRSRQ RSRQ-Range OPTIONAL, -- Need R + thresholdSINR SINR-Range OPTIONAL -- Need R } -CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod +CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod -CellsToAddMod ::= SEQUENCE { - physCellId PhysCellId, - cellIndividualOffset Q-OffsetRangeList +CellsToAddMod ::= SEQUENCE { + physCellId PhysCellId, + cellIndividualOffset Q-OffsetRangeList } @@ -1273,721 +2474,839 @@ CellsToAddMod ::= SEQUENCE { -- TAG-MEAS-OBJECT-NR-STOP -- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-START -MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod +MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod -MeasObjectToAddMod ::= SEQUENCE { - measObjectId MeasObjectId, - measObject CHOICE { - measObjectNR MeasObjectNR, - ... - } +MeasObjectToAddMod ::= SEQUENCE { + measObjectId MeasObjectId, + measObject CHOICE { + measObjectNR MeasObjectNR, + ... , + measObjectEUTRA MeasObjectEUTRA + } } -- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-STOP +-- TAG-MEASRESULT-CELL-LIST-SFTD-START + +MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD + +MeasResultCellSFTD ::= SEQUENCE { + physCellId PhysCellId, + sfn-OffsetResult INTEGER (0..1023), + frameBoundaryOffsetResult INTEGER (-30720..30719), + rsrp-Result RSRP-Range OPTIONAL +} + +-- TAG-MEASRESULT-CELL-LIST-SFTD-STOP -- TAG-MEAS-RESULTS-START -MeasResults ::= SEQUENCE { - measId MeasId, - measResultServingMOList MeasResultServMOList, - measResultNeighCells CHOICE { - measResultListNR MeasResultListNR, - ... - } OPTIONAL, - ... +MeasResults ::= SEQUENCE { + measId MeasId, + measResultServingMOList MeasResultServMOList, + measResultNeighCells CHOICE { + measResultListNR MeasResultListNR, + ..., + measResultListEUTRA MeasResultListEUTRA + } OPTIONAL, + ... } -MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO +MeasResultServMOList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO -MeasResultServMO ::= SEQUENCE { - servCellId ServCellIndex, - measResultServingCell MeasResultNR, - measResultBestNeighCell MeasResultNR OPTIONAL, - ... +MeasResultServMO ::= SEQUENCE { + servCellId ServCellIndex, + measResultServingCell MeasResultNR, + measResultBestNeighCell MeasResultNR OPTIONAL, + ... } -MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR +MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR + +MeasResultNR ::= SEQUENCE { + physCellId PhysCellId OPTIONAL, + measResult SEQUENCE { + cellResults SEQUENCE{ + resultsSSB-Cell MeasQuantityResults OPTIONAL, + resultsCSI-RS-Cell MeasQuantityResults OPTIONAL + }, + rsIndexResults SEQUENCE{ + resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL, + resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList OPTIONAL + } OPTIONAL + }, + ..., + [[ + cgi-Info CGI-Info OPTIONAL + ]] +} + +MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA + +MeasResultEUTRA ::= SEQUENCE { + physCellId PhysCellId, + measResult MeasQuantityResultsEUTRA, + + cgi-Info SEQUENCE { + cgi-info-EPC SEQUENCE { + cgi-info-EPC-legacy CellAccessRelatedInfo-EUTRA-EPC, + cgi-info-EPC-list SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-EPC OPTIONAL + } OPTIONAL, + + cgi-info-5GC SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-5GC OPTIONAL, + freqBandIndicator FreqBandIndicatorEUTRA, + multiBandInfoList MultiBandInfoListEUTRA OPTIONAL, + freqBandIndicatorPriority ENUMERATED {true} OPTIONAL + } OPTIONAL, + ... +} + +MultiBandInfoListEUTRA ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicatorEUTRA -MeasResultNR ::= SEQUENCE { - physCellId PhysCellId OPTIONAL, - --FFS: Details of cgi info - measResult SEQUENCE { - cellResults SEQUENCE{ - resultsSSB-Cell MeasQuantityResults OPTIONAL, - resultsCSI-RS-Cell MeasQuantityResults OPTIONAL - }, - rsIndexResults SEQUENCE{ - resultsSSB-Indexes ResultsPerSSB-IndexList OPTIONAL, - resultsCSI-RS-Indexes ResultsPerCSI-RS-IndexList OPTIONAL - } OPTIONAL - }, - ... +MeasQuantityResults ::= SEQUENCE { + rsrp RSRP-Range OPTIONAL, + rsrq RSRQ-Range OPTIONAL, + sinr SINR-Range OPTIONAL } -MeasQuantityResults ::= SEQUENCE { - rsrp RSRP-Range OPTIONAL, - rsrq RSRQ-Range OPTIONAL, - sinr SINR-Range OPTIONAL +MeasQuantityResultsEUTRA ::= SEQUENCE { + rsrp RSRP-RangeEUTRA OPTIONAL, + rsrq RSRQ-RangeEUTRA OPTIONAL, + sinr SINR-RangeEUTRA OPTIONAL } -ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofSSBs)) OF ResultsPerSSB-Index -ResultsPerSSB-Index ::= SEQUENCE { - ssb-Index SSB-Index, - ssb-Results MeasQuantityResults OPTIONAL +ResultsPerSSB-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerSSB-Index + +ResultsPerSSB-Index ::= SEQUENCE { + ssb-Index SSB-Index, + ssb-Results MeasQuantityResults OPTIONAL } -ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofCSI-RS)) OF ResultsPerCSI-RS-Index +ResultsPerCSI-RS-IndexList::= SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerCSI-RS-Index -ResultsPerCSI-RS-Index ::= SEQUENCE { - csi-RS-Index CSI-RS-Index, - csi-RS-Results MeasQuantityResults OPTIONAL +ResultsPerCSI-RS-Index ::= SEQUENCE { + csi-RS-Index CSI-RS-Index, + csi-RS-Results MeasQuantityResults OPTIONAL } -- TAG-MEAS-RESULTS-STOP -- TAG-MEAS-RESULT-SCG-FAILURE-START -MeasResultSCG-Failure ::= SEQUENCE { - measResultPerMOList MeasResultList2NR, - ... +MeasResultSCG-Failure ::= SEQUENCE { + measResultPerMOList MeasResultList2NR, + ... } +MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR -MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR - -MeasResult2NR ::= SEQUENCE { - ssbFrequency ARFCN-ValueNR OPTIONAL, - refFreqCSI-RS ARFCN-ValueNR OPTIONAL, - measResultServingCell MeasResultNR OPTIONAL, - measResultNeighCellListNR MeasResultListNR +MeasResult2NR ::= SEQUENCE { + ssbFrequency ARFCN-ValueNR OPTIONAL, + refFreqCSI-RS ARFCN-ValueNR OPTIONAL, + measResultServingCell MeasResultNR OPTIONAL, + measResultNeighCellListNR MeasResultListNR OPTIONAL, + ... } -- TAG-MEAS-RESULT-SCG-FAILURE-STOP --- TAG-MEASRESULT-CELL-LIST-SFTD-START +-- TAG-MOBILITY-STATE-PARAMETERS-START -MeasResultCellListSFTD ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD - -MeasResultCellSFTD ::= SEQUENCE { - physCellId PhysCellId, - sfn-OffsetResult INTEGER (0..1023), - frameBoundaryOffsetResult INTEGER (-30720..30719), - rsrp-Result RSRP-Range OPTIONAL +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) } --- TAG-MEASRESULT-CELL-LIST-SFTD-STOP +-- TAG-MOBILITY-STATE-PARAMETERS-STOP -- TAG-MULTIFREQUENCYBANDLISTNR-START -MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR +MultiFrequencyBandListNR ::= SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR -- TAG-MULTIFREQUENCYBANDLISTNR-STOP +-- TAG-NEXTHOPCHAININGCOUNT-START + +NextHopChainingCount ::= INTEGER (0..7) + +-- TAG-NEXTHOPCHAININGCOUNT-STOP +-- TAG-NG-5G-S-TMSI-START + +NG-5G-S-TMSI::= BIT STRING (SIZE (48)) + +-- TAG-NG-5G-S-TMSI-STOP -- TAG-NZP-CSI-RS-RESOURCE-START -NZP-CSI-RS-Resource ::= SEQUENCE { - nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId, - resourceMapping CSI-RS-ResourceMapping, - powerControlOffset INTEGER(-8..15), - powerControlOffsetSS ENUMERATED {db-3, db0, db3, db6} OPTIONAL, -- Need R - scramblingID ScramblingId, - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent - qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, -- Cond Periodic - ... +NZP-CSI-RS-Resource ::= SEQUENCE { + nzp-CSI-RS-ResourceId NZP-CSI-RS-ResourceId, + resourceMapping CSI-RS-ResourceMapping, + powerControlOffset INTEGER (-8..15), + powerControlOffsetSS ENUMERATED{db-3, db0, db3, db6} OPTIONAL, -- Need R + scramblingID ScramblingId, + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, -- Cond PeriodicOrSemiPersistent + qcl-InfoPeriodicCSI-RS TCI-StateId OPTIONAL, -- Cond Periodic + ... } -- TAG-NZP-CSI-RS-RESOURCE-STOP -- TAG-NZP-CSI-RS-RESOURCEID-START -NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1) +NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1) -- TAG-NZP-CSI-RS-RESOURCEID-STOP -- TAG-NZP-CSI-RS-RESOURCESET-START -NZP-CSI-RS-ResourceSet ::= SEQUENCE { - nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId, - nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId, - repetition ENUMERATED { on, off } OPTIONAL, - aperiodicTriggeringOffset INTEGER(0..4) OPTIONAL, -- Need S - trs-Info ENUMERATED {true} OPTIONAL, -- Need R - ... +NZP-CSI-RS-ResourceSet ::= SEQUENCE { + nzp-CSI-ResourceSetId NZP-CSI-RS-ResourceSetId, + nzp-CSI-RS-Resources SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId, + repetition ENUMERATED { on, off } OPTIONAL, -- Need S + aperiodicTriggeringOffset INTEGER(0..4) OPTIONAL, -- Need S + trs-Info ENUMERATED {true} OPTIONAL, -- Need R + ... } -- TAG-NZP-CSI-RS-RESOURCESET-STOP -- TAG-NZP-CSI-RS-RESOURCESETID-START -NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1) +NZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1) -- TAG-NZP-CSI-RS-RESOURCESETID-STOP -- TAG-P-MAX-START -P-Max ::= INTEGER (-30..33) +P-Max ::= INTEGER (-30..33) -- TAG-P-MAX-STOP -- TAG-PCI-LIST-START -PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId +PCI-List ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId -- TAG-PCI-LIST-STOP -- TAG-PCI-RANGE-START -PCI-Range ::= SEQUENCE { - start PhysCellId, - range ENUMERATED { n4, n8, n12, n16, n24, n32, n48, n64, n84, - n96, n128, n168, n252, n504, n1008, spare1} OPTIONAL -- Need S +PCI-Range ::= SEQUENCE { + start PhysCellId, + range ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84, + n96, n128, n168, n252, n504, n1008,spare1} OPTIONAL -- Need S } -- TAG-PCI-RANGE-STOP -- TAG-PCI-RANGEELEMENT-START -PCI-RangeElement ::= SEQUENCE { - pci-RangeIndex PCI-RangeIndex, - pci-Range PCI-Range +PCI-RangeElement ::= SEQUENCE { + pci-RangeIndex PCI-RangeIndex, + pci-Range PCI-Range } -- TAG-PCI-RANGEELEMENT-STOP -- TAG-PCI-RANGE-INDEX-START -PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges) +PCI-RangeIndex ::= INTEGER (1..maxNrofPCI-Ranges) -- TAG-PCI-RANGE-INDEX-STOP -- TAG-PCI-RANGE-INDEX-LIST-START -PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex +PCI-RangeIndexList ::= SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex -- TAG-PCI-Range-INDEX-LIST-STOP -- TAG-PDCCH-CONFIG-START -PDCCH-Config ::= SEQUENCE { - controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, -- Need N - controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, -- Need N - searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, -- Need N - searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL, -- Need N - downlinkPreemption CHOICE { release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M - tpc-PUSCH CHOICE { release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M - tpc-PUCCH CHOICE { release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Cond PUCCH-CellOnly - tpc-SRS CHOICE { release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M - ... +PDCCH-Config ::= SEQUENCE { + controlResourceSetToAddModList SEQUENCE(SIZE (1..3)) OF ControlResourceSet OPTIONAL, -- Need N + controlResourceSetToReleaseList SEQUENCE(SIZE (1..3)) OF ControlResourceSetId OPTIONAL, -- Need N + searchSpacesToAddModList SEQUENCE(SIZE (1..10)) OF SearchSpace OPTIONAL, -- Need N + searchSpacesToReleaseList SEQUENCE(SIZE (1..10)) OF SearchSpaceId OPTIONAL, -- Need N + downlinkPreemption CHOICE { release NULL, setup DownlinkPreemption } OPTIONAL, -- Need M + tpc-PUSCH CHOICE { release NULL, setup PUSCH-TPC-CommandConfig } OPTIONAL, -- Need M + tpc-PUCCH CHOICE { release NULL, setup PUCCH-TPC-CommandConfig } OPTIONAL, -- Cond PUCCH-CellOnly + tpc-SRS CHOICE { release NULL, setup SRS-TPC-CommandConfig} OPTIONAL, -- Need M + ... } -- TAG-PDCCH-CONFIG-STOP -- TAG-PDCCH-CONFIGCOMMON-START -PDCCH-ConfigCommon ::= SEQUENCE { - controlResourceSetZero INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-Only - commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R - searchSpaceZero INTEGER (0..15) OPTIONAL, -- Cond InitialBWP-Only - commonSearchSpace SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R - searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need R - searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need R - pagingSearchSpace SearchSpaceId OPTIONAL, -- Need R - ra-SearchSpace SearchSpaceId OPTIONAL, -- Need R - ... +PDCCH-ConfigCommon ::= SEQUENCE { + controlResourceSetZero ControlResourceSetZero OPTIONAL, -- Cond InitialBWP-Only + commonControlResourceSet ControlResourceSet OPTIONAL, -- Need R + searchSpaceZero SearchSpaceZero OPTIONAL, -- Cond InitialBWP-Only + commonSearchSpaceList SEQUENCE (SIZE(1..4)) OF SearchSpace OPTIONAL, -- Need R + searchSpaceSIB1 SearchSpaceId OPTIONAL, -- Need S + searchSpaceOtherSystemInformation SearchSpaceId OPTIONAL, -- Need S + pagingSearchSpace SearchSpaceId OPTIONAL, -- Need S + ra-SearchSpace SearchSpaceId OPTIONAL, -- Need S + ... } -- TAG-PDCCH-CONFIGCOMMON-STOP +-- TAG-PDCCH-CONFIGSIB1-START + +PDCCH-ConfigSIB1 ::= SEQUENCE { + controlResourceSetZero ControlResourceSetZero, + searchSpaceZero SearchSpaceZero +} + +-- TAG-PDCCH-CONFIGSIB1-STOP -- TAG-PDCCH-SERVINGCELLCONFIG-START -PDCCH-ServingCellConfig ::= SEQUENCE { - slotFormatIndicator CHOICE { release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M - ... +PDCCH-ServingCellConfig ::= SEQUENCE { + slotFormatIndicator CHOICE { release NULL, setup SlotFormatIndicator } OPTIONAL, -- Need M + ... } -- TAG-PDCCH-SERVINGCELLCONFIG-STOP -- TAG-PDCP-CONFIG-START -PDCP-Config ::= SEQUENCE { - drb SEQUENCE { - discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup - pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2 - pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2 - 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 - }, - drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R - }, - uplinkOnlyROHC SEQUENCE { - maxCID INTEGER (1..16383) DEFAULT 15, - profiles SEQUENCE { - profile0x0006 BOOLEAN - }, - drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need R - }, - ... - }, - integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC - statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM - outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R - } OPTIONAL, -- Cond DRB - moreThanOneRLC SEQUENCE { - primaryPath SEQUENCE { - cellGroup CellGroupId OPTIONAL, -- Need R - logicalChannel LogicalChannelIdentity OPTIONAL -- Need R - }, - ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer - pdcp-Duplication BOOLEAN OPTIONAL -- Need R - } OPTIONAL, -- Cond MoreThanOneRLC - - t-Reordering ENUMERATED { - ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220, - ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, ms1500, ms1750, ms2000, ms2250, ms2500, ms2750, - ms3000, spare28, spare27, spare26, spare25, spare24, spare23, spare22, spare21, spare20, - spare19, spare18, spare17, spare16, spare15, spare14, spare13, spare12, spare11, spare10, spare09, - spare08, spare07, spare06, spare05, spare04, spare03, spare02, spare01 } OPTIONAL, -- Need S - - - ... +PDCP-Config ::= SEQUENCE { + drb SEQUENCE { + discardTimer ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200, + ms250, ms300, ms500, ms750, ms1500, infinity} OPTIONAL, -- Cond Setup + pdcp-SN-SizeUL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2 + pdcp-SN-SizeDL ENUMERATED {len12bits, len18bits} OPTIONAL, -- Cond Setup2 + 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 + }, + drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N + }, + uplinkOnlyROHC SEQUENCE { + maxCID INTEGER (1..16383) DEFAULT 15, + profiles SEQUENCE { + profile0x0006 BOOLEAN + }, + drb-ContinueROHC ENUMERATED { true } OPTIONAL -- Need N + }, + ... + }, + integrityProtection ENUMERATED { enabled } OPTIONAL, -- Cond ConnectedTo5GC + statusReportRequired ENUMERATED { true } OPTIONAL, -- Cond Rlc-AM + outOfOrderDelivery ENUMERATED { true } OPTIONAL -- Need R + } OPTIONAL, -- Cond DRB + moreThanOneRLC SEQUENCE { + primaryPath SEQUENCE { + cellGroup CellGroupId OPTIONAL, -- Need R + logicalChannel LogicalChannelIdentity OPTIONAL -- Need R + }, + ul-DataSplitThreshold UL-DataSplitThreshold OPTIONAL, -- Cond SplitBearer + pdcp-Duplication BOOLEAN OPTIONAL -- Need R + } OPTIONAL, -- Cond MoreThanOneRLC + + t-Reordering ENUMERATED { + ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40, + ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220, + ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, + ms1500, ms1750, ms2000, ms2250, ms2500, ms2750, + ms3000, spare28, spare27, spare26, spare25, spare24, + spare23, spare22, spare21, spare20, + spare19, spare18, spare17, spare16, spare15, spare14, + spare13, spare12, spare11, spare10, spare09, + spare08, spare07, spare06, spare05, spare04, spare03, + spare02, spare01 } OPTIONAL, -- Need S + ..., + [[ + cipheringDisabled ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC + ]] + } UL-DataSplitThreshold ::= ENUMERATED { - b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800, - b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400, - b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1} + b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800, + b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400, + b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1} -- TAG-PDCP-CONFIG-STOP -- TAG-PDSCH-CONFIG-START -PDSCH-Config ::= SEQUENCE { - dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL, - dmrs-DownlinkForPDSCH-MappingTypeA CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M - dmrs-DownlinkForPDSCH-MappingTypeB CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M - - tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N - tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N - vrb-ToPRB-Interleaver ENUMERATED {n2, n4} OPTIONAL, -- Need S - resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, - pdsch-TimeDomainAllocationList CHOICE { release NULL, setup PDSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M - pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S - rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N - rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N - rateMatchPatternGroup1 RateMatchPatternGroup OPTIONAL, -- Need R - rateMatchPatternGroup2 RateMatchPatternGroup OPTIONAL, -- Need R - - rbg-Size ENUMERATED {config1, config2}, - mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S - maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R - - prb-BundlingType CHOICE { - staticBundling SEQUENCE { - bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S - }, - dynamicBundling SEQUENCE { - bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S - bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S - } - }, - zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource OPTIONAL, -- Need N - zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId OPTIONAL, -- Need N - aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N - aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, - -- Need N - sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N - sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N - p-ZP-CSI-RS-ResourceSet CHOICE { release NULL, setup ZP-CSI-RS-ResourceSet } OPTIONAL, -- Need M - ... -} -RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE { cellLevel RateMatchPatternId, - bwpLevel RateMatchPatternId +PDSCH-Config ::= SEQUENCE { + dataScramblingIdentityPDSCH INTEGER (0..1023) OPTIONAL, -- Need S + dmrs-DownlinkForPDSCH-MappingTypeA CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M + dmrs-DownlinkForPDSCH-MappingTypeB CHOICE { release NULL, setup DMRS-DownlinkConfig } OPTIONAL, -- Need M + + tci-StatesToAddModList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State OPTIONAL, -- Need N + tci-StatesToReleaseList SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId OPTIONAL, -- Need N + vrb-ToPRB-Interleaver ENUMERATED {n2, n4} OPTIONAL, -- Need S + resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, + pdsch-TimeDomainAllocationList CHOICE { release NULL, setup PDSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M + pdsch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S + rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N + rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N + rateMatchPatternGroup1 RateMatchPatternGroup OPTIONAL, -- Need R + rateMatchPatternGroup2 RateMatchPatternGroup OPTIONAL, -- Need R + + rbg-Size ENUMERATED {config1, config2}, + mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R + + prb-BundlingType CHOICE { + staticBundling SEQUENCE { + bundleSize ENUMERATED { n4, wideband } OPTIONAL -- Need S + }, + dynamicBundling SEQUENCE { + bundleSizeSet1 ENUMERATED { n4, wideband, n2-wideband, n4-wideband } OPTIONAL, -- Need S + bundleSizeSet2 ENUMERATED { n4, wideband } OPTIONAL -- Need S + } + }, + zp-CSI-RS-ResourceToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource OPTIONAL, -- Need N + zp-CSI-RS-ResourceToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId OPTIONAL, -- Need N + aperiodic-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N + aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, + -- NeedN + sp-ZP-CSI-RS-ResourceSetsToAddModList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet OPTIONAL, -- Need N + sp-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId OPTIONAL, -- Need N + p-ZP-CSI-RS-ResourceSet CHOICE { release NULL, setup ZP-CSI-RS-ResourceSet } OPTIONAL, -- Need M + ... +} +RateMatchPatternGroup ::= SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE { + cellLevel RateMatchPatternId, + bwpLevel RateMatchPatternId } -- TAG-PDSCH-CONFIG-STOP -- TAG-PDSCH-CONFIGCOMMON-START -PDSCH-ConfigCommon ::= SEQUENCE { - pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R - ... +PDSCH-ConfigCommon ::= SEQUENCE { + pdsch-TimeDomainAllocationList PDSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R + ... } -- TAG-PDSCH-CONFIGCOMMON-STOP -- TAG-PDSCH-SERVINGCELLCONFIG-START -PDSCH-ServingCellConfig ::= SEQUENCE { - codeBlockGroupTransmission CHOICE { release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M - xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S - nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S - pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly - ... +PDSCH-ServingCellConfig ::= SEQUENCE { + codeBlockGroupTransmission CHOICE { release NULL, setup PDSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M + xOverhead ENUMERATED { xOh6, xOh12, xOh18 } OPTIONAL, -- Need S + nrofHARQ-ProcessesForPDSCH ENUMERATED {n2, n4, n6, n10, n12, n16} OPTIONAL, -- Need S + pucch-Cell ServCellIndex OPTIONAL , -- Cond SCellAddOnly + ... } -PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { - maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, - codeBlockGroupFlushIndicator BOOLEAN, - ... +PDSCH-CodeBlockGroupTransmission ::= SEQUENCE { + maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, + codeBlockGroupFlushIndicator BOOLEAN, + ... } -- TAG-PDSCH-SERVINGCELLCONFIG-STOP -- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START -PDSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation +PDSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation PDSCH-TimeDomainResourceAllocation ::= SEQUENCE { - k0 INTEGER(0..32) OPTIONAL, -- Need S - mappingType ENUMERATED {typeA, typeB}, - startSymbolAndLength INTEGER (0..127) + k0 INTEGER(0..32) OPTIONAL, -- Need S + mappingType ENUMERATED {typeA, typeB}, + startSymbolAndLength INTEGER (0..127) } -- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP +-- TAG-PHR-CONFIG-START + +PHR-Config ::= SEQUENCE { + phr-PeriodicTimer ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity}, + phr-ProhibitTimer ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000}, + phr-Tx-PowerFactorChange ENUMERATED {dB1, dB3, dB6, infinity}, + multiplePHR BOOLEAN, + dummy BOOLEAN, + phr-Type2OtherCell BOOLEAN, + phr-ModeOtherCG ENUMERATED {real, virtual}, + ... +} + +-- TAG-PHR-CONFIG-STOP -- TAG-PHYS-CELL-ID-START -PhysCellId ::= INTEGER (0..1007) +PhysCellId ::= INTEGER (0..1007) -- TAG-PHYS-CELL-ID-STOP -- TAG-PHYSICALCELLGROUPCONFIG-START -PhysicalCellGroupConfig ::= SEQUENCE { - harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S - harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S - p-NR P-Max OPTIONAL, -- Need R - pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic}, - tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R - tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R - tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R - sp-CSI-RNTI RNTI-Value OPTIONAL, -- Cond SP-CSI-Report - cs-RNTI CHOICE { release NULL, setup RNTI-Value } OPTIONAL, -- Need R - ... +PhysicalCellGroupConfig ::= SEQUENCE { + harq-ACK-SpatialBundlingPUCCH ENUMERATED {true} OPTIONAL, -- Need S + harq-ACK-SpatialBundlingPUSCH ENUMERATED {true} OPTIONAL, -- Need S + p-NR-FR1 P-Max OPTIONAL, -- Need R + pdsch-HARQ-ACK-Codebook ENUMERATED {semiStatic, dynamic}, + tpc-SRS-RNTI RNTI-Value OPTIONAL, -- Need R + tpc-PUCCH-RNTI RNTI-Value OPTIONAL, -- Need R + tpc-PUSCH-RNTI RNTI-Value OPTIONAL, -- Need R + sp-CSI-RNTI RNTI-Value OPTIONAL, -- Cond SP-CSI-Report + cs-RNTI CHOICE { release NULL, setup RNTI-Value } OPTIONAL, -- Need M + ..., + [[ + mcs-C-RNTI RNTI-Value OPTIONAL, -- Need R + p-UE-FR1 P-Max OPTIONAL -- Cond MCG-Only + ]] } -- TAG-PHYSICALCELLGROUPCONFIG-STOP +-- TAG-PLMN-IDENTITY-INFORMATION-START + +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) + + +-- TAG-PLMN-IDENTITY-INFORMATION-STOP +-- TAG-PLMN-IDENTITY-LIST-START + +PLMN-IdentityInfoList ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-IdentityInfo + +PLMN-IdentityInfo ::= SEQUENCE { + plmn-IdentityList SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity, + trackingAreaCode TrackingAreaCode OPTIONAL, -- Need R + ranac RAN-AreaCode OPTIONAL, -- Need R + cellIdentity CellIdentity, + cellReservedForOperatorUse ENUMERATED {reserved, notReserved}, + ... +} +-- TAG-PLMN-IDENTITY-LIST-STOP -- TAG-PRB-ID-START -PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1) +PRB-Id ::= INTEGER (0..maxNrofPhysicalResourceBlocks-1) -- TAG-PRB-ID-STOP -- TAG-PTRS-DOWNLINKCONFIG-START -PTRS-DownlinkConfig ::= SEQUENCE { - frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S - timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S - epre-Ratio INTEGER (0..3) OPTIONAL, -- Need S - resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S - ... +PTRS-DownlinkConfig ::= SEQUENCE { + frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S + timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S + epre-Ratio INTEGER (0..3) OPTIONAL, -- Need S + resourceElementOffset ENUMERATED { offset01, offset10, offset11 } OPTIONAL, -- Need S + ... } -- TAG-PTRS-DOWNLINKCONFIG-STOP -- TAG-PTRS-UPLINKCONFIG-START -PTRS-UplinkConfig ::= SEQUENCE { - modeSpecificParameters CHOICE { - cp-OFDM SEQUENCE { - frequencyDensity SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S - timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S - maxNrofPorts ENUMERATED {n1, n2}, - resourceElementOffset ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S - ptrs-Power ENUMERATED {p00, p01, p10, p11} - }, - dft-S-OFDM SEQUENCE { - sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276), - timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S - } - } OPTIONAL, -- Need M - ... +PTRS-UplinkConfig ::= SEQUENCE { + transformPrecoderDisabled SEQUENCE { + frequencyDensity + SEQUENCE (SIZE (2)) OF INTEGER (1..276) OPTIONAL, -- Need S + timeDensity SEQUENCE (SIZE (3)) OF INTEGER (0..29) OPTIONAL, -- Need S + maxNrofPorts ENUMERATED {n1, n2}, + resourceElementOffset ENUMERATED {offset01, offset10, offset11 } OPTIONAL, -- Need S + ptrs-Power ENUMERATED {p00, p01, p10, p11} + } OPTIONAL, -- Need R + transformPrecoderEnabled SEQUENCE { + sampleDensity SEQUENCE (SIZE (5)) OF INTEGER (1..276), + timeDensityTransformPrecoding ENUMERATED {d2} OPTIONAL -- Need S + } OPTIONAL, -- Need R + ... } -- TAG-PTRS-UPLINKCONFIG-STOP -- TAG-PUCCH-CONFIG-START -PUCCH-Config ::= SEQUENCE { - resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N - resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N - - resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N - resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N +PUCCH-Config ::= SEQUENCE { + resourceSetToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet OPTIONAL, -- Need N + resourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N - format1 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format2 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format3 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - format4 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + resourceToAddModList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource OPTIONAL, -- Need N + resourceToReleaseList SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId OPTIONAL, -- Need N - schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N - schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N + format1 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format2 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format3 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M + format4 CHOICE { release NULL, setup PUCCH-FormatConfig } OPTIONAL, -- Need M - multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need M - dl-DataToUL-ACK SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M + schedulingRequestResourceToAddModList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig OPTIONAL, -- Need N + schedulingRequestResourceToReleaseList SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId OPTIONAL, -- Need N - spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N - spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N + multi-CSI-PUCCH-ResourceList SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId OPTIONAL,-- Need M + dl-DataToUL-ACK SEQUENCE (SIZE (1..8)) OF INTEGER (0..15) OPTIONAL, -- Need M - pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M - ... -} + spatialRelationInfoToAddModList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo OPTIONAL, -- Need N + spatialRelationInfoToReleaseList SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId OPTIONAL, -- Need N -PUCCH-FormatConfig ::= SEQUENCE { - interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R - additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R - maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R - nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S - pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R - simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R + pucch-PowerControl PUCCH-PowerControl OPTIONAL, -- Need M + ... } -PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80} - -PUCCH-SpatialRelationInfo ::= SEQUENCE { - pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId, - servingCellId ServCellIndex OPTIONAL, -- Need S - referenceSignal CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId, - srs SEQUENCE { - resource SRS-ResourceId, - uplinkBWP BWP-Id - } - }, - pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, - p0-PUCCH-Id P0-PUCCH-Id, - closedLoopIndex ENUMERATED { i0, i1 } +PUCCH-FormatConfig ::= SEQUENCE { + interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL, -- Need R + additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R + maxCodeRate PUCCH-MaxCodeRate OPTIONAL, -- Need R + nrofSlots ENUMERATED {n2,n4,n8} OPTIONAL, -- Need S + pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need R + simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R } -PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos) +PUCCH-MaxCodeRate ::= ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80} -- A set with one or more PUCCH resources -PUCCH-ResourceSet ::= SEQUENCE { - pucch-ResourceSetId PUCCH-ResourceSetId, - resourceList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId, - maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R +PUCCH-ResourceSet ::= SEQUENCE { + pucch-ResourceSetId PUCCH-ResourceSetId, + resourceList SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId, + maxPayloadMinus1 INTEGER (4..256) OPTIONAL -- Need R } -PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1) +PUCCH-ResourceSetId ::= INTEGER (0..maxNrofPUCCH-ResourceSets-1) -PUCCH-Resource ::= SEQUENCE { - pucch-ResourceId PUCCH-ResourceId, - startingPRB PRB-Id, - intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R - secondHopPRB PRB-Id OPTIONAL, -- Need R - format CHOICE { - format0 PUCCH-format0, -- Cond InFirstSetOnly - format1 PUCCH-format1, -- Cond InFirstSetOnly - format2 PUCCH-format2, -- Cond NotInFirstSet - format3 PUCCH-format3, -- Cond NotInFirstSet - format4 PUCCH-format4 -- Cond NotInFirstSet - } +PUCCH-Resource ::= SEQUENCE { + pucch-ResourceId PUCCH-ResourceId, + startingPRB PRB-Id, + intraSlotFrequencyHopping ENUMERATED { enabled } OPTIONAL, -- Need R + secondHopPRB PRB-Id OPTIONAL, -- Need R + format CHOICE { + format0 PUCCH-format0, + format1 PUCCH-format1, + format2 PUCCH-format2, + format3 PUCCH-format3, + format4 PUCCH-format4 + } } -PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1) +PUCCH-ResourceId ::= INTEGER (0..maxNrofPUCCH-Resources-1) -PUCCH-format0 ::= SEQUENCE { - initialCyclicShift INTEGER(0..11), - nrofSymbols INTEGER (1..2), - startingSymbolIndex INTEGER(0..13) +PUCCH-format0 ::= SEQUENCE { + initialCyclicShift INTEGER(0..11), + nrofSymbols INTEGER (1..2), + startingSymbolIndex INTEGER(0..13) } -PUCCH-format1 ::= SEQUENCE { - initialCyclicShift INTEGER(0..11), - nrofSymbols INTEGER (4..14), - startingSymbolIndex INTEGER(0..10), - timeDomainOCC INTEGER(0..6) +PUCCH-format1 ::= SEQUENCE { + initialCyclicShift INTEGER(0..11), + nrofSymbols INTEGER (4..14), + startingSymbolIndex INTEGER(0..10), + timeDomainOCC INTEGER(0..6) } -PUCCH-format2 ::= SEQUENCE { - nrofPRBs INTEGER (1..16), - nrofSymbols INTEGER (1..2), - startingSymbolIndex INTEGER(0..13) +PUCCH-format2 ::= SEQUENCE { + nrofPRBs INTEGER (1..16), + nrofSymbols INTEGER (1..2), + startingSymbolIndex INTEGER(0..13) } -PUCCH-format3 ::= SEQUENCE { - nrofPRBs INTEGER (1..16), - nrofSymbols INTEGER (4..14), - startingSymbolIndex INTEGER(0..10) +PUCCH-format3 ::= SEQUENCE { + nrofPRBs INTEGER (1..16), + nrofSymbols INTEGER (4..14), + startingSymbolIndex INTEGER(0..10) } -PUCCH-format4 ::= SEQUENCE { - nrofSymbols INTEGER (4..14), - occ-Length ENUMERATED {n2,n4}, - occ-Index ENUMERATED {n0,n1,n2,n3}, - startingSymbolIndex INTEGER(0..10) +PUCCH-format4 ::= SEQUENCE { + nrofSymbols INTEGER (4..14), + occ-Length ENUMERATED {n2,n4}, + occ-Index ENUMERATED {n0,n1,n2,n3}, + startingSymbolIndex INTEGER(0..10) } -- TAG-PUCCH-CONFIG-STOP -- TAG-PUCCH-CONFIGCOMMON-START -PUCCH-ConfigCommon ::= SEQUENCE { - pucch-ResourceCommon INTEGER (0..15) OPTIONAL, -- Need R - pucch-GroupHopping ENUMERATED { neither, enable, disable }, - hoppingId INTEGER (0..1024) OPTIONAL, -- Need R - p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R - ... +PUCCH-ConfigCommon ::= SEQUENCE { + pucch-ResourceCommon INTEGER (0..15) OPTIONAL, -- Need R + pucch-GroupHopping ENUMERATED { neither, enable, disable }, + hoppingId INTEGER (0..1023) OPTIONAL, -- Need R + p0-nominal INTEGER (-202..24) OPTIONAL, -- Need R + ... } -- TAG-PUCCH-CONFIGCOMMON-STOP -- TAG-PUCCH-PATHLOSSREFERENCERS-ID-START -PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1) +PUCCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1) -- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP -- TAG-PUCCH-POWERCONTROL-START -PUCCH-PowerControl ::= SEQUENCE { - deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R - deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R - deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R - deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R - deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R - p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M - pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M - twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S - ... +PUCCH-PowerControl ::= SEQUENCE { + deltaF-PUCCH-f0 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f1 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f2 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f3 INTEGER (-16..15) OPTIONAL, -- Need R + deltaF-PUCCH-f4 INTEGER (-16..15) OPTIONAL, -- Need R + p0-Set SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH OPTIONAL, -- Need M + pathlossReferenceRSs SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS OPTIONAL, -- Need M + twoPUCCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S + ... } -P0-PUCCH ::= SEQUENCE { - p0-PUCCH-Id P0-PUCCH-Id, - p0-PUCCH-Value INTEGER (-16..15) +P0-PUCCH ::= SEQUENCE { + p0-PUCCH-Id P0-PUCCH-Id, + p0-PUCCH-Value INTEGER (-16..15) } -P0-PUCCH-Id ::= INTEGER (1..8) +P0-PUCCH-Id ::= INTEGER (1..8) -PUCCH-PathlossReferenceRS ::= SEQUENCE { - pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, - referenceSignal CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId - } +PUCCH-PathlossReferenceRS ::= SEQUENCE { + pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId + } } -- TAG-PUCCH-POWERCONTROL-STOP +-- TAG-PUCCH-SPATIALRELATIONINFO-START + +PUCCH-SpatialRelationInfo ::= SEQUENCE { + pucch-SpatialRelationInfoId PUCCH-SpatialRelationInfoId, + servingCellId ServCellIndex OPTIONAL, -- Need S + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId, + srs SEQUENCE { + resource SRS-ResourceId, + uplinkBWP BWP-Id + } + }, + pucch-PathlossReferenceRS-Id PUCCH-PathlossReferenceRS-Id, + p0-PUCCH-Id P0-PUCCH-Id, + closedLoopIndex ENUMERATED { i0, i1 } +} + +PUCCH-SpatialRelationInfoId ::= INTEGER (1..maxNrofSpatialRelationInfos) + + +-- TAG-PUCCH-SPATIALRELATIONINFO-STOP -- TAG-PUCCH-TPC-COMMANDCONFIG-START -PUCCH-TPC-CommandConfig ::= SEQUENCE { - tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell - tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-Scell +PUCCH-TPC-CommandConfig ::= SEQUENCE { + tpc-IndexPCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-OfSpcell + tpc-IndexPUCCH-SCell INTEGER (1..15) OPTIONAL, -- Cond PDCCH-ofSpCellOrPUCCH-Scell ... } -- TAG-PUCCH-TPC-COMMANDCONFIG-STOP -- TAG-PUSCH-CONFIG-START -PUSCH-Config ::= SEQUENCE { - dataScramblingIdentityPUSCH INTEGER (0..1023) OPTIONAL, -- Need M - txConfig ENUMERATED {codebook, nonCodebook} OPTIONAL, -- Need S - dmrs-UplinkForPUSCH-MappingTypeA CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M - dmrs-UplinkForPUSCH-MappingTypeB CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M - - pusch-PowerControl PUSCH-PowerControl OPTIONAL, -- Need M - frequencyHopping ENUMERATED {mode1, mode2} OPTIONAL, -- Need S - frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M - resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, - pusch-TimeDomainAllocationList CHOICE { release NULL, setup PUSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M - pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S - mcs-Table ENUMERATED {qam256, spare1} OPTIONAL, -- Need S - mcs-TableTransformPrecoder ENUMERATED {qam256, spare1} OPTIONAL, -- Need S - transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S - codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent, - nonCoherent} OPTIONAL, -- Cond codebookBased - maxRank INTEGER (1..4) OPTIONAL, -- Cond codebookBased - rbg-Size ENUMERATED { config2} OPTIONAL, -- Need S - uci-OnPUSCH CHOICE { release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M - tp-pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need S - ... -} - -UCI-OnPUSCH ::= SEQUENCE { - betaOffsets CHOICE { - dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, - semiStatic BetaOffsets - } OPTIONAL, -- Need M - scaling ENUMERATED { f0p5, f0p65, f0p8, f1 } +PUSCH-Config ::= SEQUENCE { + dataScramblingIdentityPUSCH INTEGER (0..1023) OPTIONAL, -- Need S + txConfig ENUMERATED {codebook, nonCodebook} OPTIONAL, -- Need S + dmrs-UplinkForPUSCH-MappingTypeA CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + dmrs-UplinkForPUSCH-MappingTypeB CHOICE { release NULL, setup DMRS-UplinkConfig } OPTIONAL, -- Need M + + pusch-PowerControl PUSCH-PowerControl OPTIONAL, -- Need M + frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, -- Need S + frequencyHoppingOffsetLists SEQUENCE (SIZE (1..4)) OF INTEGER (1.. maxNrofPhysicalResourceBlocks-1) OPTIONAL, -- Need M + resourceAllocation ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}, + pusch-TimeDomainAllocationList CHOICE { release NULL, setup PUSCH-TimeDomainResourceAllocationList } OPTIONAL, -- Need M + pusch-AggregationFactor ENUMERATED { n2, n4, n8 } OPTIONAL, -- Need S + mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + mcs-TableTransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, -- Need S + transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, -- Need S + codebookSubset ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent, + nonCoherent} OPTIONAL, -- Cond codebookBased + maxRank INTEGER (1..4) OPTIONAL, -- Cond codebookBased + rbg-Size ENUMERATED { config2} OPTIONAL, -- Need S + uci-OnPUSCH CHOICE { release NULL, setup UCI-OnPUSCH} OPTIONAL, -- Need M + tp-pi2BPSK ENUMERATED {enabled} OPTIONAL, -- Need S + ... +} + +UCI-OnPUSCH ::= SEQUENCE { + betaOffsets CHOICE { + dynamic SEQUENCE (SIZE (4)) OF BetaOffsets, + semiStatic BetaOffsets + } OPTIONAL, -- Need M + scaling ENUMERATED { f0p5, f0p65, f0p8, f1 } } -- TAG-PUSCH-CONFIG-STOP -- TAG-PUSCH-CONFIGCOMMON-START -PUSCH-ConfigCommon ::= SEQUENCE { - groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R - pusch-TimeDomainAllocationList PUSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R - msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R - p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R - ... +PUSCH-ConfigCommon ::= SEQUENCE { + groupHoppingEnabledTransformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R + pusch-TimeDomainAllocationList PUSCH-TimeDomainResourceAllocationList OPTIONAL, -- Need R + msg3-DeltaPreamble INTEGER (-1..6) OPTIONAL, -- Need R + p0-NominalWithGrant INTEGER (-202..24) OPTIONAL, -- Need R + ... } -- TAG-PUSCH-CONFIGCOMMON-STOP -- TAG-PUSCH-POWERCONTROL-START -PUSCH-PowerControl ::= SEQUENCE { - tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need S - msg3-Alpha Alpha OPTIONAL, -- Need S - p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M, - p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M, - pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS - OPTIONAL, -- Need N - pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id - OPTIONAL, -- Need N - twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S - deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S - sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl OPTIONAL, -- Need N - sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL -- Need N +PUSCH-PowerControl ::= SEQUENCE { + tpc-Accumulation ENUMERATED { disabled } OPTIONAL, -- Need S + msg3-Alpha Alpha OPTIONAL, -- Need S + p0-NominalWithoutGrant INTEGER (-202..24) OPTIONAL, -- Need M, + p0-AlphaSets SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet OPTIONAL, -- Need M, + pathlossReferenceRSToAddModList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS + OPTIONAL, -- Need N + pathlossReferenceRSToReleaseList SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id + OPTIONAL, -- Need N + twoPUSCH-PC-AdjustmentStates ENUMERATED {twoStates} OPTIONAL, -- Need S + deltaMCS ENUMERATED {enabled} OPTIONAL, -- Need S + sri-PUSCH-MappingToAddModList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl OPTIONAL, -- Need N + sri-PUSCH-MappingToReleaseList SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL -- Need N } -- A set of p0-pusch and alpha used for PUSCH with grant. 'PUSCH beam indication' (if present) gives the index of the set to --- be used for a particular PUSCH transmission. --- FFS_CHECK: Is the �PUSCH beam indication� in DCI which schedules the PUSCH? If so, clarify in field description --- Corresponds to L1 parameter 'p0-pusch-alpha-set' (see 38.213, section 7.1) -P0-PUSCH-AlphaSet ::= SEQUENCE { - p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, - p0 INTEGER (-16..15) OPTIONAL, - alpha Alpha OPTIONAL -- Need S +-- be used for a particular PUSCH transmission. (see 38.213, section 7.1.1) +P0-PUSCH-AlphaSet ::= SEQUENCE { + p0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, + p0 INTEGER (-16..15) OPTIONAL, -- Need S + alpha Alpha OPTIONAL -- Need S } -- ID for a P0-PUSCH-AlphaSet. Corresponds to L1 parameter 'p0alphasetindex' (see 38.213, section 7.1) -P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1) +P0-PUSCH-AlphaSetId ::= INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1) -- A reference signal (RS) configured as pathloss reference signal for PUSCH power control -- Corresponds to L1 parameter 'pusch-pathlossReference-rs' (see 38.213, section 7.1) -PUSCH-PathlossReferenceRS ::= SEQUENCE { - pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, - referenceSignal CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId - } +PUSCH-PathlossReferenceRS ::= SEQUENCE { + pusch-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId + } } -- ID for a referemce signal (RS) configured as PUSCH pathloss reference -- Corresponds to L1 parameter 'pathlossreference-index' (see 38.213, section 7.1) --- FFS_CHECK: Is this ID used anywhere except inside the PUSCH-PathlossReference-RS itself? -PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) +PUSCH-PathlossReferenceRS-Id ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1) -- A set of PUSCH power control parameters associated with one SRS-ResourceIndex (SRI) -SRI-PUSCH-PowerControl ::= SEQUENCE { - sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId, - sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, - sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, - sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 } +SRI-PUSCH-PowerControl ::= SEQUENCE { + sri-PUSCH-PowerControlId SRI-PUSCH-PowerControlId, + sri-PUSCH-PathlossReferenceRS-Id PUSCH-PathlossReferenceRS-Id, + sri-P0-PUSCH-AlphaSetId P0-PUSCH-AlphaSetId, + sri-PUSCH-ClosedLoopIndex ENUMERATED { i0, i1 } } -SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) +SRI-PUSCH-PowerControlId ::= INTEGER (0..maxNrofSRI-PUSCH-Mappings-1) -- A set of beta-offset values -BetaOffsets ::= SEQUENCE { - betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S - betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S +BetaOffsets ::= SEQUENCE { + betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part1-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part1-Index2 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part2-Index1 INTEGER(0..31) OPTIONAL, -- Need S + betaOffsetCSI-Part2-Index2 INTEGER(0..31) OPTIONAL -- Need S } -- TAG-PUSCH-POWERCONTROL-STOP -- TAG-PUSCH-SERVINGCELLCONFIG-START -PUSCH-ServingCellConfig ::= SEQUENCE { - codeBlockGroupTransmission CHOICE { release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M - rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S - xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S - ... +PUSCH-ServingCellConfig ::= SEQUENCE { + codeBlockGroupTransmission CHOICE { release NULL, setup PUSCH-CodeBlockGroupTransmission } OPTIONAL, -- Need M + rateMatching ENUMERATED {limitedBufferRM} OPTIONAL, -- Need S + xOverhead ENUMERATED {xoh6, xoh12, xoh18} OPTIONAL, -- Need S + ... } -PUSCH-CodeBlockGroupTransmission ::= SEQUENCE { - maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, - ... +PUSCH-CodeBlockGroupTransmission ::= SEQUENCE { + maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8}, + ... } -- TAG-PUSCH-SERVINGCELLCONFIG-STOP @@ -1996,565 +3315,673 @@ PUSCH-CodeBlockGroupTransmission ::= SEQUENCE { PUSCH-TimeDomainResourceAllocationList ::= SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation PUSCH-TimeDomainResourceAllocation ::= SEQUENCE { - k2 INTEGER(0..32) OPTIONAL, -- Need S - mappingType ENUMERATED {typeA, typeB}, - startSymbolAndLength INTEGER (0..127) + k2 INTEGER(0..32) OPTIONAL, -- Need S + mappingType ENUMERATED {typeA, typeB}, + startSymbolAndLength INTEGER (0..127) } -- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP -- TAG-PUSCH-TPC-COMMANDCONFIG-START -PUSCH-TPC-CommandConfig ::= SEQUENCE { - tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL - tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only - targetCell ServCellIndex OPTIONAL, -- Need S - ... +PUSCH-TPC-CommandConfig ::= SEQUENCE { + tpc-Index INTEGER (1..15) OPTIONAL, -- Cond SUL + tpc-IndexSUL INTEGER (1..15) OPTIONAL, -- Cond SUL-Only + targetCell ServCellIndex OPTIONAL, -- Need S + ... } -- TAG-PUSCH-TPC-COMMANDCONFIG-STOP +-- TAG-Q-OFFSET-START + +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} + +-- TAG-Q-OFFSET-STOP +-- TAG-Q-QUALMIN-START -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-QualMin ::= INTEGER (-34..-3) -- FFS range +-- TAG-Q-QUALMIN-STOP +-- TAG-Q-RXLEVMIN-START + +Q-RxLevMin ::= INTEGER (-70..-22) -- FFS range + +-- TAG-Q-RXLEVMIN-STOP -- TAG-QUANTITY-CONFIG-START -QuantityConfig ::= SEQUENCE { - quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M - ... +QuantityConfig ::= SEQUENCE { + quantityConfigNR-List SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR OPTIONAL, -- Need M + ..., + [[ + quantityConfigEUTRA FilterConfig OPTIONAL -- Need M + ]] } -QuantityConfigNR::= SEQUENCE { - quantityConfigCell QuantityConfigRS, - quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M +QuantityConfigNR::= SEQUENCE { + quantityConfigCell QuantityConfigRS, + quantityConfigRS-Index QuantityConfigRS OPTIONAL -- Need M } -QuantityConfigRS ::= SEQUENCE { - ssb-FilterConfig FilterConfig, - cs-RS-FilterConfig FilterConfig +QuantityConfigRS ::= SEQUENCE { + ssb-FilterConfig FilterConfig, + cs-RS-FilterConfig FilterConfig } -FilterConfig ::= SEQUENCE { - filterCoefficientRSRP FilterCoefficient DEFAULT fc4, - filterCoefficientRSRQ FilterCoefficient DEFAULT fc4, - filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4 +FilterConfig ::= SEQUENCE { + filterCoefficientRSRP FilterCoefficient DEFAULT fc4, + filterCoefficientRSRQ FilterCoefficient DEFAULT fc4, + filterCoefficientRS-SINR FilterCoefficient DEFAULT fc4 } -- TAG-QUANTITY-CONFIG-STOP -- TAG-RACH-CONFIG-COMMON-START -RACH-ConfigCommon ::= SEQUENCE { - rach-ConfigGeneric RACH-ConfigGeneric, - totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S - ssb-perRACH-OccasionAndCB-PreamblesPerSSB CHOICE { - oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, - oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, - oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, - one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, - two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32}, - four INTEGER (1..16), - eight INTEGER (1..8), - sixteen INTEGER (1..4) - } OPTIONAL, -- Need M - - groupBconfigured SEQUENCE { - ra-Msg3SizeGroupA ENUMERATED { b56, b144, b208, b256, b282, b480, b640, - b800, b1000, spare7, spare6, spare5, spare4, spare3, spare2, spare1}, - messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18}, - numberOfRA-PreamblesGroupA INTEGER (1..64) - } OPTIONAL, -- Need R - ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64}, - rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R - rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL - prach-RootSequenceIndex CHOICE { - l839 INTEGER (0..837), - l139 INTEGER (0..137) - }, - msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, --Need S - restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB}, - msg3-transformPrecoding ENUMERATED {enabled} OPTIONAL, -- Need R - ... +RACH-ConfigCommon ::= SEQUENCE { + rach-ConfigGeneric RACH-ConfigGeneric, + totalNumberOfRA-Preambles INTEGER (1..63) OPTIONAL, -- Need S + ssb-perRACH-OccasionAndCB-PreamblesPerSSB CHOICE { + oneEighth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, + oneFourth ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, + oneHalf ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, + one ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64}, + two ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32}, + four INTEGER (1..16), + eight INTEGER (1..8), + sixteen INTEGER (1..4) + } OPTIONAL, -- Need M + + groupBconfigured SEQUENCE { + ra-Msg3SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640, + b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1}, + messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18}, + numberOfRA-PreamblesGroupA INTEGER (1..64) + } OPTIONAL, -- Need R + ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64}, + rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need R + rsrp-ThresholdSSB-SUL RSRP-Range OPTIONAL, -- Cond SUL + prach-RootSequenceIndex CHOICE { + l839 INTEGER (0..837), + l139 INTEGER (0..137) + }, + msg1-SubcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond L139Need S + restrictedSetConfig ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB}, + msg3-transformPrecoder ENUMERATED {enabled} OPTIONAL, -- Need R + ... } -- TAG-RACH-CONFIG-COMMON-STOP --- TAG-RACH-CONFIG-GENERIC-START - -RACH-ConfigGeneric ::= SEQUENCE { - prach-ConfigurationIndex INTEGER (0..255), - msg1-FDM ENUMERATED {one, two, four, eight}, - msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1), - zeroCorrelationZoneConfig INTEGER(0..15), - preambleReceivedTargetPower INTEGER (-202..-60), - preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}, - powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6}, - ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}, - ... -} - --- TAG-RACH-CONFIG-GENERIC-STOP -- TAG-RACH-CONFIG-DEDICATED-START --- FFS_Standlone: resources for msg1-based on-demand SI request -RACH-ConfigDedicated ::= SEQUENCE { - cfra CFRA OPTIONAL, -- Need N - ra-Prioritization RA-Prioritization OPTIONAL, -- Need N - ... +RACH-ConfigDedicated ::= SEQUENCE { + cfra CFRA OPTIONAL, -- Need S + ra-Prioritization RA-Prioritization OPTIONAL, --Need N + ... } -CFRA ::= SEQUENCE { - occasions SEQUENCE { - rach-ConfigGeneric RACH-ConfigGeneric, - ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL -- Cond SSB-CFRA - } OPTIONAL, -- Need S - resources CHOICE { - ssb SEQUENCE { - ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource, - ra-ssb-OccasionMaskIndex INTEGER (0..15) - }, - csirs SEQUENCE { - csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource, - rsrp-ThresholdCSI-RS RSRP-Range - } - }, - ... +CFRA ::= SEQUENCE { + occasions SEQUENCE { + rach-ConfigGeneric RACH-ConfigGeneric, + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} OPTIONAL -- Cond SSB-CFRA + } OPTIONAL, -- Need S + resources CHOICE { + ssb SEQUENCE { + ssb-ResourceList SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource, + ra-ssb-OccasionMaskIndex INTEGER (0..15) + }, + csirs SEQUENCE { + csirs-ResourceList SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource, + rsrp-ThresholdCSI-RS RSRP-Range + } + }, + ..., + [[ + totalNumberOfRA-Preambles-v1530 INTEGER (1..63) OPTIONAL -- Cond Occasions + ]] +} + +CFRA-SSB-Resource ::= SEQUENCE { + ssb SSB-Index, + ra-PreambleIndex INTEGER (0..63), + ... } -CFRA-SSB-Resource ::= SEQUENCE { - ssb SSB-Index, - ra-PreambleIndex INTEGER (0..63), - ... +CFRA-CSIRS-Resource ::= SEQUENCE { + csi-RS CSI-RS-Index, + ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1), + ra-PreambleIndex INTEGER (0..63), + ... } -CFRA-CSIRS-Resource ::= SEQUENCE { - csi-RS CSI-RS-Index, - ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1), - ra-PreambleIndex INTEGER (0..63), - ... +-- TAG-RACH-CONFIG-DEDICATED-STOP +-- TAG-RACH-CONFIG-GENERIC-START + +RACH-ConfigGeneric ::= SEQUENCE { + prach-ConfigurationIndex INTEGER (0..255), + msg1-FDM ENUMERATED {one, two, four, eight}, + msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1), + zeroCorrelationZoneConfig INTEGER(0..15), + preambleReceivedTargetPower INTEGER (-202..-60), + preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}, + powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6}, + ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}, + ... } --- TAG-RACH-CONFIG-DEDICATED-STOP +-- TAG-RACH-CONFIG-GENERIC-STOP -- TAG-RA-PRIORITIZATION-START -RA-Prioritization ::= SEQUENCE { - powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6}, - scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R - ... +RA-Prioritization ::= SEQUENCE { + powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6}, + scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R + ... } -- TAG-RA-PRIORITIZATION-STOP -- TAG-RADIO-BEARER-CONFIG-START -RadioBearerConfig ::= SEQUENCE { - srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Need N - srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N - drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need N - drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N - securityConfig SecurityConfig OPTIONAL, -- Need M - ... +RadioBearerConfig ::= SEQUENCE { + srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn + srb3-ToRelease ENUMERATED{true} OPTIONAL, -- Need N + drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toNR + drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need N + securityConfig SecurityConfig OPTIONAL, -- Need M + ... } -SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod -SRB-ToAddMod ::= SEQUENCE { - srb-Identity SRB-Identity, - reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N - discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N - pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP - ... +SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod +SRB-ToAddMod ::= SEQUENCE { + srb-Identity SRB-Identity, + reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N + discardOnPDCP ENUMERATED{true} OPTIONAL, -- Need N + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + ... } - -DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod -DRB-ToAddMod ::= SEQUENCE { - cnAssociation CHOICE { - eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup - sdap-Config SDAP-Config -- 5GC - } OPTIONAL, -- Cond DRBSetup - drb-Identity DRB-Identity, - reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N - recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N - pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP - ... +DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod +DRB-ToAddMod ::= SEQUENCE { + cnAssociation CHOICE { + eps-BearerIdentity INTEGER (0..15), -- EPS-DRB-Setup + sdap-Config SDAP-Config -- 5GC + } OPTIONAL, -- Cond DRBSetup + drb-Identity DRB-Identity, + reestablishPDCP ENUMERATED{true} OPTIONAL, -- Need N + recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + ... } -DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity +DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity -SecurityConfig ::= SEQUENCE { - securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange - keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Cond RBTermChange - ... +SecurityConfig ::= SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond RBTermChange + keyToUse ENUMERATED{master, secondary} OPTIONAL, -- Cond RBTermChange + ... } + + -- TAG-RADIO-BEARER-CONFIG-STOP -- TAG-RADIOLINKMONITORINGCONFIG-START -RadioLinkMonitoringConfig ::= SEQUENCE { - failureDetectionResourcesToAddModList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS OPTIONAL, -- Need N - failureDetectionResourcesToReleaseList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS-Id OPTIONAL,-- Need N - beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need S - beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R - ... +RadioLinkMonitoringConfig ::= SEQUENCE { + failureDetectionResourcesToAddModList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS OPTIONAL, -- Need N + failureDetectionResourcesToReleaseList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS-Id OPTIONAL,-- Need N + beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10} OPTIONAL, -- Need R + beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10} OPTIONAL, -- Need R + ... } -RadioLinkMonitoringRS ::= SEQUENCE { - radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id, - purpose ENUMERATED {beamFailure, rlf, both}, - detectionResource CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId - }, - ... +RadioLinkMonitoringRS ::= SEQUENCE { + radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id, + purpose ENUMERATED {beamFailure, rlf, both}, + detectionResource CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId + }, + ... } -- TAG-RADIOLINKMONITORINGCONFIG-STOP -- TAG-RADIOLINKMONITORINGRSID-START -RadioLinkMonitoringRS-Id ::= INTEGER (0..maxNrofFailureDetectionResources-1) +RadioLinkMonitoringRS-Id ::= INTEGER (0..maxNrofFailureDetectionResources-1) -- TAG-RADIOLINKMONITORINGRSID-STOP +-- TAG-RAN-AREACODE-START + +RAN-AreaCode ::= INTEGER (0..255) + +-- TAG-RAN-AREACODE-STOP -- TAG-RATEMATCHPATTERN-START -RateMatchPattern ::= SEQUENCE { - rateMatchPatternId RateMatchPatternId, - - patternType CHOICE { - bitmaps SEQUENCE { - resourceBlocks BIT STRING (SIZE (275)), - symbolsInResourceBlock CHOICE { - oneSlot BIT STRING (SIZE (14)), - twoSlots BIT STRING (SIZE (28)) - }, - periodicityAndPattern CHOICE { - n2 BIT STRING (SIZE (2)), - n4 BIT STRING (SIZE (4)), - n5 BIT STRING (SIZE (5)), - n8 BIT STRING (SIZE (8)), - n10 BIT STRING (SIZE (10)), - n20 BIT STRING (SIZE (20)), - n40 BIT STRING (SIZE (40)) - } OPTIONAL, -- Need S - ... - }, - controlResourceSet ControlResourceSetId - }, - subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel - mode ENUMERATED { dynamic, semiStatic }, - ... +RateMatchPattern ::= SEQUENCE { + rateMatchPatternId RateMatchPatternId, + + patternType CHOICE { + bitmaps SEQUENCE { + resourceBlocks BIT STRING (SIZE (275)), + symbolsInResourceBlock CHOICE { + oneSlot BIT STRING (SIZE (14)), + twoSlots BIT STRING (SIZE (28)) + }, + periodicityAndPattern CHOICE { + n2 BIT STRING (SIZE (2)), + n4 BIT STRING (SIZE (4)), + n5 BIT STRING (SIZE (5)), + n8 BIT STRING (SIZE (8)), + n10 BIT STRING (SIZE (10)), + n20 BIT STRING (SIZE (20)), + n40 BIT STRING (SIZE (40)) + } OPTIONAL, -- Need S + ... + }, + controlResourceSet ControlResourceSetId + }, + subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond CellLevel + dummy ENUMERATED { dynamic, semiStatic }, + ... } -- TAG-RATEMATCHPATTERN-STOP -- TAG-RATEMATCHPATTERNID-START -RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1) +RateMatchPatternId ::= INTEGER (0..maxNrofRateMatchPatterns-1) -- TAG-RATEMATCHPATTERNID-STOP -- TAG-RATEMATCHPATTERNLTE-CRS-START -RateMatchPatternLTE-CRS ::= SEQUENCE { - carrierFreqDL INTEGER (0..16383), - carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1}, - mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M - nrofCRS-Ports ENUMERATED {n1, n2, n4}, - v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5} +RateMatchPatternLTE-CRS ::= SEQUENCE { + carrierFreqDL INTEGER (0..16383), + carrierBandwidthDL ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1}, + mbsfn-SubframeConfigList EUTRA-MBSFN-SubframeConfigList OPTIONAL, -- Need M + nrofCRS-Ports ENUMERATED {n1, n2, n4}, + v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5} } -- TAG-RATEMATCHPATTERNLTE-CRS-STOP -- TAG-REPORT-CONFIG-ID-START -ReportConfigId ::= INTEGER (1..maxReportConfigId) +ReportConfigId ::= INTEGER (1..maxReportConfigId) -- TAG-REPORT-CONFIG-ID-STOP +-- TAG-REPORT-CONFIG-INTER-RAT-START + +ReportConfigInterRAT ::= SEQUENCE { + reportType CHOICE { + periodical PeriodicalReportConfigInterRAT, + eventTriggered EventTriggerConfigInterRAT, + reportCGI ReportCGI-EUTRA, + ... + } +} + +ReportCGI-EUTRA ::= SEQUENCE { + cellForWhichToReportCGI EUTRA-PhysCellId, + ... +} + +EventTriggerConfigInterRAT ::= SEQUENCE { + eventId CHOICE { + eventB1 SEQUENCE { + b1-ThresholdEUTRA MeasTriggerQuantityEUTRA, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + ... + }, + eventB2 SEQUENCE { + b2-Threshold1 MeasTriggerQuantity, + b2-Threshold2EUTRA MeasTriggerQuantityEUTRA, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + ... + }, + ... + }, + rsType NR-RS-Type, + + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + reportQuantity MeasReportQuantity, + maxReportCells INTEGER (1..maxCellReport), + ... + +} + +PeriodicalReportConfigInterRAT ::= SEQUENCE { + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + reportQuantity MeasReportQuantity, + maxReportCells INTEGER (1..maxCellReport), + ... +} + +MeasTriggerQuantityEUTRA::= CHOICE { + rsrp RSRP-RangeEUTRA, + rsrq RSRQ-RangeEUTRA, + sinr SINR-RangeEUTRA +} + +RSRP-RangeEUTRA ::= INTEGER (0..97) +RSRQ-RangeEUTRA ::= INTEGER (0..34) +SINR-RangeEUTRA ::= INTEGER (0..127) + +-- TAG-REPORT-CONFIG-INTER-RAT-STOP -- TAG-REPORT-CONFIG-START -ReportConfigNR ::= SEQUENCE { - reportType CHOICE { - periodical PeriodicalReportConfig, - eventTriggered EventTriggerConfig, --- reportCGI is to be completed before the end of Rel-15. - ... - } -} - --- FFS / TODO: Consider separating trgger configuration (trigger, periodic, ...) from report configuration. --- Current structure allows easier definiton of new events and new report types e.g. CGI, etc. -EventTriggerConfig ::= SEQUENCE { - eventId CHOICE { - eventA1 SEQUENCE { - a1-Threshold MeasTriggerQuantity, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger - }, - eventA2 SEQUENCE { - a2-Threshold MeasTriggerQuantity, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger - }, - eventA3 SEQUENCE { - a3-Offset MeasTriggerQuantityOffset, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger, - useWhiteCellList BOOLEAN - }, - eventA4 SEQUENCE { - a4-Threshold MeasTriggerQuantity, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger, - useWhiteCellList BOOLEAN - }, - eventA5 SEQUENCE { - a5-Threshold1 MeasTriggerQuantity, - a5-Threshold2 MeasTriggerQuantity, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger, - useWhiteCellList BOOLEAN - }, - eventA6 SEQUENCE { - a6-Offset MeasTriggerQuantityOffset, - reportOnLeave BOOLEAN, - hysteresis Hysteresis, - timeToTrigger TimeToTrigger, - useWhiteCellList BOOLEAN - }, - ... - }, - - rsType NR-RS-Type, - - reportInterval ReportInterval, - reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, - - reportQuantityCell MeasReportQuantity, - maxReportCells INTEGER (1..maxCellReport), - - reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R - maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R - includeBeamMeasurements BOOLEAN, - reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R - ... - -} - -PeriodicalReportConfig ::= SEQUENCE { - rsType NR-RS-Type, - - reportInterval ReportInterval, - reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, - - reportQuantityCell MeasReportQuantity, - maxReportCells INTEGER (1..maxCellReport), - - reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R - maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R - includeBeamMeasurements BOOLEAN, - useWhiteCellList BOOLEAN, - ... - -} - -NR-RS-Type ::= ENUMERATED {ssb, csi-rs} - -MeasTriggerQuantity ::= CHOICE { - rsrp RSRP-Range, - rsrq RSRQ-Range, - sinr SINR-Range -} - -MeasTriggerQuantityOffset ::= CHOICE { - rsrp INTEGER (-30..30), - rsrq INTEGER (-30..30), - sinr INTEGER (-30..30) -} - - -MeasReportQuantity ::= SEQUENCE { - rsrp BOOLEAN, - rsrq BOOLEAN, - sinr BOOLEAN +ReportConfigNR ::= SEQUENCE { + reportType CHOICE { + periodical PeriodicalReportConfig, + eventTriggered EventTriggerConfig, + ..., + reportCGI ReportCGI + } +} + +ReportCGI ::= SEQUENCE { + cellForWhichToReportCGI PhysCellId, + ... +} + +EventTriggerConfig::= SEQUENCE { + eventId CHOICE { + eventA1 SEQUENCE { + a1-Threshold MeasTriggerQuantity, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + eventA2 SEQUENCE { + a2-Threshold MeasTriggerQuantity, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + eventA3 SEQUENCE { + a3-Offset MeasTriggerQuantityOffset, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + useWhiteCellList BOOLEAN + }, + eventA4 SEQUENCE { + a4-Threshold MeasTriggerQuantity, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + useWhiteCellList BOOLEAN + }, + eventA5 SEQUENCE { + a5-Threshold1 MeasTriggerQuantity, + a5-Threshold2 MeasTriggerQuantity, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + useWhiteCellList BOOLEAN + }, + eventA6 SEQUENCE { + a6-Offset MeasTriggerQuantityOffset, + reportOnLeave BOOLEAN, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger, + useWhiteCellList BOOLEAN + }, + ... + }, + + rsType NR-RS-Type, + + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + + reportQuantityCell MeasReportQuantity, + maxReportCells INTEGER (1..maxCellReport), + + reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R + maxNrofRSIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R + includeBeamMeasurements BOOLEAN, + reportAddNeighMeas ENUMERATED {setup} OPTIONAL, -- Need R + ... +} + +PeriodicalReportConfig ::= SEQUENCE { + rsType NR-RS-Type, + + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + + reportQuantityCell MeasReportQuantity, + maxReportCells INTEGER (1..maxCellReport), + + reportQuantityRsIndexes MeasReportQuantity OPTIONAL, -- Need R + maxNrofRsIndexesToReport INTEGER (1..maxNrofIndexesToReport) OPTIONAL, -- Need R + includeBeamMeasurements BOOLEAN, + useWhiteCellList BOOLEAN, + ... +} + +NR-RS-Type ::= ENUMERATED {ssb, csi-rs} + +MeasTriggerQuantity ::= CHOICE { + rsrp RSRP-Range, + rsrq RSRQ-Range, + sinr SINR-Range +} + +MeasTriggerQuantityOffset ::= CHOICE { + rsrp INTEGER (-30..30), + rsrq INTEGER (-30..30), + sinr INTEGER (-30..30) +} + + +MeasReportQuantity ::= SEQUENCE { + rsrp BOOLEAN, + rsrq BOOLEAN, + sinr BOOLEAN } -- TAG-REPORT-CONFIG-START -- TAG-REPORT-CONFIG-TO-ADD-MOD-LIST-START -ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod +ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod -ReportConfigToAddMod ::= SEQUENCE { - reportConfigId ReportConfigId, - reportConfig CHOICE { - reportConfigNR ReportConfigNR, - ... - } +ReportConfigToAddMod ::= SEQUENCE { + reportConfigId ReportConfigId, + reportConfig CHOICE { + reportConfigNR ReportConfigNR, + ..., + reportConfigInterRAT ReportConfigInterRAT + } } -- TAG- REPORT-CONFIG-TO-ADD-MOD-LIST-STOP -ReportInterval ::= ENUMERATED { ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, - min1, min6, min12, min30 } +ReportInterval ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960, + min1,min6, min12, min30 } + +-- TAG-RESELECTION-THRESHOLD-START + +ReselectionThreshold ::= INTEGER (0..31) + +-- TAG-RESELECTION-THRESHOLD-STOP +-- TAG-RESELECTION-THRESHOLDQ-START + +ReselectionThresholdQ ::= INTEGER (0..31) + +-- TAG-RESELECTION-THRESHOLDQ-STOP +-- TAG-RESUME-CAUSE-START +ResumeCause ::= ENUMERATED {emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, rna-Update, mps-PriorityAccess, mcs-PriorityAccess, spare1, spare2, spare3, spare4, spare5 } + +-- TAG-RESUME-CAUSE-STOP -- TAG-RLC-BEARERCONFIG-START -RLC-BearerConfig ::= SEQUENCE { - logicalChannelIdentity LogicalChannelIdentity, - servedRadioBearer CHOICE { - srb-Identity SRB-Identity, - drb-Identity DRB-Identity - } OPTIONAL, -- Cond LCH-SetupOnly +RLC-BearerConfig ::= SEQUENCE { + logicalChannelIdentity LogicalChannelIdentity, + servedRadioBearer CHOICE { + srb-Identity SRB-Identity, + drb-Identity DRB-Identity + } OPTIONAL, -- Cond LCH-SetupOnly - reestablishRLC ENUMERATED {true} OPTIONAL, -- Need R - rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup + reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N + rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup - mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup - ... + mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond LCH-Setup + ... } -- TAG-RLC-BEARERCONFIG-STOP -- TAG-RLC-CONFIG-START -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 - }, - ... -} - -UL-AM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab - t-PollRetransmit T-PollRetransmit, - pollPDU PollPDU, - pollByte PollByte, - maxRetxThreshold ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 } -} - -DL-AM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab - t-Reassembly T-Reassembly, - t-StatusProhibit T-StatusProhibit -} - -UL-UM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab -} - -DL-UM-RLC ::= SEQUENCE { - sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab - t-Reassembly T-Reassembly -} - -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, ms800, ms1000, - ms2000, ms4000, spare5, spare4, spare3, - spare2, spare1} - - -PollPDU ::= ENUMERATED { - p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384, p20480, - p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4, - spare3, spare2, spare1} - -PollByte ::= ENUMERATED { - kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75, - kB100, kB125, kB250, kB375, kB500, kB750, kB1000, - kB1250, kB1500, kB2000, kB3000, kB4000, kB4500, - kB5000, kB5500, kB6000, kB6500, kB7000, kB7500, - mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15, - mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity, - spare20, spare19, spare18, spare17, spare16, - spare15, spare14, spare13, spare12, spare11, - spare10, spare9, spare8, spare7, spare6, spare5, - spare4, spare3, spare2, spare1} - -T-Reassembly ::= 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, ms800, ms1000, - ms1200, ms1600, ms2000, ms2400, spare2, spare1} - -SN-FieldLengthUM ::= ENUMERATED {size6, size12} -SN-FieldLengthAM ::= ENUMERATED {size12, size18} +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 + }, + ... +} + +UL-AM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab + t-PollRetransmit T-PollRetransmit, + pollPDU PollPDU, + pollByte PollByte, + maxRetxThreshold ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 } +} + +DL-AM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLengthAM OPTIONAL, -- Cond Reestab + t-Reassembly T-Reassembly, + t-StatusProhibit T-StatusProhibit +} + +UL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLengthUM OPTIONAL -- Cond Reestab +} + +DL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLengthUM OPTIONAL, -- Cond Reestab + t-Reassembly T-Reassembly +} + +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, ms800, ms1000, + ms2000, ms4000, spare5, spare4, spare3, + spare2, spare1} + + +PollPDU ::= ENUMERATED { + p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384, p20480, + p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4, + spare3, spare2, spare1} + +PollByte ::= ENUMERATED { + kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75, + kB100, kB125, kB250, kB375, kB500, kB750, kB1000, + kB1250, kB1500, kB2000, kB3000, kB4000, kB4500, + kB5000, kB5500, kB6000, kB6500, kB7000, kB7500, + mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15, + mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity, + spare20, spare19, spare18, spare17, spare16, + spare15, spare14, spare13, spare12, spare11, + spare10, spare9, spare8, spare7, spare6, spare5, + spare4, spare3, spare2, spare1} + +T-Reassembly ::= 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, ms800, ms1000, + ms1200, ms1600, ms2000, ms2400, spare2, spare1} + +SN-FieldLengthUM ::= ENUMERATED {size6, size12} +SN-FieldLengthAM ::= ENUMERATED {size12, size18} -- TAG-RLC-CONFIG-STOP -- TAG-RLF-TIMERS-AND-CONSTANTS-START -RLF-TimersAndConstants ::= SEQUENCE { - t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000}, - n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20}, - n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}, - ... +RLF-TimersAndConstants ::= SEQUENCE { + t310 ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000}, + n310 ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20}, + n311 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}, + ..., + [[ + t311-v1530 ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000} + ]] } -- TAG-RLF-TIMERS-AND-CONSTANTS-STOP -- TAG-RNTI-VALUE-START -RNTI-Value ::= INTEGER (0..65535) +RNTI-Value ::= INTEGER (0..65535) -- TAG-RNTI-VALUE-STOP -- TAG-RSRP-RANGE-START -RSRP-Range ::= INTEGER(0..127) +RSRP-Range ::= INTEGER(0..127) -- TAG-RSRP-RANGE-STOP -- TAG-RSRQ-RANGE-START -RSRQ-Range ::= INTEGER(0..127) +RSRQ-Range ::= INTEGER(0..127) -- TAG-RSRQ-RANGE-STOP -- TAG-SCELL-INDEX-START -SCellIndex ::= INTEGER (1..31) +SCellIndex ::= INTEGER (1..31) -- TAG-SCELL-INDEX-STOP -- TAG-SCHEDULING-REQUEST-CONFIG-START -SchedulingRequestConfig ::= SEQUENCE { - schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N - schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL -- Need N +SchedulingRequestConfig ::= SEQUENCE { + schedulingRequestToAddModList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod OPTIONAL, -- Need N + schedulingRequestToReleaseList SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId OPTIONAL-- Need N } -SchedulingRequestToAddMod ::= SEQUENCE { - schedulingRequestId SchedulingRequestId, +SchedulingRequestToAddMod ::= SEQUENCE { + schedulingRequestId SchedulingRequestId, - sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S - sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1} + sr-ProhibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128} OPTIONAL, -- Need S + sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1} } @@ -2562,897 +3989,1123 @@ SchedulingRequestToAddMod ::= SEQUENCE { -- TAG-SCHEDULING-REQUEST-CONFIG-STOP -- TAG-SCHEDULINGREQUESTID-START -SchedulingRequestId ::= INTEGER (0..7) +SchedulingRequestId ::= INTEGER (0..7) -- TAG-SCHEDULINGREQUESTID-STOP -- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-START -SchedulingRequestResourceConfig ::= SEQUENCE { - schedulingRequestResourceId SchedulingRequestResourceId, - schedulingRequestID SchedulingRequestId, - periodicityAndOffset CHOICE { - sym2 NULL, - sym6or7 NULL, - sl1 NULL, -- Recurs in every slot - sl2 INTEGER (0..1), - sl4 INTEGER (0..3), - sl5 INTEGER (0..4), - sl8 INTEGER (0..7), - sl10 INTEGER (0..9), - sl16 INTEGER (0..15), - sl20 INTEGER (0..19), - sl40 INTEGER (0..39), - sl80 INTEGER (0..79), - sl160 INTEGER (0..159), - sl320 INTEGER (0..319), - sl640 INTEGER (0..639) - } OPTIONAL, -- Need M - resource PUCCH-ResourceId OPTIONAL -- Need M +SchedulingRequestResourceConfig ::= SEQUENCE { + schedulingRequestResourceId SchedulingRequestResourceId, + schedulingRequestID SchedulingRequestId, + periodicityAndOffset CHOICE { + sym2 NULL, + sym6or7 NULL, + sl1 NULL, -- Recurs in every slot + sl2 INTEGER (0..1), + sl4 INTEGER (0..3), + sl5 INTEGER (0..4), + sl8 INTEGER (0..7), + sl10 INTEGER (0..9), + sl16 INTEGER (0..15), + sl20 INTEGER (0..19), + sl40 INTEGER (0..39), + sl80 INTEGER (0..79), + sl160 INTEGER (0..159), + sl320 INTEGER (0..319), + sl640 INTEGER (0..639) + } OPTIONAL, -- Need M + resource PUCCH-ResourceId OPTIONAL -- Need M } -- TAG-SCHEDULING-REQUEST-RESOURCE-CONFIG-STOP -- TAG-SCHEDULINGREQUESTRESOURCEID-START -SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources) +SchedulingRequestResourceId ::= INTEGER (1..maxNrofSR-Resources) -- TAG-SCHEDULINGREQUESTRESOURCEID-STOP -- TAG-SCRAMBLING-ID-START -ScramblingId ::= INTEGER (0..1023) +ScramblingId ::= INTEGER(0..1023) -- TAG-SCRAMBLING-ID-STOP -- TAG-SCS-SPECIFIC-CARRIER-START -SCS-SpecificCarrier ::= SEQUENCE { - offsetToCarrier INTEGER (0..2199), - subcarrierSpacing SubcarrierSpacing, - carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks), - ... +SCS-SpecificCarrier ::= SEQUENCE { + offsetToCarrier INTEGER (0..2199), + subcarrierSpacing SubcarrierSpacing, + carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks), + ..., + [[ + txDirectCurrentLocation-v1530 INTEGER (0..4095) OPTIONAL -- Need S + ]] } -- TAG-SCS-SPECIFIC-CARRIER-STOP -- TAG-SDAP-CONFIG-START -SDAP-Config ::= SEQUENCE { - pdu-Session PDU-SessionID, - sdap-HeaderDL ENUMERATED {present, absent}, - sdap-HeaderUL ENUMERATED {present, absent}, - defaultDRB BOOLEAN, - mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N - mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N - ... +SDAP-Config ::= SEQUENCE { + pdu-Session PDU-SessionID, + sdap-HeaderDL ENUMERATED {present, absent}, + sdap-HeaderUL ENUMERATED {present, absent}, + defaultDRB BOOLEAN, + mappedQoS-FlowsToAdd SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N + mappedQoS-FlowsToRelease SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N + ... } -QFI ::= INTEGER (0..maxQFI) +QFI ::= INTEGER (0..maxQFI) -PDU-SessionID ::= INTEGER (0..255) +PDU-SessionID ::= INTEGER (0..255) -- TAG-SDAP-CONFIG-STOP -- TAG-SEARCHSPACE-START -SearchSpace ::= SEQUENCE { - searchSpaceId SearchSpaceId, - controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly - monitoringSlotPeriodicityAndOffset CHOICE { - sl1 NULL, - sl2 INTEGER (0..1), - sl4 INTEGER (0..3), - sl5 INTEGER (0..4), - sl8 INTEGER (0..7), - sl10 INTEGER (0..9), - sl16 INTEGER (0..15), - sl20 INTEGER (0..19), - sl40 INTEGER (0..39), - sl80 INTEGER (0..79), - sl160 INTEGER (0..159), - sl320 INTEGER (0..319), - sl640 INTEGER (0..639), - sl1280 INTEGER (0..1279), - sl2560 INTEGER (0..2559) - } OPTIONAL, -- Cond Setup - duration INTEGER (2..2559) OPTIONAL, -- Need R - monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL, -- Cond Setup - nrofCandidates SEQUENCE { - aggregationLevel1 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, - aggregationLevel2 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, - aggregationLevel4 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, - aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, - aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8} - } OPTIONAL, -- Cond Setup - searchSpaceType CHOICE { - common SEQUENCE { - dci-Format0-0-AndFormat1-0 SEQUENCE { - ... - } OPTIONAL, -- Need R - dci-Format2-0 SEQUENCE { - nrofCandidates-SFI SEQUENCE { - aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R - aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R - }, - ... - } OPTIONAL, -- Need R - dci-Format2-1 SEQUENCE { - ... - } OPTIONAL, -- Need R - dci-Format2-2 SEQUENCE { - ... - } OPTIONAL, -- Need R - dci-Format2-3 SEQUENCE { - monitoringPeriodicity ENUMERATED {n1, n2, n4, n5, n8, n10, n16, n20 } OPTIONAL, -- Cond Setup - nrofPDCCH-Candidates ENUMERATED {n1, n2}, - ... - } OPTIONAL -- Need R - }, - ue-Specific SEQUENCE { - dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1}, - ... - } - } OPTIONAL -- Cond Setup +SearchSpace ::= SEQUENCE { + searchSpaceId SearchSpaceId, + controlResourceSetId ControlResourceSetId OPTIONAL, -- Cond SetupOnly + monitoringSlotPeriodicityAndOffset CHOICE { + sl1 NULL, + sl2 INTEGER (0..1), + sl4 INTEGER (0..3), + sl5 INTEGER (0..4), + sl8 INTEGER (0..7), + sl10 INTEGER (0..9), + sl16 INTEGER (0..15), + sl20 INTEGER (0..19), + sl40 INTEGER (0..39), + sl80 INTEGER (0..79), + sl160 INTEGER (0..159), + sl320 INTEGER (0..319), + sl640 INTEGER (0..639), + sl1280 INTEGER (0..1279), + sl2560 INTEGER (0..2559) + } OPTIONAL, -- Cond Setup + duration INTEGER (2..2559) OPTIONAL, -- Need R + monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL, -- Cond Setup + nrofCandidates SEQUENCE { + aggregationLevel1 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, + aggregationLevel2 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, + aggregationLevel4 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, + aggregationLevel8 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}, + aggregationLevel16 ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8} + } OPTIONAL, -- Cond Setup + searchSpaceType CHOICE { + common SEQUENCE { + dci-Format0-0-AndFormat1-0 SEQUENCE { + ... + } OPTIONAL, -- Need R + dci-Format2-0 SEQUENCE { + nrofCandidates-SFI SEQUENCE { + aggregationLevel1 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel2 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel4 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel8 ENUMERATED {n1, n2} OPTIONAL, -- Need R + aggregationLevel16 ENUMERATED {n1, n2} OPTIONAL -- Need R + }, + ... + } OPTIONAL, -- Need R + dci-Format2-1 SEQUENCE { + ... + } OPTIONAL, -- Need R + dci-Format2-2 SEQUENCE { + ... + } OPTIONAL, -- Need R + dci-Format2-3 SEQUENCE { + dummy1 ENUMERATED {sl1, sl2, sl4, sl5, sl8, sl10, sl16, sl20} OPTIONAL, -- Cond Setup + dummy2 ENUMERATED {n1, n2}, + ... + } OPTIONAL -- Need R + }, + ue-Specific SEQUENCE { + dci-Formats ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1}, + ... + } + } OPTIONAL -- Cond Setup } -- TAG-SEARCHSPACE-STOP -- TAG-SEARCHSPACEID-START -SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1) +SearchSpaceId ::= INTEGER (0..maxNrofSearchSpaces-1) -- TAG-SEARCHSPACEID-STOP +-- TAG-SEARCHSPACEZERO-START + +SearchSpaceZero ::= INTEGER (0..15) + +-- TAG-SEARCHSPACEZERO-STOP -- TAG-SECURITY-ALGORITHM-CONFIG-START -SecurityAlgorithmConfig ::= SEQUENCE { - cipheringAlgorithm CipheringAlgorithm, - integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R - ... +SecurityAlgorithmConfig ::= SEQUENCE { + cipheringAlgorithm CipheringAlgorithm, + integrityProtAlgorithm IntegrityProtAlgorithm OPTIONAL, -- Need R + ... } -IntegrityProtAlgorithm ::= ENUMERATED { - nia0, nia1, nia2, nia3, spare4, spare3, - spare2, spare1, ...} +IntegrityProtAlgorithm ::= ENUMERATED { + nia0, nia1, nia2, nia3, spare4, spare3, + spare2, spare1, ...} -CipheringAlgorithm ::= ENUMERATED { - nea0, nea1, nea2, nea3, spare4, spare3, - spare2, spare1, ...} +CipheringAlgorithm ::= ENUMERATED { + nea0, nea1, nea2, nea3, spare4, spare3, + spare2, spare1, ...} -- TAG-SECURITY-ALGORITHM-CONFIG-STOP -- TAG-SERV-CELL-INDEX-START -ServCellIndex ::= INTEGER (0..maxNrofServingCells-1) +ServCellIndex ::= INTEGER (0..maxNrofServingCells-1) -- TAG-SERV-CELL-INDEX-STOP -- TAG-SERVING-CELL-CONFIG-START -ServingCellConfig ::= SEQUENCE { - tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD - - initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Cond ServCellAdd - downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N - downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N - firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd - bwp-InactivityTimer ENUMERATED { ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, - ms40,ms50, ms60, ms80, ms100, ms200, ms300, ms500, - ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8, - spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, -- Need R - defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need S - - uplinkConfig UplinkConfig OPTIONAL, -- Cond ServCellAdd-UL - supplementaryUplink UplinkConfig OPTIONAL, -- Cond ServCellAdd-SUL - - pdcch-ServingCellConfig CHOICE { release NULL, setup PDCCH-ServingCellConfig } OPTIONAL, -- Need M - pdsch-ServingCellConfig CHOICE { release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M - csi-MeasConfig CHOICE { release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M - sCellDeactivationTimer ENUMERATED { ms20, ms40, ms80, ms160, ms200, ms240, - ms320, ms400, ms480, ms520, ms640, ms720, - ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH - crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M - tag-Id TAG-Id, - ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R - pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL, -- Cond SCellOnly - servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject - ... -} - -UplinkConfig ::= SEQUENCE { - initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Cond ServCellAdd - uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N - uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N - firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd - - pusch-ServingCellConfig CHOICE { release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M - carrierSwitching CHOICE { release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M - ... +ServingCellConfig ::= SEQUENCE { + tdd-UL-DL-ConfigurationDedicated TDD-UL-DL-ConfigDedicated OPTIONAL, -- Cond TDD + + initialDownlinkBWP BWP-DownlinkDedicated OPTIONAL, -- Need M + downlinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N + downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink OPTIONAL, -- Need N + firstActiveDownlinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd + bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, + ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500, + ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8, + spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL, --Need R + defaultDownlinkBWP-Id BWP-Id OPTIONAL, -- Need S + + uplinkConfig UplinkConfig OPTIONAL, -- Need M + supplementaryUplink UplinkConfig OPTIONAL, -- Need M + + pdcch-ServingCellConfig CHOICE { release NULL, setup PDCCH-ServingCellConfig } OPTIONAL, -- Need M + pdsch-ServingCellConfig CHOICE { release NULL, setup PDSCH-ServingCellConfig } OPTIONAL, -- Need M + csi-MeasConfig CHOICE { release NULL, setup CSI-MeasConfig } OPTIONAL, -- Need M + sCellDeactivationTimer ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240, + ms320, ms400, ms480, ms520, ms640, ms720, + ms840, ms1280, spare2,spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH + crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Need M + tag-Id TAG-Id, + ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL, -- Need R + pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL, -- Cond SCellOnly + servingCellMO MeasObjectId OPTIONAL, -- Cond MeasObject + ... +} + +UplinkConfig ::= SEQUENCE { + initialUplinkBWP BWP-UplinkDedicated OPTIONAL, -- Need M + uplinkBWP-ToReleaseList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id OPTIONAL, -- Need N + uplinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink OPTIONAL, -- Need N + firstActiveUplinkBWP-Id BWP-Id OPTIONAL, -- Cond SyncAndCellAdd + + pusch-ServingCellConfig CHOICE { release NULL, setup PUSCH-ServingCellConfig } OPTIONAL, -- Need M + carrierSwitching CHOICE { release NULL, setup SRS-CarrierSwitching } OPTIONAL, -- Need M + ... } -- TAG-SERVING-CELL-CONFIG-STOP -- TAG-SERVING-CELL-CONFIG-COMMON-START -ServingCellConfigCommon ::= SEQUENCE { - physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd, - downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond InterFreqHOAndServCellAdd - - uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-UL - supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Cond ServCellAdd-SUL - n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL,-- Need S - ssb-PositionsInBurst CHOICE { - shortBitmap BIT STRING (SIZE (4)), - mediumBitmap BIT STRING (SIZE (8)), - longBitmap BIT STRING (SIZE (64)) - } OPTIONAL, -- Cond AbsFreqSSB - ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S - dmrs-TypeA-Position ENUMERATED {pos2, pos3}, - lte-CRS-ToMatchAround CHOICE { release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M - rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N - rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N - subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Need S - tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD - ss-PBCH-BlockPower INTEGER (-60..50), - ... +ServingCellConfigCommon ::= SEQUENCE { + physCellId PhysCellId OPTIONAL, -- Cond HOAndServCellAdd, + downlinkConfigCommon DownlinkConfigCommon OPTIONAL, -- Cond HOAndServCellAdd + + uplinkConfigCommon UplinkConfigCommon OPTIONAL, -- Need M + supplementaryUplinkConfig UplinkConfigCommon OPTIONAL, -- Need S + n-TimingAdvanceOffset ENUMERATED { n0, n25600, n39936 } OPTIONAL, -- Need S + ssb-PositionsInBurst CHOICE { + shortBitmap BIT STRING (SIZE (4)), + mediumBitmap BIT STRING (SIZE (8)), + longBitmap BIT STRING (SIZE (64)) + } OPTIONAL, -- Cond AbsFreqSSB + ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 } OPTIONAL, -- Need S + dmrs-TypeA-Position ENUMERATED {pos2, pos3}, + lte-CRS-ToMatchAround CHOICE { release NULL, setup RateMatchPatternLTE-CRS } OPTIONAL, -- Need M + rateMatchPatternToAddModList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern OPTIONAL, -- Need N + rateMatchPatternToReleaseList SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N + subcarrierSpacing SubcarrierSpacing OPTIONAL, -- Cond HOAndServCellAdd + tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD + ss-PBCH-BlockPower INTEGER (-60..50), + ... } -- TAG-SERVING-CELL-CONFIG-COMMON-STOP +-- TAG-SERVINGCELLCONFIGCOMMONSIB-START + +ServingCellConfigCommonSIB ::= SEQUENCE { + downlinkConfigCommon DownlinkConfigCommonSIB, + uplinkConfigCommon UplinkConfigCommonSIB OPTIONAL, -- Need R + supplementaryUplink UplinkConfigCommonSIB OPTIONAL, -- Need R + n-TimingAdvanceOffset ENUMERATED { n0, n25560, n39936 } OPTIONAL, -- Need S + ssb-PositionsInBurst SEQUENCE { + inOneGroup BIT STRING (SIZE (8)), + groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond Above6GHzOnly + }, + ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160}, + + tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL, -- Cond TDD + ss-PBCH-BlockPower INTEGER (-60..50), + ... +} + +-- TAG-SERVINGCELLCONFIGCOMMONSIB-STOP +-- TAG-ShortI-RNTI-VALUE-START + +ShortI-RNTI-Value ::= BIT STRING (SIZE(24)) + +-- TAG-ShortI-RNTI-VALUE-STOP +-- TAG-SHORTMAC-I-START + +ShortMAC-I ::= BIT STRING (SIZE (16)) + +-- TAG-SHORTMAC-I-STOP -- TAG-SINR-RANGE-START -SINR-Range ::= INTEGER (0..127) +SINR-Range ::= INTEGER(0..127) -- TAG-SINR-RANGE-STOP +-- TAG-OTHER-SI-INFO-START + +SI-SchedulingInfo ::= SEQUENCE { + schedulingInfoList SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo, + si-WindowLength ENUMERATED {s5, s10, s20, s40, s80, s160, s320, s640, s1280}, + si-RequestConfig SI-RequestConfig OPTIONAL, -- Cond MSG-1 + si-RequestConfigSUL SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1 + systemInformationAreaID BIT STRING (SIZE (24)) OPTIONAL, -- Need R + ... +} + +SchedulingInfo ::= SEQUENCE { + si-BroadcastStatus ENUMERATED {broadcasting, notBroadcasting}, + si-Periodicity ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512}, + sib-MappingInfo SIB-Mapping +} + +SIB-Mapping ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo + +SIB-TypeInfo ::= SEQUENCE { + type ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType6, sibType7, sibType8, sibType9, + spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1,... }, + valueTag INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE + areaScope ENUMERATED {true} OPTIONAL -- Cond AREA-ID +} + +-- Configuration for Msg1 based SI Request +SI-RequestConfig::= SEQUENCE { + rach-OccasionsSI SEQUENCE { + rach-ConfigSI RACH-ConfigGeneric, + ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen} + } OPTIONAL, -- Need R + si-RequestPeriod ENUMERATED {one, two, four, six, eight, ten, twelve, sixteen} OPTIONAL, -- Need R + si-RequestResources SEQUENCE (SIZE (1..maxSI-Message)) OF SI-RequestResources +} + +SI-RequestResources ::= SEQUENCE { + ra-PreambleStartIndex INTEGER (0..63), + ra-AssociationPeriodIndex INTEGER (0..15) OPTIONAL, -- Need R + ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL -- Need R +} + +-- TAG-OTHER-SI-INFO-STOP -- TAG-SLOTFORMATCOMBINATIONSPERCELL-START -SlotFormatCombinationsPerCell ::= SEQUENCE { - servingCellId ServCellIndex, - subcarrierSpacing SubcarrierSpacing, - subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R - slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, - positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, - ... +SlotFormatCombinationsPerCell ::= SEQUENCE { + servingCellId ServCellIndex, + subcarrierSpacing SubcarrierSpacing, + subcarrierSpacing2 SubcarrierSpacing OPTIONAL, -- Need R + slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination OPTIONAL, -- Need M + positionInDCI INTEGER(0..maxSFI-DCI-PayloadSize-1) OPTIONAL, -- Need M + ... } -SlotFormatCombination ::= SEQUENCE { - slotFormatCombinationId SlotFormatCombinationId, - slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255) +SlotFormatCombination ::= SEQUENCE { + slotFormatCombinationId SlotFormatCombinationId, + slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255) } -SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1) +SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1) -- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP -- TAG-SLOTFORMATINDICATOR-START -SlotFormatIndicator ::= SEQUENCE { - sfi-RNTI RNTI-Value, - dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize), - slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N - slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N - ... +SlotFormatIndicator ::= SEQUENCE { + sfi-RNTI RNTI-Value, + dci-PayloadSize INTEGER (1..maxSFI-DCI-PayloadSize), + slotFormatCombToAddModList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell OPTIONAL, -- Need N + slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex OPTIONAL, -- Need N + ... } -- TAG-SLOTFORMATINDICATOR-STOP +-- TAG-S-NSSAI-START + +S-NSSAI ::= CHOICE{ + sst BIT STRING (SIZE (8)), + sst-SD BIT STRING (SIZE (32)) +} + +-- TAG-S-NSSAI-STOP +-- TAG-SPEEDSTATESCALEFACTORS-START + +SpeedStateScaleFactors ::= SEQUENCE { + sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0}, + sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0} +} +-- TAG-SPEEDSTATESCALEFACTORS-STOP -- TAG-SS-RSSI-MEASUREMENT-START -SS-RSSI-Measurement ::= SEQUENCE { - measurementSlots BIT STRING (SIZE(1..80)), - endSymbol INTEGER(0..3) +SS-RSSI-Measurement ::= SEQUENCE { + measurementSlots BIT STRING (SIZE (1..80)), + endSymbol INTEGER(0..3) } -- TAG-SS-RSSI-MEASUREMENT-STOP -- TAG-SPS-CONFIG-START -SPS-Config ::= SEQUENCE { - periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640, - spare6, spare5, spare4, spare3, spare2, spare1}, - nrofHARQ-Processes INTEGER (1..8), - n1PUCCH-AN PUCCH-ResourceId OPTIONAL -- Need M +SPS-Config ::= SEQUENCE { + periodicity ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640, + spare6, spare5, spare4, spare3, spare2, spare1}, + nrofHARQ-Processes INTEGER (1..8), + n1PUCCH-AN PUCCH-ResourceId OPTIONAL, -- Need M + mcs-Table ENUMERATED {qam64LowSE} OPTIONAL, -- Need S + ... } -- TAG-SPS-CONFIG-STOP -- TAG-SRB-IDENTITY-START -SRB-Identity ::= INTEGER (1..3) +SRB-Identity ::= INTEGER (1..3) -- TAG-SRB-IDENTITY-STOP +-- TAG-SRS-CARRIERSWITCHING-START + +SRS-CarrierSwitching ::= SEQUENCE { + srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Need M + srs-SwitchFromCarrier ENUMERATED {sUL, nUL}, + srs-TPC-PDCCH-Group CHOICE { + typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config, + typeB SRS-TPC-PDCCH-Config + } OPTIONAL, -- Need M + monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Need M + ... +} + +-- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3) +SRS-TPC-PDCCH-Config ::= SEQUENCE { + srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Need M +} + +SRS-CC-SetIndex ::= SEQUENCE { + cc-SetIndex INTEGER (0..3) OPTIONAL, -- Need M + cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Need M +} + +-- TAG-SRS-CARRIERSWITCHING-STOP -- TAG-SRS-CONFIG-START -SRS-Config ::= SEQUENCE { - srs-ResourceSetToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N - srs-ResourceSetToAddModList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N - - srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need N - srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need N - - tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S - ... -} - -SRS-ResourceSet ::= SEQUENCE { - srs-ResourceSetId SRS-ResourceSetId, - srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup - - resourceType CHOICE { - aperiodic SEQUENCE { - aperiodicSRS-ResourceTrigger INTEGER (1..maxNrofSRS-TriggerStates-1), - csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook - slotOffset INTEGER (1..32) OPTIONAL, -- Need S - ... - }, - semi-persistent SEQUENCE { - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook - ... - }, - periodic SEQUENCE { - associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook - ... - } - }, - usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching}, - alpha Alpha OPTIONAL, -- Need S - p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup - pathlossReferenceRS CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId - } OPTIONAL, -- Need M - srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S - ... -} - -SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1) - -SRS-Resource ::= SEQUENCE { - srs-ResourceId SRS-ResourceId, - nrofSRS-Ports ENUMERATED {port1, ports2, ports4}, - ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R - transmissionComb CHOICE { - n2 SEQUENCE { - combOffset-n2 INTEGER (0..1), - cyclicShift-n2 INTEGER (0..7) - }, - n4 SEQUENCE { - combOffset-n4 INTEGER (0..3), - cyclicShift-n4 INTEGER (0..11) - } - }, - resourceMapping SEQUENCE { - startPosition INTEGER (0..5), - nrofSymbols ENUMERATED {n1, n2, n4}, - repetitionFactor ENUMERATED {n1, n2, n4} - }, - freqDomainPosition INTEGER (0..67), - freqDomainShift INTEGER (0..268), - freqHopping SEQUENCE { - c-SRS INTEGER (0..63), - b-SRS INTEGER (0..3), - b-hop INTEGER (0..3) - }, - groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping }, - resourceType CHOICE { - aperiodic SEQUENCE { - ... - }, - semi-persistent SEQUENCE { - periodicityAndOffset-sp SRS-PeriodicityAndOffset, - ... - }, - periodic SEQUENCE { - periodicityAndOffset-p SRS-PeriodicityAndOffset, - ... - } - }, - sequenceId BIT STRING (SIZE (10)), - spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R - ... -} - -SRS-SpatialRelationInfo ::= SEQUENCE { - servingCellId ServCellIndex OPTIONAL, -- Need S - referenceSignal CHOICE { - ssb-Index SSB-Index, - csi-RS-Index NZP-CSI-RS-ResourceId, - srs SEQUENCE { - resourceId SRS-ResourceId, - uplinkBWP BWP-Id - } - } -} - - -SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1) - -SRS-PeriodicityAndOffset ::= CHOICE { - sl1 NULL, - sl2 INTEGER(0..1), - sl4 INTEGER(0..3), - sl5 INTEGER(0..4), - sl8 INTEGER(0..7), - sl10 INTEGER(0..9), - sl16 INTEGER(0..15), - sl20 INTEGER(0..19), - sl32 INTEGER(0..31), - sl40 INTEGER(0..39), - sl64 INTEGER(0..63), - sl80 INTEGER(0..79), - sl160 INTEGER(0..159), - sl320 INTEGER(0..319), - sl640 INTEGER(0..639), - sl1280 INTEGER(0..1279), - sl2560 INTEGER(0..2559) +SRS-Config ::= SEQUENCE { + srs-ResourceSetToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need N + srs-ResourceSetToAddModList SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need N + + srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need N + srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need N + + tpc-Accumulation ENUMERATED {disabled} OPTIONAL, -- Need S + ... } --- TAG-SRS-CONFIG-STOP --- TAG-SRS-CARRIERSWITCHING-START -SRS-CarrierSwitching ::= SEQUENCE { - srs-SwitchFromServCellIndex INTEGER (0..31) OPTIONAL, -- Cond Setup - srs-SwitchFromCarrier ENUMERATED {sUL, nUL}, - srs-TPC-PDCCH-Group CHOICE { - typeA SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config, - typeB SRS-TPC-PDCCH-Config - } OPTIONAL, -- Cond Setup - monitoringCells SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex OPTIONAL, -- Cond Setup - ... +SRS-ResourceSet ::= SEQUENCE { + srs-ResourceSetId SRS-ResourceSetId, + srs-ResourceIdList SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId OPTIONAL, -- Cond Setup + + resourceType CHOICE { + aperiodic SEQUENCE { + aperiodicSRS-ResourceTrigger INTEGER (1..maxNrofSRS-TriggerStates-1), + csi-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + slotOffset INTEGER (1..32) OPTIONAL, -- Need S + ..., + [[ + aperiodicSRS-ResourceTriggerList-v1530 SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2)) + OF INTEGER (1..maxNrofSRS-TriggerStates-1) OPTIONAL -- Need M + ]] + }, + semi-persistent SEQUENCE { + associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + ... + }, + periodic SEQUENCE { + associatedCSI-RS NZP-CSI-RS-ResourceId OPTIONAL, -- Cond NonCodebook + ... + } + }, + usage ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching}, + alpha Alpha OPTIONAL, -- Need S + p0 INTEGER (-202..24) OPTIONAL, -- Cond Setup + pathlossReferenceRS CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId + } OPTIONAL, -- Need M + srs-PowerControlAdjustmentStates ENUMERATED { sameAsFci2, separateClosedLoop} OPTIONAL, -- Need S + ... } --- One trigger configuration for SRS-Carrier Switching. (see 38.212, 38.213, section 7.3.1, 11.3) -SRS-TPC-PDCCH-Config ::= SEQUENCE { - srs-CC-SetIndexlist SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex OPTIONAL -- Cond Setup +SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1) + +SRS-Resource ::= SEQUENCE { + srs-ResourceId SRS-ResourceId, + nrofSRS-Ports ENUMERATED {port1, ports2, ports4}, + ptrs-PortIndex ENUMERATED {n0, n1 } OPTIONAL, -- Need R + transmissionComb CHOICE { + n2 SEQUENCE { + combOffset-n2 INTEGER (0..1), + cyclicShift-n2 INTEGER (0..7) + }, + n4 SEQUENCE { + combOffset-n4 INTEGER (0..3), + cyclicShift-n4 INTEGER (0..11) + } + }, + resourceMapping SEQUENCE { + startPosition INTEGER (0..5), + nrofSymbols ENUMERATED {n1, n2, n4}, + repetitionFactor ENUMERATED {n1, n2, n4} + }, + freqDomainPosition INTEGER (0..67), + freqDomainShift INTEGER (0..268), + freqHopping SEQUENCE { + c-SRS INTEGER (0..63), + b-SRS INTEGER (0..3), + b-hop INTEGER (0..3) + }, + groupOrSequenceHopping ENUMERATED { neither, groupHopping, sequenceHopping }, + resourceType CHOICE { + aperiodic SEQUENCE { + ... + }, + semi-persistent SEQUENCE { + periodicityAndOffset-sp SRS-PeriodicityAndOffset, + ... + }, + periodic SEQUENCE { + periodicityAndOffset-p SRS-PeriodicityAndOffset, + ... + } + }, + sequenceId INTEGER (0..1023), + spatialRelationInfo SRS-SpatialRelationInfo OPTIONAL, -- Need R + ... } -SRS-CC-SetIndex ::= SEQUENCE { - cc-SetIndex INTEGER (0..3) OPTIONAL, -- Cond Setup - cc-IndexInOneCC-Set INTEGER (0..7) OPTIONAL -- Cond Setup +SRS-SpatialRelationInfo ::= SEQUENCE { + servingCellId ServCellIndex OPTIONAL, -- Need S + referenceSignal CHOICE { + ssb-Index SSB-Index, + csi-RS-Index NZP-CSI-RS-ResourceId, + srs SEQUENCE { + resourceId SRS-ResourceId, + uplinkBWP BWP-Id + } + } +} + + +SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1) + +SRS-PeriodicityAndOffset ::= CHOICE { + sl1 NULL, + sl2 INTEGER(0..1), + sl4 INTEGER(0..3), + sl5 INTEGER(0..4), + sl8 INTEGER(0..7), + sl10 INTEGER(0..9), + sl16 INTEGER(0..15), + sl20 INTEGER(0..19), + sl32 INTEGER(0..31), + sl40 INTEGER(0..39), + sl64 INTEGER(0..63), + sl80 INTEGER(0..79), + sl160 INTEGER(0..159), + sl320 INTEGER(0..319), + sl640 INTEGER(0..639), + sl1280 INTEGER(0..1279), + sl2560 INTEGER(0..2559) } --- TAG-SRS-CARRIERSWITCHING-STOP +-- TAG-SRS-CONFIG-STOP -- TAG-SRS-TPC-COMMANDCONFIG-START -SRS-TPC-CommandConfig ::= SEQUENCE { - startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup - fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup - ... +SRS-TPC-CommandConfig ::= SEQUENCE { + startingBitOfFormat2-3 INTEGER (1..31) OPTIONAL, -- Cond Setup + fieldTypeFormat2-3 INTEGER (0..1) OPTIONAL, -- Cond Setup + ..., + [[ + startingBitOfFormat2-3SUL-v1530 INTEGER (1..31) OPTIONAL -- Cond Setup + ]] } -- TAG-SRS-TPC-COMMANDCONFIG-STOP -- TAG-SSB-INDEX-START -SSB-Index ::= INTEGER (0..63) +SSB-Index ::= INTEGER (0..maxNrofSSBs-1) -- TAG-SSB-INDEX-STOP -- TAG-SSB-MTC-START -SSB-MTC ::= SEQUENCE { - periodicityAndOffset CHOICE { - sf5 INTEGER (0..4), - sf10 INTEGER (0..9), - sf20 INTEGER (0..19), - sf40 INTEGER (0..39), - sf80 INTEGER (0..79), - sf160 INTEGER (0..159) - }, - duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 } +SSB-MTC ::= SEQUENCE { + periodicityAndOffset CHOICE { + sf5 INTEGER (0..4), + sf10 INTEGER (0..9), + sf20 INTEGER (0..19), + sf40 INTEGER (0..39), + sf80 INTEGER (0..79), + sf160 INTEGER (0..159) + }, + duration ENUMERATED { sf1, sf2, sf3, sf4, sf5 } } -SSB-MTC2 ::= SEQUENCE { - pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M - periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1} +SSB-MTC2 ::= SEQUENCE { + pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId OPTIONAL, -- Need M + periodicity ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1} } -- TAG-SSB-MTC-STOP +-- TAG-SSB-TOMEASURE-START + +SSB-ToMeasure ::= CHOICE { + shortBitmap BIT STRING (SIZE (4)), + mediumBitmap BIT STRING (SIZE (8)), + longBitmap BIT STRING (SIZE (64)) +} + +-- TAG-SSB-TOMEASURE-STOP -- TAG-SUBCARRIER-SPACING-START -SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1} +SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, spare3, spare2, spare1} -- TAG-SUBCARRIER-SPACING-STOP +-- TAG-TAG-CONFIG-START + +TAG-Config ::= SEQUENCE { + tag-ToReleaseList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id OPTIONAL, -- Need N + tag-ToAddModList SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG OPTIONAL -- Need N +} + +TAG ::= SEQUENCE { + tag-Id TAG-Id, + timeAlignmentTimer TimeAlignmentTimer, + ... +} + +TAG-Id ::= INTEGER (0..maxNrofTAGs-1) + +TimeAlignmentTimer ::= ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity} + +-- TAG-TAG-CONFIG-STOP -- TAG-TCI-STATE-START -TCI-State ::= SEQUENCE { - tci-StateId TCI-StateId, - qcl-Type1 QCL-Info, - qcl-Type2 QCL-Info OPTIONAL, -- Need R - ... +TCI-State ::= SEQUENCE { + tci-StateId TCI-StateId, + qcl-Type1 QCL-Info, + qcl-Type2 QCL-Info OPTIONAL, -- Need R + ... } -QCL-Info ::= SEQUENCE { - cell ServCellIndex OPTIONAL, -- Need R - bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated - referenceSignal CHOICE { - csi-rs NZP-CSI-RS-ResourceId, - ssb SSB-Index - }, - qcl-Type ENUMERATED {typeA, typeB, typeC, typeD}, - ... +QCL-Info ::= SEQUENCE { + cell ServCellIndex OPTIONAL, -- Need R + bwp-Id BWP-Id OPTIONAL, -- Cond CSI-RS-Indicated + referenceSignal CHOICE { + csi-rs NZP-CSI-RS-ResourceId, + ssb SSB-Index + }, + qcl-Type ENUMERATED {typeA, typeB, typeC, typeD}, + ... } -- TAG-TCI-STATE-STOP -- TAG-TCI-STATEID-START -TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1) +TCI-StateId ::= INTEGER (0..maxNrofTCI-States-1) -- TAG-TCI-STATEID-STOP -- TAG-TDD-UL-DL-CONFIG-START -TDD-UL-DL-ConfigCommon ::= SEQUENCE { - referenceSubcarrierSpacing SubcarrierSpacing, - pattern1 TDD-UL-DL-Pattern, - pattern2 TDD-UL-DL-Pattern OPTIONAL, -- Need R - ... +TDD-UL-DL-ConfigCommon ::= SEQUENCE { + referenceSubcarrierSpacing SubcarrierSpacing, + pattern1 TDD-UL-DL-Pattern, + pattern2 TDD-UL-DL-Pattern OPTIONAL, -- Need R + ... } -TDD-UL-DL-Pattern ::= SEQUENCE { - dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10}, - nrofDownlinkSlots INTEGER (0..maxNrofSlots), - nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1), - nrofUplinkSlots INTEGER (0..maxNrofSlots), - nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1), - ... +TDD-UL-DL-Pattern ::= SEQUENCE { + dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10}, + nrofDownlinkSlots INTEGER (0..maxNrofSlots), + nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1), + nrofUplinkSlots INTEGER (0..maxNrofSlots), + nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1), + ..., + [[ + dl-UL-TransmissionPeriodicity-v1530 ENUMERATED {ms3, ms4} OPTIONAL -- Need R + ]] } -TDD-UL-DL-ConfigDedicated ::= SEQUENCE { - slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N - slotSpecificConfigurationsToreleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL, -- Need N - ... +TDD-UL-DL-ConfigDedicated ::= SEQUENCE { + slotSpecificConfigurationsToAddModList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig OPTIONAL, -- Need N + slotSpecificConfigurationsToreleaseList SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex OPTIONAL,-- Need N + ... } -TDD-UL-DL-SlotConfig ::= SEQUENCE { - slotIndex TDD-UL-DL-SlotIndex, - symbols CHOICE { - allDownlink NULL, - allUplink NULL, - explicit SEQUENCE { - nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S - nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S - } - } +TDD-UL-DL-SlotConfig ::= SEQUENCE { + slotIndex TDD-UL-DL-SlotIndex, + symbols CHOICE { + allDownlink NULL, + allUplink NULL, + explicit SEQUENCE { + nrofDownlinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL, -- Need S + nrofUplinkSymbols INTEGER (1..maxNrofSymbols-1) OPTIONAL -- Need S + } + } } -TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1) +TDD-UL-DL-SlotIndex ::= INTEGER (0..maxNrofSlots-1) -- TAG-TDD-UL-DL-CONFIG-STOP +-- TAG-TRACKINGAREACODE-START + +TrackingAreaCode ::= BIT STRING (SIZE (24)) + +-- TAG-TRACKINGAREACODE-STOP +-- TAG-TRESELECTION-START + +T-Reselection ::= INTEGER (0..7) + +-- TAG-TRESELECTION-STOP +-- TAG-TIMETOTRIGGER-START + +TimeToTrigger ::= ENUMERATED { + ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, + ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, + ms5120} + +-- TAG-TIMETOTRIGGER-STOP +-- TAG-UAC-BARRING-INFO-SET-INDEX-START -TimeToTrigger ::= ENUMERATED { - ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, - ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, - ms5120} +UAC-BarringInfoSetIndex ::= INTEGER (1..maxBarringInfoSet) +-- TAG-UAC-BARRING-INFO-SET-INDEX-STOP +-- TAG-UAC-BARRING-INFO-SET-LIST-START + +UAC-BarringInfoSetList ::= SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet + +UAC-BarringInfoSet ::= SEQUENCE { + uac-BarringFactor ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + uac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}, + uac-BarringForAccessIdentity BIT STRING (SIZE(7)) +} + +-- TAG-UAC-BARRING-INFO-SET-LIST-STOP +-- TAG-UAC-BARRING-PER-CAT-LIST-START + +UAC-BarringPerCatList ::= SEQUENCE (SIZE (1..maxAccessCat-1)) OF UAC-BarringPerCat + +UAC-BarringPerCat ::= SEQUENCE { + accessCategory INTEGER (1..maxAccessCat-1), + uac-barringInfoSetIndex UAC-BarringInfoSetIndex +} + +-- TAG-UAC-BARRING-PER-CAT-LIST-STOP +-- TAG-UAC-BARRING-PER-PLMN-LIST-START + +UAC-BarringPerPLMN-List ::= SEQUENCE (SIZE (1.. maxPLMN)) OF UAC-BarringPerPLMN + +UAC-BarringPerPLMN ::= SEQUENCE { + plmn-IdentityIndex INTEGER (1..maxPLMN), + uac-ACBarringListType CHOICE{ + uac-ImplicitACBarringList SEQUENCE (SIZE(maxAccessCat-1)) OF UAC-BarringInfoSetIndex, + uac-ExplicitACBarringList UAC-BarringPerCatList + } OPTIONAL +} + +-- TAG-UAC-BARRING-PER-PLMN-LIST-STOP +-- TAG-UE-TIMERS-AND-CONSTANTS-START + +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}, + t319 ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000}, + ... +} + +-- TAG-UE-TIMERS-AND-CONSTANTS-STOP +-- TAG-UPLINK-CONFIG-COMMON-START + +UplinkConfigCommon ::= SEQUENCE { + frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAddAndSIB1 + initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAddAndSIB1 + dummy TimeAlignmentTimer +} + +-- TAG-UPLINK-CONFIG-COMMON-STOP -- TAG-UPLINK-CONFIG-COMMON-START -UplinkConfigCommon ::= SEQUENCE { - frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndServCellAddAndSIB1 - initialUplinkBWP BWP-UplinkCommon OPTIONAL, -- Cond ServCellAddAndSIB1 - timeAlignmentTimerCommon TimeAlignmentTimer +UplinkConfigCommonSIB ::= SEQUENCE { + frequencyInfoUL FrequencyInfoUL-SIB, + initialUplinkBWP BWP-UplinkCommon, + timeAlignmentTimerCommon TimeAlignmentTimer } -- TAG-UPLINK-CONFIG-COMMON-STOP +-- TAG-UPLINKTXDIRECTCURRENTLIST-START + +UplinkTxDirectCurrentList ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF UplinkTxDirectCurrentCell + +UplinkTxDirectCurrentCell ::= SEQUENCE { + servCellIndex ServCellIndex, + uplinkDirectCurrentBWP SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP, + ... +} + +UplinkTxDirectCurrentBWP ::= SEQUENCE { + bwp-Id BWP-Id, + shift7dot5kHz BOOLEAN, + txDirectCurrentLocation INTEGER (0..3301) +} + +-- TAG-UPLINKTXDIRECTCURRENTLIST-STOP -- TAG-ZP-CSI-RS-RESOURCE-START -ZP-CSI-RS-Resource ::= SEQUENCE { - zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId, - resourceMapping CSI-RS-ResourceMapping, - periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent - ... +ZP-CSI-RS-Resource ::= SEQUENCE { + zp-CSI-RS-ResourceId ZP-CSI-RS-ResourceId, + resourceMapping CSI-RS-ResourceMapping, + periodicityAndOffset CSI-ResourcePeriodicityAndOffset OPTIONAL, --Cond PeriodicOrSemiPersistent + ... } -ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1) +ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1) -- TAG-ZP-CSI-RS-RESOURCE-STOP -- TAG-ZP-CSI-RS-RESOURCESET-START -ZP-CSI-RS-ResourceSet ::= SEQUENCE { - zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId, - zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId, - ... +ZP-CSI-RS-ResourceSet ::= SEQUENCE { + zp-CSI-RS-ResourceSetId ZP-CSI-RS-ResourceSetId, + zp-CSI-RS-ResourceIdList SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId, + ... } -- TAG-ZP-CSI-RS-RESOURCESET-STOP -- TAG-ZP-CSI-RS-RESOURCESETID-START -ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1) +ZP-CSI-RS-ResourceSetId ::= INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1) -- TAG-ZP-CSI-RS-RESOURCESETID-STOP -- TAG-ACCESSSTRATUMRELEASE-START AccessStratumRelease ::= ENUMERATED { - rel15, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ... } + rel15, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ... } -- TAG-ACCESSSTRATUMRELEASE-STOP -- TAG-BANDCOMBINATIONLIST-START -BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination +BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination -BandCombination ::= SEQUENCE { - bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters, - featureSetCombination FeatureSetCombinationId, +BandCombination ::= SEQUENCE { + bandList SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters, + featureSetCombination FeatureSetCombinationId, - ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL, - ca-ParametersNR CA-ParametersNR OPTIONAL, - mrdc-Parameters MRDC-Parameters OPTIONAL, - supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL + ca-ParametersEUTRA CA-ParametersEUTRA OPTIONAL, + ca-ParametersNR CA-ParametersNR OPTIONAL, + mrdc-Parameters MRDC-Parameters OPTIONAL, + supportedBandwidthCombinationSet BIT STRING (SIZE (1..32)) OPTIONAL, + powerClass-v1530 ENUMERATED {pc2} OPTIONAL } - - -BandParameters ::= CHOICE { - eutra SEQUENCE { - bandEUTRA FreqBandIndicatorEUTRA, - ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, - ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL - }, - nr SEQUENCE { - bandNR FreqBandIndicatorNR, - ca-BandwidthClassDL-NR CA-BandwidthClassNR OPTIONAL, - ca-BandwidthClassUL-NR CA-BandwidthClassNR OPTIONAL - } +BandParameters ::= CHOICE { + eutra SEQUENCE { + bandEUTRA FreqBandIndicatorEUTRA, + ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, + ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL + }, + nr SEQUENCE { + bandNR FreqBandIndicatorNR, + ca-BandwidthClassDL-NR CA-BandwidthClassNR OPTIONAL, + ca-BandwidthClassUL-NR CA-BandwidthClassNR OPTIONAL + } } - -- TAG-BANDCOMBINATIONLIST-STOP --- TAG-CA-BANDWIDTHCLASSNR-START - -CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...} - --- TAG-CA-BANDWIDTHCLASSNR-STOP -- TAG-CA-BANDWIDTHCLASSEUTRA-START -CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...} +CA-BandwidthClassEUTRA ::= ENUMERATED {a, b, c, d, e, f, ...} -- TAG-CA-BANDWIDTHCLASSEUTRA-STOP --- TAG-CA-PARAMETERSNR-START +-- TAG-CA-BANDWIDTHCLASSNR-START -CA-ParametersNR ::= SEQUENCE { - multipleTimingAdvances ENUMERATED {supported} OPTIONAL, - parallelTxSRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, - parallelTxPRACH-SRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, - simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL, - simultaneousRxTxSUL ENUMERATED {supported} OPTIONAL, - diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL, - diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL, - supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL, - ... -} +CA-BandwidthClassNR ::= ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...} --- TAG-CA-PARAMETERSNR-STOP +-- TAG-CA-BANDWIDTHCLASSNR-STOP -- TAG-CA-PARAMETERSEUTRA-START -CA-ParametersEUTRA ::= SEQUENCE { - multipleTimingAdvance ENUMERATED {supported} OPTIONAL, - simultaneousRx-Tx ENUMERATED {supported} OPTIONAL, - supportedNAICS-2CRS-AP BIT STRING (SIZE (1..8)) OPTIONAL, - additionalRx-Tx-PerformanceReq ENUMERATED {supported} OPTIONAL, - ue-CA-PowerClass-N ENUMERATED {class2} OPTIONAL, - ... +CA-ParametersEUTRA ::= SEQUENCE { + multipleTimingAdvance ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx ENUMERATED {supported} OPTIONAL, + supportedNAICS-2CRS-AP BIT STRING (SIZE (1..8)) OPTIONAL, + additionalRx-Tx-PerformanceReq ENUMERATED {supported} OPTIONAL, + ue-CA-PowerClass-N ENUMERATED {class2} OPTIONAL, + supportedBandwidthCombinationSetEUTRA-v1530 BIT STRING (SIZE (1..32)) OPTIONAL, + ... } -- TAG-CA-PARAMETERSEUTRA-STOP +-- TAG-CA-PARAMETERSNR-START + +CA-ParametersNR ::= SEQUENCE { + multipleTimingAdvances ENUMERATED {supported} OPTIONAL, + parallelTxSRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, + parallelTxPRACH-SRS-PUCCH-PUSCH ENUMERATED {supported} OPTIONAL, + simultaneousRxTxInterBandCA ENUMERATED {supported} OPTIONAL, + simultaneousRxTxSUL ENUMERATED {supported} OPTIONAL, + diffNumerologyAcrossPUCCH-Group ENUMERATED {supported} OPTIONAL, + diffNumerologyWithinPUCCH-Group ENUMERATED {supported} OPTIONAL, + supportedNumberTAG ENUMERATED {n2, n3, n4} OPTIONAL, + ... +} + +-- TAG-CA-PARAMETERSNR-STOP -- TAG-FEATURESETCOMBINATION-START -FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand +FeatureSetCombination ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand -FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet +FeatureSetsPerBand ::= SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet -FeatureSet ::= CHOICE { - eutra SEQUENCE { - downlinkSetEUTRA FeatureSetEUTRA-DownlinkId, - uplinkSetEUTRA FeatureSetEUTRA-UplinkId - }, - nr SEQUENCE { - downlinkSetNR FeatureSetDownlinkId, - uplinkSetNR FeatureSetUplinkId - } +FeatureSet ::= CHOICE { + eutra SEQUENCE { + downlinkSetEUTRA FeatureSetEUTRA-DownlinkId, + uplinkSetEUTRA FeatureSetEUTRA-UplinkId + }, + nr SEQUENCE { + downlinkSetNR FeatureSetDownlinkId, + uplinkSetNR FeatureSetUplinkId + } } -- TAG-FEATURESET-COMBINATION-ID-START -FeatureSetCombinationId ::= INTEGER (0.. maxFeatureSetCombinations) +FeatureSetCombinationId ::= INTEGER (0.. maxFeatureSetCombinations) -- TAG-FEATURESET-COMBINATION-ID-STOP -- TAG-FEATURESETDOWNLINK-START -FeatureSetDownlink ::= SEQUENCE { - featureSetListPerDownlinkCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id, - - intraBandFreqSeparationDL FreqSeparationClass OPTIONAL, - scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, - crossCarrierSchedulingDL-OtherSCS ENUMERATED {supported} OPTIONAL, - scellWithoutSSB ENUMERATED {supported} OPTIONAL, - csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL, - srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL, - type1-3-CSS ENUMERATED {supported} OPTIONAL, - pdcchMonitoringAnyOccasions ENUMERATED {withoutDCI-Gap, withDCI-Gap} OPTIONAL, - pdcchMonitoringAnyOccasionsWithSpanGap ENUMERATED {supported} OPTIONAL, - ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, - searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL, - timeDurationForQCL SEQUENCE { - scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, - sch-120kHz ENUMERATED {s14, s28} OPTIONAL - } OPTIONAL, - pdsch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL - } OPTIONAL, - csi-RS-IM-ReceptionForFeedback CSI-RS-IM-ReceptionForFeedback OPTIONAL, - typeI-SinglePanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-SinglePanelCodebook OPTIONAL, - typeI-MultiPanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-MultiPanelCodebook OPTIONAL, - typeII-CodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-Codebook OPTIONAL, - typeII-CodebookPortSelectionList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-CodebookPortSelection OPTIONAL - -} - -CSI-RS-IM-ReceptionForFeedback ::= SEQUENCE { - maxNumberNZP-CSI-RS-PerCC INTEGER (1..32), - maxNumberPortsAcrossNZP-CSI-RS-PerCC ENUMERATED {p2, p4, p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, - p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, - p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256}, - maxNumberCS-IM-PerCC ENUMERATED {n1, n2, n4, n8, n16, n32}, - maxNumberSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {n5, n6, n7, n8, n9, n10, n12, n14, n16, n18, n20, n22, n24, n26, - n28, n30, n32, n34, n36, n38, n40, n42, n44, n46, n48, n50, n52, - n54, n56, n58, n60, n62, n64}, - totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, - p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, - p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256} -} - -TypeI-SinglePanelCodebook ::= SEQUENCE { - maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32}, - maxNumberResources INTEGER (1..64), - totalNumberTxPorts INTEGER (2..256), - supportedCodebookMode ENUMERATED {mode1, mode1AndMode2}, - maxNumberCSI-RS-PerResourceSet INTEGER (1..8) -} - -TypeI-MultiPanelCodebook ::= SEQUENCE { - maxNumberTxPortsPerResource ENUMERATED {p8, p16, p32}, - maxNumberResources INTEGER (1..64), - totalNumberTxPorts INTEGER (2..256), - supportedCodebookMode ENUMERATED {mode1, mode2, both}, - supportedNumberPanels ENUMERATED {n2, n4}, - maxNumberCSI-RS-PerResourceSet INTEGER (1..8) -} - -TypeII-Codebook ::= SEQUENCE { - maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, - maxNumberResources INTEGER (1..64), - totalNumberTxPorts INTEGER (2..256), - parameterLx INTEGER (2..4), - amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, - amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL, - maxNumberCSI-RS-PerResourceSet INTEGER (1..8) -} - -TypeII-CodebookPortSelection ::= SEQUENCE { - maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, - maxNumberResources INTEGER (1..64), - totalNumberTxPorts INTEGER (2..256), - parameterLx INTEGER (2..4), - amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, - maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +FeatureSetDownlink ::= SEQUENCE { + featureSetListPerDownlinkCC SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id, + + intraBandFreqSeparationDL FreqSeparationClass OPTIONAL, + scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, + crossCarrierScheduling-OtherSCS ENUMERATED {supported} OPTIONAL, + scellWithoutSSB ENUMERATED {supported} OPTIONAL, + csi-RS-MeasSCellWithoutSSB ENUMERATED {supported} OPTIONAL, + srs-AssocCSI-RS ENUMERATED {supported} OPTIONAL, + type1-3-CSS ENUMERATED {supported} OPTIONAL, + pdcch-MonitoringAnyOccasions ENUMERATED {withoutDCI-Gap, withDCI-Gap} OPTIONAL, + pdcch-MonitoringAnyOccasionsWithSpanGap ENUMERATED {supported} OPTIONAL, + ue-SpecificUL-DL-Assignment ENUMERATED {supported} OPTIONAL, + searchSpaceSharingCA-DL ENUMERATED {supported} OPTIONAL, + timeDurationForQCL SEQUENCE { + scs-60kHz ENUMERATED {s7, s14, s28} OPTIONAL, + sch-120kHz ENUMERATED {s14, s28} OPTIONAL + } OPTIONAL, + pdsch-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + csi-RS-IM-ReceptionForFeedback CSI-RS-IM-ReceptionForFeedback OPTIONAL, + typeI-SinglePanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-SinglePanelCodebook OPTIONAL, + typeI-MultiPanelCodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeI-MultiPanelCodebook OPTIONAL, + typeII-CodebookList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-Codebook OPTIONAL, + typeII-CodebookPortSelectionList SEQUENCE (SIZE (1.. maxNrofCodebooks)) OF TypeII-CodebookPortSelection OPTIONAL + +} + +CSI-RS-IM-ReceptionForFeedback ::= SEQUENCE { + maxNumberNZP-CSI-RS-PerCC INTEGER (1..32), + maxNumberPortsAcrossNZP-CSI-RS-PerCC ENUMERATED {p2, p4, p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, + p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, + p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256}, + maxNumberCS-IM-PerCC ENUMERATED {n1, n2, n4, n8, n16, n32}, + maxNumberSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {n5, n6, n7, n8, n9, n10, n12, n14, n16, n18, n20, n22, n24, n26, + n28, n30, n32, n34, n36, n38, n40, n42, n44, n46, n48, n50, n52, + n54, n56, n58, n60, n62, n64}, + totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80, + p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168, + p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256} +} + +TypeI-SinglePanelCodebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p2, p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + supportedCodebookMode ENUMERATED {mode1, mode1AndMode2}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeI-MultiPanelCodebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p8, p16, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + supportedCodebookMode ENUMERATED {mode1, mode2, both}, + supportedNumberPanels ENUMERATED {n2, n4}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeII-Codebook ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + parameterLx INTEGER (2..4), + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, + amplitudeSubsetRestriction ENUMERATED {supported} OPTIONAL, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) +} + +TypeII-CodebookPortSelection ::= SEQUENCE { + maxNumberTxPortsPerResource ENUMERATED {p4, p8, p12, p16, p24, p32}, + maxNumberResources INTEGER (1..64), + totalNumberTxPorts INTEGER (2..256), + parameterLx INTEGER (2..4), + amplitudeScalingType ENUMERATED {wideband, widebandAndSubband}, + maxNumberCSI-RS-PerResourceSet INTEGER (1..8) } -- TAG-FEATURESETDOWNLINK-STOP -- TAG-FEATURESET-DOWNLINK-ID-START -FeatureSetDownlinkId ::= INTEGER (0..maxDownlinkFeatureSets) +FeatureSetDownlinkId ::= INTEGER (0..maxDownlinkFeatureSets) -- TAG-FEATURESET-DOWNLINK-ID-STOP --- TAG-FEATURESET-EUTRA-DOWNLINK-ID-START - -FeatureSetEUTRA-DownlinkId ::= INTEGER (0..maxEUTRA-DL-FeatureSets) - --- TAG-FEATURESET-EUTRA-DOWNLINK-ID-STOP -- TAG-FEATURESETDOWNLINKPERCC-START -FeatureSetDownlinkPerCC ::= SEQUENCE { - supportedSubcarrierSpacingDL SubcarrierSpacing, - supportedBandwidthDL SupportedBandwidth, - channelBW-90mhz ENUMERATED {supported} OPTIONAL, - maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL, - supportedModulationOrderDL ModulationOrder OPTIONAL +FeatureSetDownlinkPerCC ::= SEQUENCE { + supportedSubcarrierSpacingDL SubcarrierSpacing, + supportedBandwidthDL SupportedBandwidth, + channelBW-90mhz ENUMERATED {supported} OPTIONAL, + maxNumberMIMO-LayersPDSCH MIMO-LayersDL OPTIONAL, + supportedModulationOrderDL ModulationOrder OPTIONAL } -- TAG-FEATURESETDOWNLINKPERCC-STOP -- TAG-FEATURESET-DOWNLINK-PER-CC-ID-START -FeatureSetDownlinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) +FeatureSetDownlinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) -- TAG-FEATURESET-DOWNLINK-PER-CC-ID-STOP +-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-START + +FeatureSetEUTRA-DownlinkId ::= INTEGER (0..maxEUTRA-DL-FeatureSets) + +-- TAG-FEATURESET-EUTRA-DOWNLINK-ID-STOP +-- TAG-FEATURESET-EUTRA-UPLINK-ID-START + +FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets) + +-- TAG-FEATURESET-EUTRA-UPLINK-ID-STOP +-- TAG-FEATURESETS-START + +FeatureSets ::= SEQUENCE { + featureSetsDownlink SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink OPTIONAL, + featureSetsDownlinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC OPTIONAL, + featureSetsUplink SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink OPTIONAL, + featureSetsUplinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC OPTIONAL, + ... +} + -- TAG-FEATURESETUPLINK-START -FeatureSetUplink ::= SEQUENCE { - featureSetListPerUplinkCC SEQUENCE (SIZE (1.. maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id, - scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, - crossCarrierSchedulingUL-OtherSCS ENUMERATED {supported} OPTIONAL, - intraBandFreqSeparationUL FreqSeparationClass OPTIONAL, - searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL, - srs-TxSwitch SRS-TxSwitch OPTIONAL, - supportedSRS-Resources SRS-Resources OPTIONAL, - twoPUCCH-Group ENUMERATED {supported} OPTIONAL, - dynamicSwitchSUL ENUMERATED {supported} OPTIONAL, - pusch-DifferentTB-PerSlot SEQUENCE { - scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, - scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL - } OPTIONAL, - csi-ReportFramework CSI-ReportFramework OPTIONAL -} - - -CSI-ReportFramework ::= SEQUENCE { - maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4), - maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4), - maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4), - simultaneousCSI-ReportsAllCC INTEGER (5..32) +FeatureSetUplink ::= SEQUENCE { + featureSetListPerUplinkCC SEQUENCE (SIZE (1.. maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id, + scalingFactor ENUMERATED {f0p4, f0p75, f0p8} OPTIONAL, + crossCarrierScheduling-OtherSCS ENUMERATED {supported} OPTIONAL, + intraBandFreqSeparationUL FreqSeparationClass OPTIONAL, + searchSpaceSharingCA-UL ENUMERATED {supported} OPTIONAL, + srs-TxSwitch SRS-TxSwitch OPTIONAL, + supportedSRS-Resources SRS-Resources OPTIONAL, + twoPUCCH-Group ENUMERATED {supported} OPTIONAL, + dynamicSwitchSUL ENUMERATED {supported} OPTIONAL, + simultaneousTxSUL-NonSUL-v1530 ENUMERATED {supported} OPTIONAL, + pusch-DifferentTB-PerSlot SEQUENCE { + scs-15kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-30kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-60kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL, + scs-120kHz ENUMERATED {upto2, upto4, upto7} OPTIONAL + } OPTIONAL, + csi-ReportFramework CSI-ReportFramework OPTIONAL +} + +CSI-ReportFramework ::= SEQUENCE { + maxNumberPeriodicCSI-ReportPerBWP INTEGER (1..4), + maxNumberAperiodicCSI-ReportPerBWP INTEGER (1..4), + maxNumberSemiPersistentCSI-ReportPerBWP INTEGER (0..4), + simultaneousCSI-ReportsAllCC INTEGER (5..32) } -- TAG- FEATURESETUPLINK-STOP -- TAG-FEATURESET-UPLINK-ID-START -FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets) +FeatureSetUplinkId ::= INTEGER (0..maxUplinkFeatureSets) -- TAG-FEATURESET-UPLINK-ID-STOP --- TAG-FEATURESET-EUTRA-UPLINK-ID-START - -FeatureSetEUTRA-UplinkId ::= INTEGER (0..maxEUTRA-UL-FeatureSets) - --- TAG-FEATURESET-EUTRA-UPLINK-ID-STOP -- TAG-FEATURESETUPLINKPERCC-START -FeatureSetUplinkPerCC ::= SEQUENCE { - supportedSubcarrierSpacingUL SubcarrierSpacing, - supportedBandwidthUL SupportedBandwidth, - channelBW-90mhz ENUMERATED {supported} OPTIONAL, - mimo-CB-PUSCH SEQUENCE { - maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, - maxNumberSRS-ResourcePerSet INTEGER (1..2) - } OPTIONAL, - maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL, - supportedModulationOrderUL ModulationOrder OPTIONAL, - simultaneousTxSUL-NonSUL ENUMERATED {supported} OPTIONAL +FeatureSetUplinkPerCC ::= SEQUENCE { + supportedSubcarrierSpacingUL SubcarrierSpacing, + supportedBandwidthUL SupportedBandwidth, + channelBW-90mhz ENUMERATED {supported} OPTIONAL, + mimo-CB-PUSCH SEQUENCE { + maxNumberMIMO-LayersCB-PUSCH MIMO-LayersUL OPTIONAL, + maxNumberSRS-ResourcePerSet INTEGER (1..2) + } OPTIONAL, + maxNumberMIMO-LayersNonCB-PUSCH MIMO-LayersUL OPTIONAL, + supportedModulationOrderUL ModulationOrder OPTIONAL + } -- TAG-FEATURESETUPLINKPERCC-STOP -- TAG-FEATURESET-UPLINK-PER-CC-ID-START -FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) +FeatureSetUplinkPerCC-Id ::= INTEGER (1..maxPerCC-FeatureSets) -- TAG-FEATURESET-UPLINK-PER-CC-ID-STOP --- TAG-FEATURESETS-START - -FeatureSets ::= SEQUENCE { - featureSetsDownlink SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink OPTIONAL, - featureSetsDownlinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC OPTIONAL, - featureSetsUplink SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink OPTIONAL, - featureSetsUplinkPerCC SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC OPTIONAL, - ... -} - -- TAG-FREQ-BAND-INDICATOR-EUTRA-START -FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA) +FreqBandIndicatorEUTRA ::= INTEGER (1..maxBandsEUTRA) -- TAG-FREQ-BAND-INDICATOR-EUTRA-STOP -- TAG-FREQBANDLIST-START -FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation +FreqBandList ::= SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation -FreqBandInformation ::= CHOICE { - bandInformationEUTRA FreqBandInformationEUTRA, - bandInformationNR FreqBandInformationNR +FreqBandInformation ::= CHOICE { + bandInformationEUTRA FreqBandInformationEUTRA, + bandInformationNR FreqBandInformationNR } -FreqBandInformationEUTRA ::= SEQUENCE { - bandEUTRA FreqBandIndicatorEUTRA, - ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, -- Need N - ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL -- Need N +FreqBandInformationEUTRA ::= SEQUENCE { + bandEUTRA FreqBandIndicatorEUTRA, + ca-BandwidthClassDL-EUTRA CA-BandwidthClassEUTRA OPTIONAL, -- Need N + ca-BandwidthClassUL-EUTRA CA-BandwidthClassEUTRA OPTIONAL -- Need N } -FreqBandInformationNR ::= SEQUENCE { - bandNR FreqBandIndicatorNR, - maxBandwidthRequestedDL AggregatedBandwith OPTIONAL, -- Need N - maxBandwidthRequestedUL AggregatedBandwith OPTIONAL, -- Need N - maxCarriersRequestedDL INTEGER (1.. maxNrofServingCells) OPTIONAL, -- Need N - maxCarriersRequestedUL INTEGER (1.. maxNrofServingCells) OPTIONAL -- Need N +FreqBandInformationNR ::= SEQUENCE { + bandNR FreqBandIndicatorNR, + maxBandwidthRequestedDL AggregatedBandwidth OPTIONAL, -- Need N + maxBandwidthRequestedUL AggregatedBandwidth OPTIONAL, -- Need N + maxCarriersRequestedDL INTEGER (1..maxNrofServingCells) OPTIONAL, -- Need N + maxCarriersRequestedUL INTEGER (1..maxNrofServingCells) OPTIONAL -- Need N } -AggregatedBandwith ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350, - mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800} +AggregatedBandwidth ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350, + mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800} -- TAG-FREQBANDLIST-STOP -- TAG-FREQSEPARATIONCLASS-START @@ -3460,13 +5113,247 @@ AggregatedBandwith ::= ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz3 FreqSeparationClass ::= ENUMERATED {c1, c2, c3, ...} -- TAG-FREQSEPARATIONCLASS-STOP +-- TAG-INTERRAT-PARAMETERS-START + +InterRAT-Parameters ::= SEQUENCE { + eutra EUTRA-Parameters OPTIONAL, + ... +} + +EUTRA-Parameters ::= SEQUENCE { + supportedBandListEUTRA SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA, + eutra-ParametersCommon EUTRA-ParametersCommon OPTIONAL, + eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff OPTIONAL, + ... +} + +EUTRA-ParametersCommon ::= SEQUENCE { + mfbi-EUTRA ENUMERATED {supported} OPTIONAL, + modifiedMRP-BehaviorEUTRA BIT STRING (SIZE (32)) OPTIONAL, + multiNS-Pmax-EUTRA ENUMERATED {supported} OPTIONAL, + rs-SINR-MeasEUTRA ENUMERATED {supported} OPTIONAL, + ... +} + +EUTRA-ParametersXDD-Diff ::= SEQUENCE { + rsrqMeasWidebandEUTRA ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-INTERRAT-PARAMETERS-STOP +-- TAG-MAC-PARAMETERS-START + +MAC-Parameters ::= SEQUENCE { + mac-ParametersCommon MAC-ParametersCommon OPTIONAL, + mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL +} + +MAC-ParametersCommon ::= SEQUENCE { + lcp-Restriction ENUMERATED {supported} OPTIONAL, + pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL, + lch-ToSCellRestriction ENUMERATED {supported} OPTIONAL, + ..., + [[ + recommendedBitRate ENUMERATED {supported} OPTIONAL, + recommendedBitRateQuery ENUMERATED {supported} OPTIONAL + ]] +} + +MAC-ParametersXDD-Diff ::= SEQUENCE { + skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL, + logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL, + longDRX-Cycle ENUMERATED {supported} OPTIONAL, + shortDRX-Cycle ENUMERATED {supported} OPTIONAL, + multipleSR-Configurations ENUMERATED {supported} OPTIONAL, + multipleConfiguredGrants ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-MAC-PARAMETERS-STOP +-- TAG-MEASANDMOBPARAMETERS-START + +MeasAndMobParameters ::= SEQUENCE { + measAndMobParametersCommon MeasAndMobParametersCommon OPTIONAL, + measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL, + measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL +} + +MeasAndMobParametersCommon ::= SEQUENCE { + supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL, + ssb-RLM ENUMERATED {supported} OPTIONAL, + ssb-AndCSI-RS-RLM ENUMERATED {supported} OPTIONAL, + ..., + [[ + eventB-MeasAndReport ENUMERATED {supported} OPTIONAL, + handoverFDD-TDD ENUMERATED {supported} OPTIONAL, + eutra-CGI-Reporting ENUMERATED {supported} OPTIONAL, + nr-CGI-Reporting ENUMERATED {supported} OPTIONAL + ]] +} + +MeasAndMobParametersXDD-Diff ::= SEQUENCE { + intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL, + eventA-MeasAndReport ENUMERATED {supported} OPTIONAL, + ..., + [[ + handoverInterF ENUMERATED {supported} OPTIONAL, + handoverLTE ENUMERATED {supported} OPTIONAL, + handover-eLTE ENUMERATED {supported} OPTIONAL + ]] +} + +MeasAndMobParametersFRX-Diff ::= SEQUENCE { + ss-SINR-Meas ENUMERATED {supported} OPTIONAL, + csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL, + csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL, + csi-SINR-Meas ENUMERATED {supported} OPTIONAL, + csi-RS-RLM ENUMERATED {supported} OPTIONAL, + ..., + [[ + handoverInterF ENUMERATED {supported} OPTIONAL, + handoverLTE ENUMERATED {supported} OPTIONAL, + handover-eLTE ENUMERATED {supported} OPTIONAL + ]] +} + +-- TAG-MEASANDMOBPARAMETERS-STOP +-- TAG-MEASANDMOBPARAMETERSMRDC-START + +MeasAndMobParametersMRDC ::= SEQUENCE { + measAndMobParametersMRDC-Common MeasAndMobParametersMRDC-Common OPTIONAL, + measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL, + measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff OPTIONAL +} + +MeasAndMobParametersMRDC-Common ::= SEQUENCE { + independentGapConfig ENUMERATED {supported} OPTIONAL +} + +MeasAndMobParametersMRDC-XDD-Diff ::= SEQUENCE { + sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, + sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL +} + +MeasAndMobParametersMRDC-FRX-Diff ::= SEQUENCE { + simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL +} + +-- TAG-MEASANDMOBPARAMETERSMRDC-STOP -- TAG-MIMO-LAYERS-START -MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers} +MIMO-LayersDL ::= ENUMERATED {twoLayers, fourLayers, eightLayers} -MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers} +MIMO-LayersUL ::= ENUMERATED {oneLayer, twoLayers, fourLayers} -- TAG-MIMO-LAYERS-STOP +-- TAG-MIMO-PARAMETERSPERBAND-START + +MIMO-ParametersPerBand ::= SEQUENCE { + tci-StatePDSCH SEQUENCE { + maxNumberConfiguredTCIstatesPerCC ENUMERATED {n4, n8, n16, n32, n64, n128} OPTIONAL, + maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL + } OPTIONAL, + additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL, + pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL, + beamCorrespondence ENUMERATED {supported} OPTIONAL, + periodicBeamReport ENUMERATED {supported} OPTIONAL, + aperiodicBeamReport ENUMERATED {supported} OPTIONAL, + sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL, + sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL, + beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL, + maxNumberRxBeam INTEGER (2..8) OPTIONAL, + maxNumberRxTxBeamSwitchDL SEQUENCE { + scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL, + scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL, + scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL, + scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL, + scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL + } OPTIONAL, + maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL, + groupBeamReporting ENUMERATED {supported} OPTIONAL, + uplinkBeamManagement SEQUENCE { + maxNumberSRS-ResourcePerSet-BM ENUMERATED {n2, n4, n8, n16}, + maxNumberSRS-ResourceSet INTEGER (1..8) + } OPTIONAL, + maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL, + maxNumberSSB-BFR INTEGER (1..64) OPTIONAL, + maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL, + twoPortsPTRS-DL ENUMERATED {supported} OPTIONAL, + twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL, + supportedSRS-Resources SRS-Resources OPTIONAL, + maxNumberSimultaneousSRS-PerCC INTEGER (1..4) OPTIONAL, + beamReportTiming SEQUENCE { + scs-15kHz ENUMERATED {sym2, sym4, sym8} OPTIONAL, + scs-30kHz ENUMERATED {sym4, sym8, sym14} OPTIONAL, + scs-60kHz ENUMERATED {sym8, sym14, sym28} OPTIONAL, + scs-120kHz ENUMERATED {sym14, sym28, sym56} OPTIONAL + } OPTIONAL, + ptrs-DensityRecommendationSetDL SEQUENCE { + scs-15kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-30kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-60kHz PTRS-DensityRecommendationDL OPTIONAL, + scs-120kHz PTRS-DensityRecommendationDL OPTIONAL + } OPTIONAL, + ptrs-DensityRecommendationSetUL SEQUENCE { + scs-15kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-30kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-60kHz PTRS-DensityRecommendationUL OPTIONAL, + scs-120kHz PTRS-DensityRecommendationUL OPTIONAL + } OPTIONAL, + csi-RS-ForTracking CSI-RS-ForTracking OPTIONAL, + aperiodicTRS ENUMERATED {supported} OPTIONAL, + ... +} + +BeamManagementSSB-CSI-RS ::= SEQUENCE { + maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n8, n16, n32, n64}, + maxNumberSSB-CSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64}, + supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree} +} + +CSI-RS-ForTracking ::= SEQUENCE { + burstLength INTEGER (1..2), + maxSimultaneousResourceSetsPerCC INTEGER (1..8), + maxConfiguredResourceSetsPerCC INTEGER (1..64), + maxConfiguredResourceSetsAllCC INTEGER (1..128) +} + +PTRS-DensityRecommendationDL ::= SEQUENCE { + frequencyDensity1 INTEGER (1..276), + frequencyDensity2 INTEGER (1..276), + timeDensity1 INTEGER (0..29), + timeDensity2 INTEGER (0..29), + timeDensity3 INTEGER (0..29) +} + +PTRS-DensityRecommendationUL ::= SEQUENCE { + frequencyDensity1 INTEGER (1..276), + frequencyDensity2 INTEGER (1..276), + timeDensity1 INTEGER (0..29), + timeDensity2 INTEGER (0..29), + timeDensity3 INTEGER (0..29), + sampleDensity1 INTEGER (1..276), + sampleDensity2 INTEGER (1..276), + sampleDensity3 INTEGER (1..276), + sampleDensity4 INTEGER (1..276), + sampleDensity5 INTEGER (1..276) +} + +SRS-Resources ::= SEQUENCE { + maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, + maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6), + maxNumberPeriodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, + maxNumberPeriodicSRS-PerBWP-PerSlot INTEGER (1..6), + maxNumberSemiPersitentSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, + maxNumberSP-SRS-PerBWP-PerSlot INTEGER (1..6), + maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4} +} + +SRS-TxSwitch ::= SEQUENCE { + supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal}, + txSwitchImpactToRx ENUMERATED {true} OPTIONAL +} + -- TAG-MODULATION-ORDER-START ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256} @@ -3475,27 +5362,264 @@ ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256} -- TAG-MRDC-PARAMETERS-START MRDC-Parameters ::= SEQUENCE { - singleUL-Transmission ENUMERATED {supported} OPTIONAL, - dynamicPowerSharing ENUMERATED {supported} OPTIONAL, - tdm-Pattern ENUMERATED {supported} OPTIONAL, - ul-SharingEUTRA-NR ENUMERATED {tdm, fdm, both} OPTIONAL, - ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL, - simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL, - asyncIntraBandENDC ENUMERATED {supported} OPTIONAL, - ... + singleUL-Transmission ENUMERATED {supported} OPTIONAL, + dynamicPowerSharing ENUMERATED {supported} OPTIONAL, + tdm-Pattern ENUMERATED {supported} OPTIONAL, + ul-SharingEUTRA-NR ENUMERATED {tdm, fdm, both} OPTIONAL, + ul-SwitchingTimeEUTRA-NR ENUMERATED {type1, type2} OPTIONAL, + simultaneousRxTxInterBandENDC ENUMERATED {supported} OPTIONAL, + asyncIntraBandENDC ENUMERATED {supported} OPTIONAL, + ... } -- TAG-MRDC-PARAMETERS-STOP +-- TAG-PDCP-PARAMETERS-START + +PDCP-Parameters ::= SEQUENCE { + supportedROHC-Profiles SEQUENCE { + profile0x0000 BOOLEAN, + 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}, + uplinkOnlyROHC-Profiles ENUMERATED {supported} OPTIONAL, + continueROHC-Context ENUMERATED {supported} OPTIONAL, + outOfOrderDelivery ENUMERATED {supported} OPTIONAL, + shortSN ENUMERATED {supported} OPTIONAL, + pdcp-DuplicationSRB3 ENUMERATED {supported} OPTIONAL, + pdcp-DuplicationMCG-OrSCG ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-PDCP-PARAMETERS-STOP +-- TAG-PDCP-PARAMETERSMRDC-START + +PDCP-ParametersMRDC ::= SEQUENCE { + pdcp-DuplicationSplitSRB ENUMERATED {supported} OPTIONAL, + pdcp-DuplicationSplitDRB ENUMERATED {supported} OPTIONAL +} + +-- TAG-PDCP-PARAMETERSMRDC-STOP +-- TAG-PHY-PARAMETERS-START + +Phy-Parameters ::= SEQUENCE { + phy-ParametersCommon Phy-ParametersCommon OPTIONAL, + phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, + phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, + phy-ParametersFR1 Phy-ParametersFR1 OPTIONAL, + phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL +} + +Phy-ParametersCommon ::= SEQUENCE { + csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL, + dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL, + sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL, + sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL, + nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL, + type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL, + precoderGranularityCORESET ENUMERATED {supported} OPTIONAL, + dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, + semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, + spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL, + dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL, + pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL, + ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL, + dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL, + dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL, + pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL, + pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL, + interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL, + interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, + type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, + type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, + pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, + pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, + downlinkSPS ENUMERATED {supported} OPTIONAL, + configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL, + configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL, + pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL, + cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL, + cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL, + cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL, + dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL, + rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL, + rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL, + bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL, + ... , + [[ + eutra-RS-SINR-measurement ENUMERATED {supported} OPTIONAL + ]] +} + +Phy-ParametersXDD-Diff ::= SEQUENCE { + dynamicSFI ENUMERATED {supported} OPTIONAL, + twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, + twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, + twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, + ... +} + +Phy-ParametersFRX-Diff ::= SEQUENCE { + dynamicSFI ENUMERATED {supported} OPTIONAL, + oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, + twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL, + twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, + oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, + supportedDMRS-TypeDL ENUMERATED {type1, type1And2} OPTIONAL, + supportedDMRS-TypeUL ENUMERATED {type1, type1And2} OPTIONAL, + semiOpenLoopCSI ENUMERATED {supported} OPTIONAL, + csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL, + csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL, + onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL, + twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, + pucch-F2-WithFH ENUMERATED {supported} OPTIONAL, + pucch-F3-WithFH ENUMERATED {supported} OPTIONAL, + pucch-F4-WithFH ENUMERATED {supported} OPTIONAL, + freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL, + freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL, + mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL, + uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL, + onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL, + twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL, + intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, + pusch-LBRM ENUMERATED {supported} OPTIONAL, + pdcch-BlindDetectionCA INTEGER (4..16) OPTIONAL, + tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL, + tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL, + tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL, + absoluteTPC-Command ENUMERATED {supported} OPTIONAL, + twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, + twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, + pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, + pucch-F3-4-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, + almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL, + sp-CSI-RS ENUMERATED {supported} OPTIONAL, + sp-CSI-IM ENUMERATED {supported} OPTIONAL, + tdd-MultiDL-UL-SwitchPerSlot ENUMERATED {supported} OPTIONAL, + multipleCORESET ENUMERATED {supported} OPTIONAL, + ... +} + +Phy-ParametersFR1 ::= SEQUENCE { + pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL, + scs-60kHz ENUMERATED {supported} OPTIONAL, + pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL, + pdsch-RE-MappingFR1 ENUMERATED {n10, n20} OPTIONAL, + ... +} + +Phy-ParametersFR2 ::= SEQUENCE { + calibrationGapPA ENUMERATED {supported} OPTIONAL, + pdsch-RE-MappingFR2 ENUMERATED {n6, n20} OPTIONAL, + ... +} + +-- TAG-PHY-PARAMETERS-STOP +-- TAG-PHY-PARAMETERSMRDC-START + +Phy-ParametersMRDC ::= SEQUENCE { + naics-Capability-List SEQUENCE (SIZE (1..maxNrofNAICS-Entries)) OF NAICS-Capability-Entry OPTIONAL, + ... +} + +NAICS-Capability-Entry ::= SEQUENCE { + numberOfNAICS-CapableCC INTEGER(1..5), + numberOfAggregatedPRB ENUMERATED {n50, n75, n100, n125, n150, n175, n200, n225, + n250, n275, n300, n350, n400, n450, n500, spare}, + ... +} + +-- TAG-PHY-PARAMETERSMRDC-STOP -- TAG-RAT-TYPE-START -RAT-Type ::= ENUMERATED {nr, eutra-nr, spare2, spare1, ...} +RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, spare1, ...} -- TAG-RAT-TYPE-STOP +-- TAG-RF-PARAMETERS-START + +RF-Parameters ::= SEQUENCE { + supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR, + supportedBandCombinationList BandCombinationList OPTIONAL, + appliedFreqBandListFilter FreqBandList OPTIONAL, + ... +} + +BandNR ::= SEQUENCE { + bandNR FreqBandIndicatorNR, + modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL, + mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL, + extendedCP ENUMERATED {supported} OPTIONAL, + multipleTCI ENUMERATED {supported} OPTIONAL, + bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL, + bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL, + bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL, + crossCarrierScheduling-SameSCS ENUMERATED {supported} OPTIONAL, + pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL, + pusch-256QAM ENUMERATED {supported} OPTIONAL, + ue-PowerClass ENUMERATED {pc1, pc2, pc3, pc4} OPTIONAL, + rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL, + channelBWs-DL-v1530 CHOICE { + fr1 SEQUENCE { + scs-15kHz BIT STRING (SIZE (10)) OPTIONAL, + scs-30kHz BIT STRING (SIZE (10)) OPTIONAL, + scs-60kHz BIT STRING (SIZE (10)) OPTIONAL + }, + fr2 SEQUENCE { + scs-60kHz BIT STRING (SIZE (3)) OPTIONAL, + scs-120kHz BIT STRING (SIZE (3)) OPTIONAL + } + } OPTIONAL, + channelBWs-UL-v1530 CHOICE { + fr1 SEQUENCE { + scs-15kHz BIT STRING (SIZE (10)) OPTIONAL, + scs-30kHz BIT STRING (SIZE (10)) OPTIONAL, + scs-60kHz BIT STRING (SIZE (10)) OPTIONAL + }, + fr2 SEQUENCE { + scs-60kHz BIT STRING (SIZE (3)) OPTIONAL, + scs-120kHz BIT STRING (SIZE (3)) OPTIONAL + } + } OPTIONAL, + ..., + [[ + maxUplinkDutyCycle ENUMERATED {n60, n70, n80, n90, n100} OPTIONAL + ]] + +} + +-- TAG-RF-PARAMETERS-STOP +-- TAG-RF-PARAMETERSMRDC-START + +RF-ParametersMRDC ::= SEQUENCE { + supportedBandCombinationList BandCombinationList OPTIONAL, + appliedFreqBandListFilter FreqBandList OPTIONAL, + ... +} + +-- TAG-RF-PARAMETERSMRDC-STOP +-- TAG-RLC-PARAMETERS-START + +RLC-Parameters ::= SEQUENCE { + am-WithShortSN ENUMERATED {supported} OPTIONAL, + um-WithShortSN ENUMERATED {supported} OPTIONAL, + um-WithLongSN ENUMERATED {supported} OPTIONAL, + ... +} + +-- TAG-RLC-PARAMETERS-STOP -- TAG-SUPPORTEDBANDWIDTH-START -SupportedBandwidth ::= CHOICE { - fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100}, - fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} +SupportedBandwidth ::= CHOICE { + fr1 ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100}, + fr2 ENUMERATED {mhz50, mhz100, mhz200, mhz400} } -- TAG-SUPPORTEDBANDWIDTH-STOP @@ -3504,616 +5628,408 @@ SupportedBandwidth ::= CHOICE { UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container UE-CapabilityRAT-Container ::= SEQUENCE { - rat-Type RAT-Type, - ue-CapabilityRAT-Container OCTET STRING + rat-Type RAT-Type, + ue-CapabilityRAT-Container OCTET STRING } -- TAG-UE-CAPABILITY-RAT-CONTAINER-LIST-STOP --- TAG-UE-MRDC-CAPABILITY-START - -UE-MRDC-Capability ::= SEQUENCE { - measParametersMRDC MeasParametersMRDC OPTIONAL, - rf-ParametersMRDC RF-ParametersMRDC, - generalParametersMRDC GeneralParametersMRDC-XDD-Diff OPTIONAL, - fdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, - tdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, - fr1-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, - fr2-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, - featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL -} -UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE { - measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL, - generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL -} +-- TAG-UE-CAPABILITYRAT-REQUESTLIST-START -UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE { - measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff -} +UE-CapabilityRAT-RequestList ::= SEQUENCE (SIZE (1..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Request -GeneralParametersMRDC-XDD-Diff ::= SEQUENCE { - splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL, - splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL, - srb3 ENUMERATED {supported} OPTIONAL, - ... +UE-CapabilityRAT-Request ::= SEQUENCE { + rat-Type RAT-Type, + capabilityRequestFilter OCTET STRING OPTIONAL, -- Need N + ... } --- TAG-UE-MRDC-CAPABILITY-STOP --- TAG-RF-PARAMETERSMRDC-START +-- TAG-UE-CAPABILITYRAT-REQUESTLIST-STOP +-- TAG-UE-CAPABILITYREQUESTFILTERNR-START -RF-ParametersMRDC ::= SEQUENCE { - supportedBandCombinationList BandCombinationList OPTIONAL, - appliedFreqBandListFilter FreqBandList OPTIONAL +UE-CapabilityRequestFilterNR ::= SEQUENCE { + frequencyBandList FreqBandList OPTIONAL, -- Need N + nonCriticalExtension SEQUENCE {} OPTIONAL } --- TAG-RF-PARAMETERSMRDC-STOP --- TAG-MEASPARAMETERSMRDC-START +-- TAG-UE-CAPABILITYREQUESTFILTERNR-STOP +-- TAG-UE-MRDC-CAPABILITY-START -MeasParametersMRDC ::= SEQUENCE { - measParametersMRDC-Common MeasParametersMRDC-Common OPTIONAL, - measParametersMRDC-XDD-Diff MeasParametersMRDC-XDD-Diff OPTIONAL, - measParametersMRDC-FRX-Diff MeasParametersMRDC-FRX-Diff OPTIONAL +UE-MRDC-Capability ::= SEQUENCE { + measAndMobParametersMRDC MeasAndMobParametersMRDC OPTIONAL, + phy-ParametersMRDC-v1530 Phy-ParametersMRDC OPTIONAL, + rf-ParametersMRDC RF-ParametersMRDC, + generalParametersMRDC GeneralParametersMRDC-XDD-Diff OPTIONAL, + fdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, + tdd-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddXDD-Mode OPTIONAL, + fr1-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, + fr2-Add-UE-MRDC-Capabilities UE-MRDC-CapabilityAddFRX-Mode OPTIONAL, + featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, + pdcp-ParametersMRDC-v1530 PDCP-ParametersMRDC OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL } -MeasParametersMRDC-Common ::= SEQUENCE { - independentGapConfig ENUMERATED {supported} OPTIONAL +UE-MRDC-CapabilityAddXDD-Mode ::= SEQUENCE { + measAndMobParametersMRDC-XDD-Diff MeasAndMobParametersMRDC-XDD-Diff OPTIONAL, + generalParametersMRDC-XDD-Diff GeneralParametersMRDC-XDD-Diff OPTIONAL } -MeasParametersMRDC-XDD-Diff ::= SEQUENCE { - sftd-MeasPSCell ENUMERATED {supported} OPTIONAL, - sftd-MeasNR-Cell ENUMERATED {supported} OPTIONAL +UE-MRDC-CapabilityAddFRX-Mode ::= SEQUENCE { + measAndMobParametersMRDC-FRX-Diff MeasAndMobParametersMRDC-FRX-Diff } -MeasParametersMRDC-FRX-Diff ::= SEQUENCE { - simultaneousRxDataSSB-DiffNumerology ENUMERATED {supported} OPTIONAL + +GeneralParametersMRDC-XDD-Diff ::= SEQUENCE { + splitSRB-WithOneUL-Path ENUMERATED {supported} OPTIONAL, + splitDRB-withUL-Both-MCG-SCG ENUMERATED {supported} OPTIONAL, + srb3 ENUMERATED {supported} OPTIONAL, + v2x-EUTRA-v1530 ENUMERATED {supported} OPTIONAL, + ... } --- TAG-MEASPARAMETERSMRDC-STOP +-- TAG-UE-MRDC-CAPABILITY-STOP -- TAG-UE-NR-CAPABILITY-START -UE-NR-Capability ::= SEQUENCE { - accessStratumRelease AccessStratumRelease, - pdcp-Parameters PDCP-Parameters, - rlc-Parameters RLC-Parameters OPTIONAL, - mac-Parameters MAC-Parameters OPTIONAL, - phy-Parameters Phy-Parameters, - rf-Parameters RF-Parameters, - measParameters MeasParameters OPTIONAL, - fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL, - tdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL, - fr1-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, - fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, - featureSets FeatureSets OPTIONAL, - featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, +UE-NR-Capability ::= SEQUENCE { + accessStratumRelease AccessStratumRelease, + pdcp-Parameters PDCP-Parameters, + rlc-Parameters RLC-Parameters OPTIONAL, + mac-Parameters MAC-Parameters OPTIONAL, + phy-Parameters Phy-Parameters, + rf-Parameters RF-Parameters, + measAndMobParameters MeasAndMobParameters OPTIONAL, + fdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL, + tdd-Add-UE-NR-Capabilities UE-NR-CapabilityAddXDD-Mode OPTIONAL, + fr1-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, + fr2-Add-UE-NR-Capabilities UE-NR-CapabilityAddFRX-Mode OPTIONAL, + featureSets FeatureSets OPTIONAL, + featureSetCombinations SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination OPTIONAL, + + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-NR-Capability-1530 OPTIONAL +} + +UE-NR-Capability-1530 ::= SEQUENCE { + fdd-Add-UE-NR-Capabilities-1530 UE-NR-CapabilityAddXDD-Mode-1530 OPTIONAL, + tdd-Add-UE-NR-Capabilities-1530 UE-NR-CapabilityAddXDD-Mode-1530 OPTIONAL, + voiceOverMCG-Bearer ENUMERATED {supported} OPTIONAL, + interRAT-Parameters InterRAT-Parameters OPTIONAL, + inactiveState ENUMERATED {supported} OPTIONAL, + delayBudgetReporting ENUMERATED {supported} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} - lateNonCriticalExtension OCTET STRING OPTIONAL, - nonCriticalExtension SEQUENCE {} OPTIONAL +UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE { + phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, + mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL, + measAndMobParametersXDD-Diff MeasAndMobParametersXDD-Diff OPTIONAL } -UE-NR-CapabilityAddXDD-Mode ::= SEQUENCE { - phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, - mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL, - measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL +UE-NR-CapabilityAddXDD-Mode-1530 ::= SEQUENCE { + eutra-ParametersXDD-Diff EUTRA-ParametersXDD-Diff } UE-NR-CapabilityAddFRX-Mode ::= SEQUENCE { - phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, - measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL + phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, + measAndMobParametersFRX-Diff MeasAndMobParametersFRX-Diff OPTIONAL } -- TAG-UE-NR-CAPABILITY-STOP --- TAG-PHY-PARAMETERS-START +-- TAG-EUTRA-ALLOWED-MEAS-BANDWIDTH-START -Phy-Parameters ::= SEQUENCE { - phy-ParametersCommon Phy-ParametersCommon OPTIONAL, - phy-ParametersXDD-Diff Phy-ParametersXDD-Diff OPTIONAL, - phy-ParametersFRX-Diff Phy-ParametersFRX-Diff OPTIONAL, - phy-ParametersFR1 Phy-ParametersFR1 OPTIONAL, - phy-ParametersFR2 Phy-ParametersFR2 OPTIONAL -} - -Phy-ParametersCommon ::= SEQUENCE { - csi-RS-CFRA-ForHO ENUMERATED {supported} OPTIONAL, - dynamicPRB-BundlingDL ENUMERATED {supported} OPTIONAL, - sp-CSI-ReportPUCCH ENUMERATED {supported} OPTIONAL, - sp-CSI-ReportPUSCH ENUMERATED {supported} OPTIONAL, - nzp-CSI-RS-IntefMgmt ENUMERATED {supported} OPTIONAL, - type2-SP-CSI-Feedback-LongPUCCH ENUMERATED {supported} OPTIONAL, - precoderGranularityCORESET ENUMERATED {supported} OPTIONAL, - dynamicHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, - semiStaticHARQ-ACK-Codebook ENUMERATED {supported} OPTIONAL, - spatialBundlingHARQ-ACK ENUMERATED {supported} OPTIONAL, - dynamicBetaOffsetInd-HARQ-ACK-CSI ENUMERATED {supported} OPTIONAL, - pucch-Repetition-F1-3-4 ENUMERATED {supported} OPTIONAL, - ra-Type0-PUSCH ENUMERATED {supported} OPTIONAL, - dynamicSwitchRA-Type0-1-PDSCH ENUMERATED {supported} OPTIONAL, - dynamicSwitchRA-Type0-1-PUSCH ENUMERATED {supported} OPTIONAL, - pdsch-MappingTypeA ENUMERATED {supported} OPTIONAL, - pdsch-MappingTypeB ENUMERATED {supported} OPTIONAL, - interleavingVRB-ToPRB-PDSCH ENUMERATED {supported} OPTIONAL, - interSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, - type1-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, - type2-PUSCH-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, - pusch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, - pdsch-RepetitionMultiSlots ENUMERATED {supported} OPTIONAL, - downlinkSPS ENUMERATED {supported} OPTIONAL, - configuredUL-GrantType1 ENUMERATED {supported} OPTIONAL, - configuredUL-GrantType2 ENUMERATED {supported} OPTIONAL, - pre-EmptIndication-DL ENUMERATED {supported} OPTIONAL, - cbg-TransIndication-DL ENUMERATED {supported} OPTIONAL, - cbg-TransIndication-UL ENUMERATED {supported} OPTIONAL, - cbg-FlushIndication-DL ENUMERATED {supported} OPTIONAL, - dynamicHARQ-ACK-CodeB-CBG-Retx-DL ENUMERATED {supported} OPTIONAL, - rateMatchingResrcSetSemi-Static ENUMERATED {supported} OPTIONAL, - rateMatchingResrcSetDynamic ENUMERATED {supported} OPTIONAL, - bwp-SwitchingDelay ENUMERATED {type1, type2} OPTIONAL, - ... -} - -Phy-ParametersXDD-Diff ::= SEQUENCE { - dynamicSFI ENUMERATED {supported} OPTIONAL, - twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, - twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, - twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, - ... -} - -Phy-ParametersFRX-Diff ::= SEQUENCE { - dynamicSFI ENUMERATED {supported} OPTIONAL, - oneFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, - twoFL-DMRS BIT STRING (SIZE (2)) OPTIONAL, - twoFL-DMRS-TwoAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, - oneFL-DMRS-ThreeAdditionalDMRS BIT STRING (SIZE (2)) OPTIONAL, - supportedDMRS-TypeDL ENUMERATED {type1, type2} OPTIONAL, - supportedDMRS-TypeUL ENUMERATED {type1, type2} OPTIONAL, - semiOpenLoopCSI ENUMERATED {supported} OPTIONAL, - csi-ReportWithoutPMI ENUMERATED {supported} OPTIONAL, - csi-ReportWithoutCQI ENUMERATED {supported} OPTIONAL, - onePortsPTRS BIT STRING (SIZE (2)) OPTIONAL, - twoPUCCH-F0-2-ConsecSymbols ENUMERATED {supported} OPTIONAL, - pucch-F2-WithFH ENUMERATED {supported} OPTIONAL, - pucch-F3-WithFH ENUMERATED {supported} OPTIONAL, - pucch-F4-WithFH ENUMERATED {supported} OPTIONAL, - freqHoppingPUCCH-F0-2 ENUMERATED {notSupported} OPTIONAL, - freqHoppingPUCCH-F1-3-4 ENUMERATED {notSupported} OPTIONAL, - mux-SR-HARQ-ACK-CSI-PUCCH ENUMERATED {supported} OPTIONAL, - uci-CodeBlockSegmentation ENUMERATED {supported} OPTIONAL, - onePUCCH-LongAndShortFormat ENUMERATED {supported} OPTIONAL, - twoPUCCH-AnyOthersInSlot ENUMERATED {supported} OPTIONAL, - intraSlotFreqHopping-PUSCH ENUMERATED {supported} OPTIONAL, - pusch-LBRM ENUMERATED {supported} OPTIONAL, - pdcch-BlindDetectionCA ENUMERATED {supported} OPTIONAL, - tpc-PUSCH-RNTI ENUMERATED {supported} OPTIONAL, - tpc-PUCCH-RNTI ENUMERATED {supported} OPTIONAL, - tpc-SRS-RNTI ENUMERATED {supported} OPTIONAL, - absoluteTPC-Command ENUMERATED {supported} OPTIONAL, - twoDifferentTPC-Loop-PUSCH ENUMERATED {supported} OPTIONAL, - twoDifferentTPC-Loop-PUCCH ENUMERATED {supported} OPTIONAL, - pusch-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, - pucch-F3-4-HalfPi-BPSK ENUMERATED {supported} OPTIONAL, - almostContiguousCP-OFDM-UL ENUMERATED {supported} OPTIONAL , - sp-CSI-RS ENUMERATED {supported} OPTIONAL, - sp-CSI-IM ENUMERATED {supported} OPTIONAL, - tdd-MultiDL-UL-SwitchPerSlot ENUMERATED {supported} OPTIONAL, - multipleCORESET ENUMERATED {supported} OPTIONAL, - ... -} - -Phy-ParametersFR1 ::= SEQUENCE { - pdcchMonitoringSingleOccasion ENUMERATED {supported} OPTIONAL, - scs-60kHz ENUMERATED {supported} OPTIONAL, - pdsch-256QAM-FR1 ENUMERATED {supported} OPTIONAL, - pdsch-RE-MappingFR1 ENUMERATED {n10, n20} OPTIONAL, - ... -} - -Phy-ParametersFR2 ::= SEQUENCE { - calibrationGapPA ENUMERATED {supported} OPTIONAL, - pdsch-RE-MappingFR2 ENUMERATED {n6, n20} OPTIONAL, - ... -} +EUTRA-AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100} --- TAG-PHY-PARAMETERS-STOP --- TAG-RF-PARAMETERS-START +-- TAG-EUTRA-ALLOWED-MEAS-BANDWIDTH-STOP +-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START -RF-Parameters ::= SEQUENCE { - supportedBandListNR SEQUENCE (SIZE (1..maxBands)) OF BandNR, - supportedBandCombinationList BandCombinationList OPTIONAL, - appliedFreqBandListFilter FreqBandList OPTIONAL -} - -BandNR ::= SEQUENCE { - bandNR FreqBandIndicatorNR, - modifiedMPR-Behaviour BIT STRING (SIZE (8)) OPTIONAL, - mimo-ParametersPerBand MIMO-ParametersPerBand OPTIONAL, - extendedCP ENUMERATED {supported} OPTIONAL, - multipleTCI ENUMERATED {supported} OPTIONAL, - bwp-WithoutRestriction ENUMERATED {supported} OPTIONAL, - bwp-SameNumerology ENUMERATED {upto2, upto4} OPTIONAL, - bwp-DiffNumerology ENUMERATED {upto4} OPTIONAL, - crossCarrierSchedulingDL-SameSCS ENUMERATED {supported} OPTIONAL, - crossCarrierSchedulingUL-SameSCS ENUMERATED {supported} OPTIONAL, - pdsch-256QAM-FR2 ENUMERATED {supported} OPTIONAL, - pusch-256QAM ENUMERATED {supported} OPTIONAL, - ue-PowerClass ENUMERATED {pc2, pc3} OPTIONAL, - rateMatchingLTE-CRS ENUMERATED {supported} OPTIONAL, - ... +EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig + +EUTRA-MBSFN-SubframeConfig ::= SEQUENCE { + radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32}, + radioframeAllocationOffset INTEGER (0..7), + subframeAllocation1 CHOICE { + oneFrame BIT STRING (SIZE(6)), + fourFrames BIT STRING (SIZE(24)) + }, + subframeAllocation2 CHOICE { + oneFrame BIT STRING (SIZE(2)), + fourFrames BIT STRING (SIZE(8)) + } OPTIONAL, -- Need R + ... } --- TAG-RF-PARAMETERS-STOP --- TAG-MIMO-PARAMETERSPERBAND-START +-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP +-- TAG-EUTRA-MULTI-BAND-INFO-LIST-START + +EUTRA-MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF EUTRA-MultiBandInfo -MIMO-ParametersPerBand ::= SEQUENCE { - tci-StatePDSCH SEQUENCE { - maxNumberConfiguredTCIstatesPerCC ENUMERATED {n4, n8, n16, n32, n64} OPTIONAL, - maxNumberActiveTCI-PerBWP ENUMERATED {n1, n2, n4, n8} OPTIONAL - } OPTIONAL, - additionalActiveTCI-StatePDCCH ENUMERATED {supported} OPTIONAL, - pusch-TransCoherence ENUMERATED {nonCoherent, partialNonCoherent, fullCoherent} OPTIONAL, - beamCorrespondence ENUMERATED {supported} OPTIONAL, - periodicBeamReport ENUMERATED {supported} OPTIONAL, - aperiodicBeamReport ENUMERATED {supported} OPTIONAL, - sp-BeamReportPUCCH ENUMERATED {supported} OPTIONAL, - sp-BeamReportPUSCH ENUMERATED {supported} OPTIONAL, - beamManagementSSB-CSI-RS BeamManagementSSB-CSI-RS OPTIONAL, - maxNumberRxBeam INTEGER (2..8) OPTIONAL, - maxNumberRxTxBeamSwitchDL SEQUENCE { - scs-15kHz ENUMERATED {n4, n7, n14} OPTIONAL, - scs-30kHz ENUMERATED {n4, n7, n14} OPTIONAL, - scs-60kHz ENUMERATED {n4, n7, n14} OPTIONAL, - scs-120kHz ENUMERATED {n4, n7, n14} OPTIONAL, - scs-240kHz ENUMERATED {n4, n7, n14} OPTIONAL - } OPTIONAL, - maxNumberNonGroupBeamReporting ENUMERATED {n1, n2, n4} OPTIONAL, - groupBeamReporting ENUMERATED {supported} OPTIONAL, - uplinkBeamManagement SEQUENCE { - maxNumberSRS-ResourcePerSet ENUMERATED {n2, n4, n8, n16, n32}, - maxNumberSRS-ResourceSet INTEGER (1..8) - } OPTIONAL, - maxNumberCSI-RS-BFR INTEGER (1..64) OPTIONAL, - maxNumberSSB-BFR INTEGER (1..64) OPTIONAL, - maxNumberCSI-RS-SSB-BFR INTEGER (1..256) OPTIONAL, - twoPortsPTRS-DL ENUMERATED {supported} OPTIONAL, - twoPortsPTRS-UL ENUMERATED {supported} OPTIONAL, - supportedSRS-Resources SRS-Resources OPTIONAL, - srs-TxSwitch SRS-TxSwitch OPTIONAL, - maxNumberSimultaneousSRS-PerCC INTEGER (1..4) OPTIONAL, - beamReportTiming SEQUENCE { - scs-15kHz ENUMERATED {sym2, sym4, sym8} OPTIONAL, - scs-30kHz ENUMERATED {sym4, sym8, sym14} OPTIONAL, - scs-60kHz ENUMERATED {sym8, sym14, sym28} OPTIONAL, - scs-120kHz ENUMERATED {sym14, sym28, sym56} OPTIONAL - } OPTIONAL, - ptrs-DensityRecommendationSetDL SEQUENCE { - scs-15kHz PTRS-DensityRecommendationDL OPTIONAL, - scs-30kHz PTRS-DensityRecommendationDL OPTIONAL, - scs-60kHz PTRS-DensityRecommendationDL OPTIONAL, - scs-120kHz PTRS-DensityRecommendationDL OPTIONAL - } OPTIONAL, - ptrs-DensityRecommendationSetUL SEQUENCE { - scs-15kHz PTRS-DensityRecommendationUL OPTIONAL, - scs-30kHz PTRS-DensityRecommendationUL OPTIONAL, - scs-60kHz PTRS-DensityRecommendationUL OPTIONAL, - scs-120kHz PTRS-DensityRecommendationUL OPTIONAL - } OPTIONAL, - csi-RS-ForTracking CSI-RS-ForTracking OPTIONAL, - aperiodicTRS ENUMERATED {supported} OPTIONAL, - ... -} - -BeamManagementSSB-CSI-RS ::= SEQUENCE { - maxNumberSSB-CSI-RS-ResourceOneTx ENUMERATED {n8, n16, n32, n64}, - maxNumberSSB-CSI-RS-ResourceTwoTx ENUMERATED {n0, n4, n8, n16, n32, n64}, - supportedCSI-RS-Density ENUMERATED {one, three, oneAndThree} -} - -CSI-RS-ForTracking ::= SEQUENCE { - burstLength INTEGER (1..2), - maxSimultaneousResourceSetsPerCC INTEGER (1..8), - maxConfiguredResourceSetsPerCC INTEGER (1..64), - maxConfiguredResourceSetsAllCC INTEGER (1..128) -} - -PTRS-DensityRecommendationDL ::= SEQUENCE { - frequencyDensity1 INTEGER (1..276), - frequencyDensity2 INTEGER (1..276), - timeDensity1 INTEGER (0..29), - timeDensity2 INTEGER (0..29), - timeDensity3 INTEGER (0..29) -} - -PTRS-DensityRecommendationUL ::= SEQUENCE { - frequencyDensity1 INTEGER (1..276), - frequencyDensity2 INTEGER (1..276), - timeDensity1 INTEGER (0..29), - timeDensity2 INTEGER (0..29), - timeDensity3 INTEGER (0..29), - sampleDensity1 INTEGER (1..276), - sampleDensity2 INTEGER (1..276), - sampleDensity3 INTEGER (1..276), - sampleDensity4 INTEGER (1..276), - sampleDensity5 INTEGER (1..276) -} - -SRS-Resources ::= SEQUENCE { - maxNumberAperiodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, - maxNumberAperiodicSRS-PerBWP-PerSlot INTEGER (1..6), - maxNumberPeriodicSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, - maxNumberPeriodicSRS-PerBWP-PerSlot INTEGER (1..6), - maxNumberSemiPersitentSRS-PerBWP ENUMERATED {n1, n2, n4, n8, n16}, - maxNumberSP-SRS-PerBWP-PerSlot INTEGER (1..6), - maxNumberSRS-Ports-PerResource ENUMERATED {n1, n2, n4} -} - -SRS-TxSwitch ::= SEQUENCE { - supportedSRS-TxPortSwitch ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal}, - txSwitchImpactToRx ENUMERATED {true} OPTIONAL +EUTRA-MultiBandInfo ::= SEQUENCE { + eutra-FreqBandIndicator FreqBandIndicatorEUTRA, + eutra-NS-PmaxList EUTRA-NS-PmaxList OPTIONAL -- Need R } --- TAG-PDCP-PARAMETERS-START +-- TAG-EUTRA-MULTI-BAND-INFO-LIST-STOP +-- TAG-EUTRA-NS-PMAX-LIST-START + +EUTRA-NS-PmaxList ::= SEQUENCE (SIZE (1..maxEUTRA-NS-Pmax)) OF EUTRA-NS-PmaxValue -PDCP-Parameters ::= SEQUENCE { - supportedROHC-Profiles SEQUENCE { - profile0x0000 BOOLEAN, - 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}, - uplinkOnlyROHC-Profiles ENUMERATED {supported} OPTIONAL, - continueROHC-Context ENUMERATED {supported} OPTIONAL, - outOfOrderDelivery ENUMERATED {supported} OPTIONAL, - shortSN ENUMERATED {supported} OPTIONAL, - ... +EUTRA-NS-PmaxValue ::= SEQUENCE { + additionalPmax INTEGER (-30..33) OPTIONAL, -- Need R + additionalSpectrumEmission INTEGER (1..288) OPTIONAL -- Need R } --- TAG-PDCP-PARAMETERS-STOP --- TAG-RLC-PARAMETERS-START +-- TAG-EUTRA-NS-PMAX-LIST-STOP +-- TAG-EUTRA-PHYS-CELL-ID-START -RLC-Parameters ::= SEQUENCE { - am-WithShortSN ENUMERATED {supported} OPTIONAL, - um-WithShortSN ENUMERATED {supported} OPTIONAL, - um-WIthLongSN ENUMERATED {supported} OPTIONAL, - ... -} +EUTRA-PhysCellId ::= INTEGER (0..503) --- TAG-RLC-PARAMETERS-STOP --- TAG-MAC-PARAMETERS-START +-- TAG-EUTRA-PHYS-CELL-ID-STOP +-- TAG-EUTRA-PHYS-CELL-ID-RANGE-START -MAC-Parameters ::= SEQUENCE { - mac-ParametersCommon MAC-ParametersCommon OPTIONAL, - mac-ParametersXDD-Diff MAC-ParametersXDD-Diff OPTIONAL +EUTRA-PhysCellIdRange ::= SEQUENCE { + start EUTRA-PhysCellId, + range ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84, n96, + n128, n168, n252, n504, spare2, spare1} OPTIONAL -- Need N } -MAC-ParametersCommon ::= SEQUENCE { - lcp-Restriction ENUMERATED {supported} OPTIONAL, - pucch-SpatialRelInfoMAC-CE ENUMERATED {supported} OPTIONAL, - ... -} +-- TAG-EUTRA-PHYS-CELL-ID-RANGE-STOP +-- TAG-EUTRA-PRESENCE-ANTENNA-PORT1-START -MAC-ParametersXDD-Diff ::= SEQUENCE { - skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL, - logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL, - longDRX-Cycle ENUMERATED {supported} OPTIONAL, - shortDRX-Cycle ENUMERATED {supported} OPTIONAL, - multipleSR-Configurations ENUMERATED {supported} OPTIONAL, - multipleConfiguredGrants ENUMERATED {supported} OPTIONAL, - ... -} +EUTRA-PresenceAntennaPort1 ::= BOOLEAN --- TAG-MAC-PARAMETERS-STOP --- TAG-MEASPARAMETERS-START +-- TAG-EUTRA-PRESENCE-ANTENNA-PORT1-STOP -MeasParameters ::= SEQUENCE { - measParametersCommon MeasParametersCommon OPTIONAL, - measParametersXDD-Diff MeasParametersXDD-Diff OPTIONAL, - measParametersFRX-Diff MeasParametersFRX-Diff OPTIONAL -} +EUTRA-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} + +-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-START -MeasParametersCommon ::= SEQUENCE { - supportedGapPattern BIT STRING (SIZE (22)) OPTIONAL, - ... +MultiFrequencyBandListNR-SIB ::= SEQUENCE (SIZE (1.. maxNrofMultiBands)) OF NR-MultiBandInfo + +NR-MultiBandInfo ::= SEQUENCE { + freqBandIndicatorNR FreqBandIndicatorNR OPTIONAL, -- Cond OptULNotSIB2 + nr-NS-PmaxList NR-NS-PmaxList OPTIONAL -- Need S } -MeasParametersXDD-Diff ::= SEQUENCE { - intraAndInterF-MeasAndReport ENUMERATED {supported} OPTIONAL, - eventA-MeasAndReport ENUMERATED {supported} OPTIONAL, - ... +-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-STOP +-- TAG-NR-NS-PMAXLIST-START + +NR-NS-PmaxList ::= SEQUENCE (SIZE (1..maxNR-NS-Pmax)) OF NR-NS-PmaxValue + +NR-NS-PmaxValue ::= SEQUENCE { + additionalPmax P-Max OPTIONAL, -- Need N + additionalSpectrumEmission AdditionalSpectrumEmission } -MeasParametersFRX-Diff ::= SEQUENCE { - ss-SINR-Meas ENUMERATED {supported} OPTIONAL, - csi-RSRP-AndRSRQ-MeasWithSSB ENUMERATED {supported} OPTIONAL, - csi-RSRP-AndRSRQ-MeasWithoutSSB ENUMERATED {supported} OPTIONAL, - csi-SINR-Meas ENUMERATED {supported} OPTIONAL, - csi-RS-RLM ENUMERATED {supported} OPTIONAL, - ... +-- TAG-NR-NS-PMAXLIST-STOP +-- TAG-OTHERCONFIG-START + +OtherConfig ::= SEQUENCE { + delayBudgetReportingConfig CHOICE{ + release NULL, + setup SEQUENCE{ + delayBudgetReportingProhibitTimer ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30} + } + } OPTIONAL -- Need N } --- TAG-UE-NR-CAPABILITY-STOP +-- TAG-OTHERCONFIG-STOP -- TAG-RRC-TRANSACTIONIDENTIFIER-START -RRC-TransactionIdentifier ::= INTEGER (0..3) +RRC-TransactionIdentifier ::= INTEGER (0..3) -- TAG-RRC-TRANSACTIONIDENTIFIER-STOP -- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START -maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations - -maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCell + SCells) per cell group -maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) per cell group minus 1 -maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16 -maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group -maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object -maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell - -- measurement -maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell - -- measurement -maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations - -maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group - -maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID -maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID -maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups -maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1 - -maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell -maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13) -maxNrofSlots INTEGER ::= 320 -- Maximum number of slots in a 10 ms period -maxNrofSlots-1 INTEGER ::= 319 -- Maximum number of slots in a 10 ms period minus 1 - -maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs -maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs minus 1 -maxNrofPhysicalResourceBlocksPlus1 INTEGER ::= 276 -- Maximum number of PRBs plus 1 -maxNrofControlResourceSets INTEGER ::= 12 -- Max number of CoReSets configurable on a serving cell -maxNrofControlResourceSets-1 INTEGER ::= 11 -- Max number of CoReSets configurable on a serving cell minus 1 -maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set -maxNrofSearchSpaces INTEGER ::= 40 -- Max number of Search Spaces -maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1 -maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI -maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1 -maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI -maxINT-DCI-PayloadSize-1 INTEGER ::= 125 -- Max number payload of a DCI scrambled with INT-RNTI minus 1 -maxNrofRateMatchPatterns INTEGER ::= 4 -- Max number of rate matching patterns that may be configured -maxNrofRateMatchPatterns-1 INTEGER ::= 3 -- Max number of rate matching patterns that may be configured minus 1 -maxNrofRateMatchPatternsPerGroup INTEGER ::= 8 -- Max number of rate matching patterns that may be configured in one group - -maxNrofCSI-ReportConfigurations INTEGER ::= 48 -- Maximum number of report configurations -maxNrofCSI-ReportConfigurations-1 INTEGER ::= 47 -- Maximum number of report configurations minus 1 - -maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations -maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1 - -maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16 -maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting -maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting - -maxNrofNZP-CSI-RS-Resources INTEGER ::= 192 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources -maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 191 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1 -maxNrofNZP-CSI-RS-ResourcesPerSet INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per resource set -maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per cell -maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-RS resources per cell minus 1 -maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of resource sets per resource configuration -maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128 -- Maximum number of resources per resource configuration - -maxNrofZP-CSI-RS-Resources INTEGER ::= 32 -- Maximum number of Zero-Power (NZP) CSI-RS resources -maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 31 -- Maximum number of Zero-Power (NZP) CSI-RS resources minus 1 -maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 15 -maxNrofZP-CSI-RS-ResourcesPerSet INTEGER ::= 16 -maxNrofZP-CSI-RS-ResourceSets INTEGER ::= 16 - -maxNrofCSI-IM-Resources INTEGER ::= 32 -- Maximum number of CSI-IM resources. See CSI-IM-ResourceMax in 38.214. -maxNrofCSI-IM-Resources-1 INTEGER ::= 31 -- Maximum number of CSI-IM resources minus 1. See CSI-IM-ResourceMax in 38.214. -maxNrofCSI-IM-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-IM resources per set. See CSI-IM-ResourcePerSetMax in 38.214 -maxNrofCSI-IM-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-IM resources per cell -maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-IM resources per cell minus 1 -maxNrofCSI-IM-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of CSI IM resource sets per resource configuration - -maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64 -- Maximum number of SSB resources in a resource set -maxNrofCSI-SSB-ResourceSets INTEGER ::= 64 -- Maximum number of CSI SSB resource sets per cell -maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 -- Maximum number of CSI SSB resource sets per cell minus 1 -maxNrofCSI-SSB-ResourceSetsPerConfig INTEGER ::= 1 -- Maximum number of CSI SSB resource sets per resource configuration - -maxNrofFailureDetectionResources INTEGER ::= 10 -- Maximum number of failure detection resources -maxNrofFailureDetectionResources-1 INTEGER ::= 9 -- Maximum number of failure detection resources minus 1 - -maxNrofObjectId INTEGER ::= 64 -- Maximum number of measurement objects -maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges - -maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of CSI-RS resources for an RRM measurement object -maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 95 -- Maximum number of CSI-RS resources for an RRM measurement object minus 1 -maxNrofMeasId INTEGER ::= 64 -- Maximum number of configured measurements -maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations -maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of FFS - -maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP. -maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1. -maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources in an SRS resource set. -maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources in an SRS resource set minus 1. -maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point. -maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC) -maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands - - -maxNrofSlotFormatCombinationsPerCell INTEGER ::= 16 -- Maximum number of -maxNrofSlotFormatCombinationsPerSet INTEGER ::= 512 -- Maximum number of Slot Format Combinations in a SF-Set. -maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 511 -- Maximum number of Slot Format Combinations in a SF-Set minus 1. -maxNrofPUCCH-Resources INTEGER ::= 128 -maxNrofPUCCH-Resources-1 INTEGER ::= 127 -maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets -maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1. -maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet -maxNrofPUCCH-ResourcesPerSet-1 INTEGER ::= 31 -- Maximum number of PUCCH Resources per PUCCH-ResourceSet minus 1. -maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set -maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control. -maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1. - -maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, section 7.1) -maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, section 7.1) -maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control. -maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1. - -maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability. -maxBandsMRDC INTEGER ::= 1280 -maxBandsEUTRA INTEGER ::= 256 -maxCellReport INTEGER ::= 8 -maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModLIst). -maxFreq INTEGER ::= 8 -- Max number of non-serving frequencies in MeasResultSCG-Failure. -maxNrofCSI-RS INTEGER ::= 64 -maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR that in BFR config. -maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximun number of PCIs per SMTC. -maxNrofQFIs INTEGER ::= 64 -maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH -maxNrofSR-Resources INTEGER ::= 8 -- Maximum number of SR resources per BWP in a cell. -maxNrofSlotFormatsPerCombination INTEGER ::= 256 -maxNrofSpatialRelationInfos INTEGER ::= 8 -maxNrofSRS-ResourcesPerSet INTEGER ::= 16 -maxNrofIndexesToReport INTEGER ::= 32 -maxNrofSSBs INTEGER ::= 64 -- Maximum number of SSB resources in a resource set. -maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1. - -maxNrofTCI-StatesPDCCH INTEGER ::= 64 -maxNrofTCI-States INTEGER ::= 64 -- Maximum number of TCI states. -maxNrofTCI-States-1 INTEGER ::= 63 -- Maximum number of TCI states minus 1. -maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations. -maxQFI INTEGER ::= 63 -maxRA-CSIRS-Resources INTEGER ::= 96 -maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS -maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system -maxRA-SSB-Resources INTEGER ::= 64 -maxSCSs INTEGER ::= 5 -maxSecondaryCellGroups INTEGER ::= 3 -maxNrofServingCellsEUTRA INTEGER ::= 32 -maxMBSFN-Allocations INTEGER ::= 8 -maxNrofMultiBands INTEGER ::= 8 -maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting -maxReportConfigId INTEGER ::= 64 -maxNrofCodebooks INTEGER ::= 16 -- Maximum number of codebooks suppoted by the UE - -maxNrofSRI-PUSCH-Mappings INTEGER ::= 16 -maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15 - -maxDownlinkFeatureSets INTEGER ::= 1024 -- (for NR DL) Total number of FeatureSets (size of the pool) -maxUplinkFeatureSets INTEGER ::= 1024 -- (for NR UL) Total number of FeatureSets (size of the pool) -maxEUTRA-DL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) -maxEUTRA-UL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) -maxFeatureSetsPerBand INTEGER ::= 128 -- (for NR) The number of feature sets associated with one band. -maxPerCC-FeatureSets INTEGER ::= 1024 -- (for NR) Total number of CC-specific FeatureSets (size of the pool) -maxFeatureSetCombinations INTEGER ::= 1024 -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool) - - --- Editor's Note: Targeted for completion in Sept 2018. Not used in EN-DC drop. -CellIdentity ::= ENUMERATED {ffsTypeAndValue} -ShortMAC-I ::= ENUMERATED {ffsTypeAndValue} +maxBandComb INTEGER ::= 65536 -- Maximum number of DL band combinations +maxCellBlack INTEGER ::= 16 -- Maximum number of NR blacklisted cell ranges in SIB3, SIB4 +maxCellInter INTEGER ::= 16 -- Maximum number of inter-Freq cells listed in SIB4 +maxCellIntra INTEGER ::= 16 -- Maximum number of intra-Freq cells listed in SIB3 +maxCellMeasEUTRA INTEGER ::= 32 -- Maximum number of cells in EUTRAN +maxEARFCN INTEGER ::= 262143 -- Maximum value of EUTRA carrier frequency +maxEUTRA-CellBlack INTEGER ::= 16 -- Maximum number of EUTRA-blacklisted physical cell identity ranges in SIB5 +maxEUTRA-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band +maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands that a cell belongs to +maxNARFCN INTEGER ::= 3279165 -- Maximum value of NR carrier frequency +maxNR-NS-Pmax INTEGER ::= 8 -- Maximum number of NS and P-Max values per band +maxNrofServingCells INTEGER ::= 32 -- Max number of serving cells (SpCell + SCells) per cell group +maxNrofServingCells-1 INTEGER ::= 31 -- Max number of serving cells (SpCell + SCells) per cell group minus 1 +maxNrofAggregatedCellsPerCellGroup INTEGER ::= 16 +maxNrofSCells INTEGER ::= 31 -- Max number of secondary serving cells per cell group +maxNrofCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the cell lists in a measurement object +maxNrofSS-BlocksToAverage INTEGER ::= 16 -- Max number for the (max) number of SS blocks to average to determine cell + -- measurement +maxNrofCSI-RS-ResourcesToAverage INTEGER ::= 16 -- Max number for the (max) number of CSI-RS to average to determine cell + -- measurement +maxNrofDL-Allocations INTEGER ::= 16 -- Maximum number of PDSCH time domain resource allocations + +maxNrofSR-ConfigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group + +maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID +maxLC-ID INTEGER ::= 32 -- Maximum value of Logical Channel ID +maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups +maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1 + +maxNrofBWPs INTEGER ::= 4 -- Maximum number of BWPs per serving cell +maxNrofCombIDC INTEGER ::= 128 -- Maximum number of reported MR-DC combinations for IDC +maxNrofSymbols-1 INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13) +maxNrofSlots INTEGER ::= 320 -- Maximum number of slots in a 10 ms period +maxNrofSlots-1 INTEGER ::= 319 -- Maximum number of slots in a 10 ms period minus 1 + +maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs +maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs minus 1 +maxNrofPhysicalResourceBlocksPlus1 INTEGER ::= 276 -- Maximum number of PRBs plus 1 +maxNrofControlResourceSets-1 INTEGER ::= 11 -- Max number of CoReSets configurable on a serving cell minus 1 +maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set +maxNrofSearchSpaces-1 INTEGER ::= 39 -- Max number of Search Spaces minus 1 +maxSFI-DCI-PayloadSize INTEGER ::= 128 -- Max number payload of a DCI scrambled with SFI-RNTI +maxSFI-DCI-PayloadSize-1 INTEGER ::= 127 -- Max number payload of a DCI scrambled with SFI-RNTI minus 1 +maxINT-DCI-PayloadSize INTEGER ::= 126 -- Max number payload of a DCI scrambled with INT-RNTI +maxINT-DCI-PayloadSize-1 INTEGER ::= 125 -- Max number payload of a DCI scrambled with INT-RNTI minus 1 +maxNrofRateMatchPatterns INTEGER ::= 4 -- Max number of rate matching patterns that may be configured +maxNrofRateMatchPatterns-1 INTEGER ::= 3 -- Max number of rate matching patterns that may be configured minus 1 +maxNrofRateMatchPatternsPerGroup INTEGER ::= 8 -- Max number of rate matching patterns that may be configured in one group + +maxNrofCSI-ReportConfigurations INTEGER ::= 48 -- Maximum number of report configurations +maxNrofCSI-ReportConfigurations-1 INTEGER ::= 47 -- Maximum number of report configurations minus 1 + +maxNrofCSI-ResourceConfigurations INTEGER ::= 112 -- Maximum number of resource configurations +maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 111 -- Maximum number of resource configurations minus 1 + +maxNrofAP-CSI-RS-ResourcesPerSet INTEGER ::= 16 +maxNrOfCSI-AperiodicTriggers INTEGER ::= 128 -- Maximum number of triggers for aperiodic CSI reporting +maxNrofReportConfigPerAperiodicTrigger INTEGER ::= 16 -- Maximum number of report configurations per trigger state for aperiodic reporting + +maxNrofNZP-CSI-RS-Resources INTEGER ::= 192 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources +maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 191 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1 +maxNrofNZP-CSI-RS-ResourcesPerSet INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per resource set +maxNrofNZP-CSI-RS-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-RS resources per cell +maxNrofNZP-CSI-RS-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-RS resources per cell minus 1 +maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of resource sets per resource configuration +maxNrofNZP-CSI-RS-ResourcesPerConfig INTEGER ::= 128 -- Maximum number of resources per resource configuration + +maxNrofZP-CSI-RS-Resources INTEGER ::= 32 -- Maximum number of Zero-Power (NZP) CSI-RS resources +maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 31 -- Maximum number of Zero-Power (NZP) CSI-RS resources minus 1 +maxNrofZP-CSI-RS-ResourceSets-1 INTEGER ::= 15 +maxNrofZP-CSI-RS-ResourcesPerSet INTEGER ::= 16 +maxNrofZP-CSI-RS-ResourceSets INTEGER ::= 16 + +maxNrofCSI-IM-Resources INTEGER ::= 32 -- Maximum number of CSI-IM resources. See CSI-IM-ResourceMax in 38.214. +maxNrofCSI-IM-Resources-1 INTEGER ::= 31 -- Maximum number of CSI-IM resources minus 1. See CSI-IM-ResourceMax in 38.214. +maxNrofCSI-IM-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-IM resources per set. See CSI-IM-ResourcePerSetMax in 38.214 +maxNrofCSI-IM-ResourceSets INTEGER ::= 64 -- Maximum number of NZP CSI-IM resources per cell +maxNrofCSI-IM-ResourceSets-1 INTEGER ::= 63 -- Maximum number of NZP CSI-IM resources per cell minus 1 +maxNrofCSI-IM-ResourceSetsPerConfig INTEGER ::= 16 -- Maximum number of CSI IM resource sets per resource configuration + +maxNrofCSI-SSB-ResourcePerSet INTEGER ::= 64 -- Maximum number of SSB resources in a resource set +maxNrofCSI-SSB-ResourceSets INTEGER ::= 64 -- Maximum number of CSI SSB resource sets per cell +maxNrofCSI-SSB-ResourceSets-1 INTEGER ::= 63 -- Maximum number of CSI SSB resource sets per cell minus 1 +maxNrofCSI-SSB-ResourceSetsPerConfig INTEGER ::= 1 -- Maximum number of CSI SSB resource sets per resource configuration + +maxNrofFailureDetectionResources INTEGER ::= 10 -- Maximum number of failure detection resources +maxNrofFailureDetectionResources-1 INTEGER ::= 9 -- Maximum number of failure detection resources minus 1 + +maxNrofObjectId INTEGER ::= 64 -- Maximum number of measurement objects +maxNrofPageRec INTEGER ::= 32 -- Maximum number of page records +maxNrofPCI-Ranges INTEGER ::= 8 -- Maximum number of PCI ranges +maxPLMN INTEGER ::= 12 -- Maximum number of PLMNs broadcast and reported by UE at establisghment +maxNrofCSI-RS-ResourcesRRM INTEGER ::= 96 -- Maximum number of CSI-RS resources for an RRM measurement object +maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 95 -- Maximum number of CSI-RS resources for an RRM measurement object minus 1 +maxNrofMeasId INTEGER ::= 64 -- Maximum number of configured measurements +maxNrofQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations +maxNrofCSI-RS-CellsRRM INTEGER ::= 96 -- Maximum number of FFS + +maxNrofSRS-ResourceSets INTEGER ::= 16 -- Maximum number of SRS resource sets in a BWP. +maxNrofSRS-ResourceSets-1 INTEGER ::= 15 -- Maximum number of SRS resource sets in a BWP minus 1. +maxNrofSRS-Resources INTEGER ::= 64 -- Maximum number of SRS resources. +maxNrofSRS-Resources-1 INTEGER ::= 63 -- Maximum number of SRS resources in an SRS resource set minus 1. +maxNrofSRS-ResourcesPerSet INTEGER ::= 16 -- Maximum number of SRS resources in an SRS resource set +maxNrofSRS-TriggerStates-1 INTEGER ::= 3 -- Maximum number of SRS trigger states minus 1, i.e., the largest code point. +maxNrofSRS-TriggerStates-2 INTEGER ::= 2 -- Maximum number of SRS trigger states minus 2. +maxRAT-CapabilityContainers INTEGER ::= 8 -- Maximum number of interworking RAT containers (incl NR and MRDC) +maxSimultaneousBands INTEGER ::= 32 -- Maximum number of simultaneously aggregated bands + + +maxNrofSlotFormatCombinationsPerSet INTEGER ::= 512 -- Maximum number of Slot Format Combinations in a SF-Set. +maxNrofSlotFormatCombinationsPerSet-1 INTEGER ::= 511 -- Maximum number of Slot Format Combinations in a SF-Set minus 1. +maxNrofPUCCH-Resources INTEGER ::= 128 +maxNrofPUCCH-Resources-1 INTEGER ::= 127 +maxNrofPUCCH-ResourceSets INTEGER ::= 4 -- Maximum number of PUCCH Resource Sets +maxNrofPUCCH-ResourceSets-1 INTEGER ::= 3 -- Maximum number of PUCCH Resource Sets minus 1. +maxNrofPUCCH-ResourcesPerSet INTEGER ::= 32 -- Maximum number of PUCCH Resources per PUCCH-Resour©ceSet +maxNrofPUCCH-P0-PerSet INTEGER ::= 8 -- Maximum number of P0-pucch present in a p0-pucch set +maxNrofPUCCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUCCH power control. +maxNrofPUCCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUCCH power control minus 1. + +maxNrofP0-PUSCH-AlphaSets INTEGER ::= 30 -- Maximum number of P0-pusch-alpha-sets (see 38,213, section 7.1) +maxNrofP0-PUSCH-AlphaSets-1 INTEGER ::= 29 -- Maximum number of P0-pusch-alpha-sets minus 1 (see 38,213, section 7.1) +maxNrofPUSCH-PathlossReferenceRSs INTEGER ::= 4 -- Maximum number of RSs used as pathloss reference for PUSCH power control. +maxNrofPUSCH-PathlossReferenceRSs-1 INTEGER ::= 3 -- Maximum number of RSs used as pathloss reference for PUSCH power control minus 1. +maxNrofNAICS-Entries INTEGER ::= 8 -- Maximum number of supported NAICS capability set +maxBands INTEGER ::= 1024 -- Maximum number of supported bands in UE capability. +maxBandsMRDC INTEGER ::= 1280 +maxBandsEUTRA INTEGER ::= 256 +maxCellReport INTEGER ::= 8 +maxDRB INTEGER ::= 29 -- Maximum number of DRBs (that can be added in DRB-ToAddModLIst). +maxFreq INTEGER ::= 8 -- Max number of frequencies. +maxFreqIDC-MRDC INTEGER ::= 32 -- Maximum number of candidate NR frequencies for MR-DC IDC indication +maxNrofCSI-RS INTEGER ::= 64 +maxNrofCandidateBeams INTEGER ::= 16 -- Max number of PRACH-ResourceDedicatedBFR that in BFR config. +maxNrofPCIsPerSMTC INTEGER ::= 64 -- Maximun number of PCIs per SMTC. +maxNrofQFIs INTEGER ::= 64 +maxNrOfSemiPersistentPUSCH-Triggers INTEGER ::= 64 -- Maximum number of triggers for semi persistent reporting on PUSCH +maxNrofSR-Resources INTEGER ::= 8 -- Maximum number of SR resources per BWP in a cell. +maxNrofSlotFormatsPerCombination INTEGER ::= 256 +maxNrofSpatialRelationInfos INTEGER ::= 8 +maxNrofIndexesToReport INTEGER ::= 32 +maxNrofIndexesToReport2 INTEGER ::= 64 +maxNrofSSBs INTEGER ::= 64 -- Maximum number of SSB resources in a resource set. +maxNrofSSBs-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1. +maxNrofS-NSSAI INTEGER ::= 8 -- Maximum number of S-NSSAI. +maxNrofTCI-StatesPDCCH INTEGER ::= 64 +maxNrofTCI-States INTEGER ::= 128 -- Maximum number of TCI states. +maxNrofTCI-States-1 INTEGER ::= 127 -- Maximum number of TCI states minus 1. +maxNrofUL-Allocations INTEGER ::= 16 -- Maximum number of PUSCH time domain resource allocations. +maxQFI INTEGER ::= 63 +maxRA-CSIRS-Resources INTEGER ::= 96 +maxRA-OccasionsPerCSIRS INTEGER ::= 64 -- Maximum number of RA occasions for one CSI-RS +maxRA-Occasions-1 INTEGER ::= 511 -- Maximum number of RA occasions in the system +maxRA-SSB-Resources INTEGER ::= 64 +maxSCSs INTEGER ::= 5 +maxSecondaryCellGroups INTEGER ::= 3 +maxNrofServingCellsEUTRA INTEGER ::= 32 +maxMBSFN-Allocations INTEGER ::= 8 +maxNrofMultiBands INTEGER ::= 8 +maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting +maxReportConfigId INTEGER ::= 64 +maxNrofCodebooks INTEGER ::= 16 -- Maximum number of codebooks suppoted by the UE + +maxNrofSRI-PUSCH-Mappings INTEGER ::= 16 +maxNrofSRI-PUSCH-Mappings-1 INTEGER ::= 15 +maxSIB INTEGER::= 32 -- Maximum number of SIBs +maxSIB-1 INTEGER::= 31 +maxSI-Message INTEGER::= 32 -- Maximum number of SI messages + +maxAccessCat-1 INTEGER ::= 63 -- Maximum number of Acccess Categories minus 1 +maxBarringInfoSet INTEGER ::= 8 -- Maximum number of Acccess Categories +maxCellEUTRA INTEGER ::= 8 -- Maximum number of EUTRA cells in SIB list +maxEUTRA-Carrier INTEGER ::= 8 -- Maximum number of EUTRA carriers in SIB list +maxPLMNIdentities INTEGER ::= 8 -- Maximum number of PLMN identites in RAN area configurations + +maxDownlinkFeatureSets INTEGER ::= 1024 -- (for NR DL) Total number of FeatureSets (size of the pool) +maxUplinkFeatureSets INTEGER ::= 1024 -- (for NR UL) Total number of FeatureSets (size of the pool) +maxEUTRA-DL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) +maxEUTRA-UL-FeatureSets INTEGER ::= 256 -- (for EUTRA) Total number of FeatureSets (size of the pool) +maxFeatureSetsPerBand INTEGER ::= 128 -- (for NR) The number of feature sets associated with one band. +maxPerCC-FeatureSets INTEGER ::= 1024 -- (for NR) Total number of CC-specific FeatureSets (size of the pool) +maxFeatureSetCombinations INTEGER ::= 1024 -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool) + +maxInterRAT-RSTD-Freq INTEGER ::= 3 + -- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP diff --git a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn index 25151783f5..e20526cdb1 100644 --- a/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn +++ b/epan/dissectors/asn1/nr-rrc/NR-UE-Variables.asn @@ -1,59 +1,87 @@ --- 3GPP TS 38.331 V15.2.0 (2018-06) +-- 3GPP TS 38.331 V15.3.0 (2018-09) NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS - MeasId, - MeasIdToAddModList, - MeasObjectToAddModList, - PhysCellId, - ReportConfigToAddModList, - RSRP-Range, - QuantityConfig, - maxNrofCellMeas, - maxNrofMeasId + CellIdentity, + MeasId, + MeasIdToAddModList, + MeasObjectToAddModList, + PhysCellId, + RNTI-Value, + ReportConfigToAddModList, + RSRP-Range, + QuantityConfig, + maxNrofCellMeas, + maxNrofMeasId FROM NR-RRC-Definitions; +-- TAG-VAR-PENDING-RNA-UPDATE-START + +VarPendingRNA-Update ::= SEQUENCE { + pendingRNA-Update BOOLEAN OPTIONAL +} + +-- TAG-VAR-PENDING-RNA-UPDATE-STOP -- TAG-VAR-MEAS-CONFIG-START -VarMeasConfig ::= SEQUENCE { - -- Measurement identities - measIdList MeasIdToAddModList OPTIONAL, - -- Measurement objects - measObjectList MeasObjectToAddModList OPTIONAL, - -- Reporting configurations - reportConfigList ReportConfigToAddModList OPTIONAL, - -- Other parameters - quantityConfig QuantityConfig OPTIONAL, - - s-MeasureConfig CHOICE { - ssb-RSRP RSRP-Range, - csi-RSRP RSRP-Range - } OPTIONAL +VarMeasConfig ::= SEQUENCE { + -- Measurement identities + measIdList MeasIdToAddModList OPTIONAL, + -- Measurement objects + measObjectList MeasObjectToAddModList OPTIONAL, + -- Reporting configurations + reportConfigList ReportConfigToAddModList OPTIONAL, + -- Other parameters + quantityConfig QuantityConfig OPTIONAL, + + s-MeasureConfig CHOICE { + ssb-RSRP RSRP-Range, + csi-RSRP RSRP-Range + } OPTIONAL } -- TAG-VAR-MEAS-CONFIG-STOP -- TAG-VAR-MEAS-REPORT-START -VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport +VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport -VarMeasReport ::= SEQUENCE { - -- List of measurement that have been triggered - measId MeasId, - cellsTriggeredList CellsTriggeredList OPTIONAL, - numberOfReportsSent INTEGER +VarMeasReport ::= SEQUENCE { + -- List of measurement that have been triggered + measId MeasId, + cellsTriggeredList CellsTriggeredList OPTIONAL, + numberOfReportsSent INTEGER } -CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE { - physCellId PhysCellId, --- Not needed for EN-DC. - physCellIdEUTRA ENUMERATED {ffsTypeAndValue} - } +CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE { + physCellId PhysCellId, +-- Not needed for EN-DC. + physCellIdEUTRA ENUMERATED {ffsTypeAndValue} + } -- TAG-VAR-MEAS-REPORT-STOP +-- TAG-VAR-RESUMEMACINPUT-START + +VarResumeMAC-Input ::= SEQUENCE { + sourcePhysCellId PhysCellId, + targetCellIdentity CellIdentity, + source-c-RNTI RNTI-Value + +} + +-- TAG-VAR-RESUMEMACINPUT-STOP +-- TAG-VAR-SHORTMACINPUT-START + +VarShortMAC-Input ::= SEQUENCE { + sourcePhysCellId PhysCellId, + targetCellIdentity CellIdentity, + source-c-RNTI RNTI-Value +} + +-- TAG-VAR- SHORTMACINPUT-STOP END diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf index d96d3acb3a..2b143a726b 100644 --- a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf +++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf @@ -10,9 +10,11 @@ UNALIGNED #.USE_VALS_EXT CA-BandwidthClassNR ConfiguredGrantConfig/periodicity +CSI-ReportConfig/reportFreqConfiguration/csi-ReportingBand CSI-RS-IM-ReceptionForFeedback/maxNumberPortsAcrossNZP-CSI-RS-PerCC CSI-RS-IM-ReceptionForFeedback/maxNumberSimultaneousCSI-RS-ActBWP-AllCC CSI-RS-IM-ReceptionForFeedback/totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC +DelayBudgetReport/type1 DRX-Config/drx-onDurationTimer/milliSeconds DRX-Config/drx-InactivityTimer DRX-Config/drx-RetransmissionTimerDL @@ -21,9 +23,12 @@ DRX-Config/drx-LongCycleStartOffset DRX-Config/shortDRX/drx-ShortCycle DRX-Info/drx-LongCycleStartOffset DRX-Info/shortDRX/drx-ShortCycle +EUTRA-Q-OffsetRange PDCP-Config/t-Reordering PollByte PollPDU +RangeToBestCell +RRM-Config/ue-InactiveTime Q-OffsetRange ServingCellConfig/bwp-InactivityTimer SPS-Config/periodicity @@ -57,12 +62,14 @@ UE-NR-Capability_PDU UL-DCCH-Message_PDU #.PDU -BCCH-BCH-Message @bcch.bch +BCCH-BCH-Message @bcch.bch +BCCH-DL-SCH-Message @bcch.dl.sch CellGroupConfig CG-Config CG-ConfigInfo ConfigRestrictInfoSCG -DL-DCCH-Message @dl.dcch +DL-CCCH-Message @dl.ccch +DL-DCCH-Message @dl.dcch FreqBandList HandoverCommand HandoverPreparationInformation @@ -72,14 +79,20 @@ MeasResults MeasurementTimingConfiguration MIB P-Max +PCCH-Message @pcch RadioBearerConfig -RRCReconfiguration @rrc_reconf +RRCReconfiguration @rrc_reconf RRCReconfigurationComplete SIB1 UE-CapabilityRAT-ContainerList -UE-MRDC-Capability @ue_mrdc_cap -UE-NR-Capability @ue_nr_cap -UL-DCCH-Message @ul.dcch +UE-CapabilityRequestFilterNR +UE-MRDC-Capability @ue_mrdc_cap +UE-NR-Capability @ue_nr_cap +UL-CCCH-Message @ul.ccch +UL-CCCH1-Message @ul.ccch1 +UL-DCCH-Message @ul.dcch +UERadioAccessCapabilityInformation @ue_radio_access_cap_info +UERadioPagingInformation @ue_radio_paging_info #.END #.OMIT_ASSIGNMENT @@ -87,10 +100,14 @@ CellsTriggeredList VarMeasConfig VarMeasReportList VarMeasReport +VarPendingRNA-Update +VarResumeMAC-Input +VarShortMAC-Input #.NO_EMIT ONLY_VALS #.MAKE_ENUM +MobilityFromNRCommand-IEs/targetRAT-Type TYPE_PREFIX RAT-Type TYPE_PREFIX #.FN_HDR BCCH-BCH-Message @@ -102,7 +119,7 @@ RAT-Type TYPE_PREFIX ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); -#.FN_HDR UL-DCCH-Message +#.FN_HDR BCCH-DL-SCH-Message proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); @@ -111,7 +128,16 @@ RAT-Type TYPE_PREFIX ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); - actx->pinfo->link_dir = P2P_DIR_UL; +#.FN_HDR DL-CCCH-Message + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + actx->pinfo->link_dir = P2P_DIR_DL; + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); #.FN_HDR DL-DCCH-Message proto_item *ti; @@ -124,45 +150,661 @@ RAT-Type TYPE_PREFIX actx->pinfo->link_dir = P2P_DIR_DL; +#.FN_HDR PCCH-Message + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + +#.FN_HDR UL-CCCH-Message + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + + actx->pinfo->link_dir = P2P_DIR_UL; + +#.FN_HDR UL-CCCH1-Message + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + + actx->pinfo->link_dir = P2P_DIR_UL; + +#.FN_HDR UL-DCCH-Message + proto_item *ti; + + col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); + col_clear(actx->pinfo->cinfo, COL_INFO); + + ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(ti, ett_nr_rrc); + + actx->pinfo->link_dir = P2P_DIR_UL; + #.FN_HDR MIB col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB"); +#.FN_HDR SystemInformation + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information ["); + +#.FN_FTR SystemInformation + col_append_str(actx->pinfo->cinfo, COL_INFO, " ]"); + +#.FN_HDR SIB2 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2"); + +#.FN_HDR SIB3 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3"); + +#.FN_HDR SIB4 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4"); + +#.FN_HDR SIB5 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5"); + +#.FN_HDR SIB6 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6"); + +#.FN_HDR SIB7 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7"); + +#.FN_HDR SIB8 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8"); + +#.FN_HDR SIB9 + col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9"); + +#.FN_HDR SIB1 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1"); + +#.FN_HDR RRCReject + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject"); + +#.FN_HDR RRCSetup + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup"); + #.FN_HDR RRCReconfiguration col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration"); +#.FN_HDR RRCResume + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume"); + +#.FN_HDR RRCRelease + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release"); + +#.FN_HDR RRCReestablishment + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment"); + +#.FN_HDR SecurityModeCommand + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command"); + +#.FN_HDR DLInformationTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer"); + +#.FN_HDR UECapabilityEnquiry + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry"); + +#.FN_HDR CounterCheck + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check"); + +#.FN_HDR MobilityFromNRCommand + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command"); + +#.FN_HDR Paging + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); + +#.FN_HDR RRCSetupRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request"); + +#.FN_HDR RRCResumeRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request"); + +#.FN_HDR RRCReestablishmentRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request"); + +#.FN_HDR RRCSystemInfoRequest + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request"); + +#.FN_HDR RRCResumeRequest1 + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1"); + #.FN_HDR MeasurementReport col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report"); #.FN_HDR RRCReconfigurationComplete col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete"); +#.FN_HDR RRCSetupComplete + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete"); + +#.FN_HDR RRCReestablishmentComplete + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete"); + +#.FN_HDR RRCResumeComplete + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete"); + +#.FN_HDR SecurityModeComplete + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete"); + +#.FN_HDR SecurityModeFailure + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure"); + +#.FN_HDR ULInformationTransfer + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer"); + +#.FN_HDR LocationMeasurementIndication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication"); + +#.FN_HDR UECapabilityInformation + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information"); + +#.FN_HDR + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response"); + +#.FN_HDR + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information"); + +#.FN_BODY DedicatedNAS-Message VAL_PTR = &nas_5gs_tvb + tvbuff_t *nas_5gs_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (nas_5gs_tvb && nas_5gs_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message); + nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree); + } + +#.FN_BODY MobilityFromNRCommand-IEs/targetRAT-Type VAL_PTR = &target_rat_type + guint32 target_rat_type; + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); +%(DEFAULT_BODY)s + nr_priv->target_rat_type = (guint8)target_rat_type; + +#.FN_BODY MobilityFromNRCommand-IEs/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) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer); + switch (nr_priv->target_rat_type) { + case T_targetRAT_Type_eutra: + /* eutra */ + if (lte_rrc_conn_reconf_handle) + nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); + break; + default: + break; + } + } + +#.FN_BODY MasterKeyUpdate/nas-Container VAL_PTR = &nas_5gs_tvb + tvbuff_t *nas_5gs_tvb = NULL; + proto_tree *subtree; +%(DEFAULT_BODY)s + if (nas_5gs_tvb && nas_5gs_handle) { + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container); + nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree); + } + +#.TYPE_ATTR +RejectWaitTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +SIB1/cellSelectionInfo/q-RxLevMinOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +SIB1/cellSelectionInfo/q-QualMinOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +IntraFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +IntraFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +IntraFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +InterFreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +InterFreqNeighCellInfo/q-RxLevMinOffsetCellSUL DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +InterFreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +CarrierFreqEUTRA/q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +CarrierFreqEUTRA/q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +CarrierFreqEUTRA/p-MaxEUTRA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +EUTRA-FreqNeighCellInfo/q-RxLevMinOffsetCell DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_q_RxLevMin_fmt) + +#.TYPE_ATTR +EUTRA-FreqNeighCellInfo/q-QualMinOffsetCell DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +SIB6/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SIB6/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB6/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 SIB6/serialNumber VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB6/serialNumber + if (serial_nb_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SIB6/warningType VAL_PTR=&warning_type_tvb + tvbuff_t *warning_type_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB6/warningType + if (warning_type_tvb) { + proto_tree *subtree; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType); + proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +SIB7/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SIB7/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB7/messageIdentifier + if (msg_id_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + nr_priv->message_identifier = 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 SIB7/serialNumber VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB7/serialNumber + if (serial_nb_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SIB7/warningMessageSegmentType VAL_PTR=&segment_type + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + guint32 segment_type; +%(DEFAULT_BODY)s + nr_priv->warning_message_segment_type = (guint8)segment_type; + +#.FN_BODY SIB7/warningMessageSegmentNumber VAL_PTR=&segment_number + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + guint32 segment_number; +%(DEFAULT_BODY)s + nr_priv->warning_message_segment_number = (guint8)segment_number; + +#.FN_BODY SIB7/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb + tvbuff_t *data_coding_scheme_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB7/dataCodingScheme + if (data_coding_scheme_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + guint32 dataCodingScheme; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); + dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); + wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), + GUINT_TO_POINTER(dataCodingScheme)); + } + +#.FN_BODY SIB7/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb + tvbuff_t *warning_msg_seg_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB7/warningMessageSegment + if (warning_msg_seg_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + tvbuff_t *frag_tvb; + gpointer p_dcs; + fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, + nr_priv->message_identifier, NULL, + nr_priv->warning_message_segment_number, + tvb_reported_length(warning_msg_seg_tvb), + nr_priv->warning_message_segment_type ? FALSE : TRUE); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); + frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message", + frag_data, &nr_rrc_sib7_frag_items, NULL, subtree); + p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); + if (frag_tvb && p_dcs) { + dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); + } + } + +#.TYPE_ATTR +SIB8/messageIdentifier TYPE=FT_UINT16 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=<e_rrc_messageIdentifier_vals_ext + +#.FN_BODY SIB8/messageIdentifier VAL_PTR=&msg_id_tvb HF_INDEX=-1 + tvbuff_t *msg_id_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB8/messageIdentifier + if (msg_id_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + nr_priv->message_identifier = 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 SIB8/serialNumber VAL_PTR=&serial_nb_tvb + tvbuff_t *serial_nb_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB8/serialNumber + if (serial_nb_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY SIB8/warningMessageSegmentType VAL_PTR=&segment_type + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + guint32 segment_type; +%(DEFAULT_BODY)s + nr_priv->warning_message_segment_type = (guint8)segment_type; + +#.FN_BODY SIB8/warningMessageSegmentNumber VAL_PTR=&segment_number + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + guint32 segment_number; +%(DEFAULT_BODY)s + nr_priv->warning_message_segment_number = (guint8)segment_number; + +#.FN_BODY SIB8/dataCodingScheme VAL_PTR=&data_coding_scheme_tvb + tvbuff_t *data_coding_scheme_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB8/dataCodingScheme + if (data_coding_scheme_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + guint32 dataCodingScheme; + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); + dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); + wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), + GUINT_TO_POINTER(dataCodingScheme)); + } + +#.FN_BODY SIB8/warningMessageSegment VAL_PTR=&warning_msg_seg_tvb + tvbuff_t *warning_msg_seg_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB8/warningMessageSegment + if (warning_msg_seg_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + tvbuff_t *frag_tvb; + gpointer p_dcs; + fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, + nr_priv->message_identifier, NULL, + nr_priv->warning_message_segment_number, + tvb_reported_length(warning_msg_seg_tvb), + nr_priv->warning_message_segment_type ? FALSE : TRUE); + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); + frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message", + frag_data, &nr_rrc_sib8_frag_items, NULL, subtree); + p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); + if (frag_tvb && p_dcs) { + dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); + } + } + +#.FN_BODY SIB9/timeInfo/timeInfoUTC VAL_PTR=&timeInfo + guint64 timeInfo; + proto_tree *subtree; + nstime_t ts; + guint32 old_offset = offset; +%(DEFAULT_BODY)s + +#.FN_FTR SIB9/timeInfo/timeInfoUTC + subtree = proto_item_add_subtree(actx->created_item, ett_nr_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_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); + proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); + +#.TYPE_ATTR +SIB9/timeInfo/dayLightSavingTime TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(nr_rrc_daylightSavingTime_vals) + +#.FN_BODY SIB9/timeInfo/dayLightSavingTime VAL_PTR=&daylight_saving_time_tvb HF_INDEX=-1 + tvbuff_t *daylight_saving_time_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR SIB9/timeInfo/dayLightSavingTime + if (daylight_saving_time_tvb) { + guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2); + actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue); + } + +#.TYPE_ATTR +SIB9/timeInfo/leapSeconds DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +SIB9/timeInfo/localTimeOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_localTimeOffset_fmt) + +#.TYPE_ATTR +ConfiguredGrantConfig/configuredGrantTimer DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_periodicities + +#.TYPE_ATTR +ConnEstFailureControl/connEstFailOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +DRX-Config/drx-SlotOffset DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_drx_SlotOffset_fmt) + +#.TYPE_ATTR +FrequencyInfoDL-SIB/offsetToPointA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_prbs + +#.TYPE_ATTR +Hysteresis DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Hysteresis_fmt) + +#.TYPE_ATTR +NZP-CSI-RS-Resource/powerControlOffset DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +P-Max DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +PUCCH-ResourceSet/maxPayloadMinus1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_bits + +#.TYPE_ATTR +PUCCH-ConfigCommon/p0-nominal DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +PUCCH-PowerControl/deltaF-PUCCH-f0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +PUCCH-PowerControl/deltaF-PUCCH-f1 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +PUCCH-PowerControl/deltaF-PUCCH-f2 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +PUCCH-PowerControl/deltaF-PUCCH-f3 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +PUCCH-PowerControl/deltaF-PUCCH-f4 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +P0-PUCCH/p0-PUCCH-Value DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +PUSCH-ConfigCommon/msg3-DeltaPreamble DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt) + +#.TYPE_ATTR +PUSCH-ConfigCommon/p0-NominalWithGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +PUSCH-PowerControl/p0-NominalWithoutGrant DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +P0-PUSCH-AlphaSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +Q-QualMin DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +Q-RxLevMin DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_Q_RxLevMin_fmt) + +#.TYPE_ATTR +RACH-ConfigGeneric/preambleReceivedTargetPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +RSRP-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt) + +#.TYPE_ATTR +RSRQ-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt) + +#.TYPE_ATTR +SINR-RangeEUTRA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt) + +#.TYPE_ATTR +MeasTriggerQuantityOffset/rsrp DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +MeasTriggerQuantityOffset/rsrq DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +MeasTriggerQuantityOffset/sinr DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +ReselectionThreshold DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_ReselectionThreshold_fmt) + +#.TYPE_ATTR +ReselectionThresholdQ DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_decibels + +#.TYPE_ATTR +RSRP-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRP_Range_fmt) + +#.TYPE_ATTR +RSRQ-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_RSRQ_Range_fmt) + +#.TYPE_ATTR +SearchSpace/duration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_slots + +#.TYPE_ATTR +ServingCellConfigCommon/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +ServingCellConfigCommonSIB/ss-PBCH-BlockPower DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +SINR-Range DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(nr_rrc_SINR_Range_fmt) + +#.TYPE_ATTR +SRS-ResourceSet/p0 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm + +#.TYPE_ATTR +T-Reselection DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + #.FN_BODY UE-CapabilityRAT-Container + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); /* Initialise to invalid value */ - private_data_set_rat_type(actx, 0xFF); + nr_priv->rat_type = 0xFF; %(DEFAULT_BODY)s #.FN_BODY RAT-Type VAL_PTR = &rat_type guint32 rat_type; + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); %(DEFAULT_BODY)s - private_data_set_rat_type(actx, (guint8)rat_type); + nr_priv->rat_type = (guint8)rat_type; #.FN_BODY UE-CapabilityRAT-Container/ue-CapabilityRAT-Container VAL_PTR = &ue_cap_tvb - tvbuff_t *ue_cap_tvb=NULL; + tvbuff_t *ue_cap_tvb = NULL; %(DEFAULT_BODY)s #.FN_FTR UE-CapabilityRAT-Container/ue-CapabilityRAT-Container if (ue_cap_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container); - switch(private_data_get_rat_type(actx)){ + switch(nr_priv->rat_type){ case RAT_Type_nr: dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; case RAT_Type_eutra_nr: dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; + case RAT_Type_eutra: + dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); + break; default: break; } } + +#.FN_BODY UE-CapabilityRAT-Request + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + /* Initialise to invalid value */ + nr_priv->rat_type = 0xFF; +%(DEFAULT_BODY)s + +#.FN_BODY UE-CapabilityRAT-Request/capabilityRequestFilter VAL_PTR = &cap_req_filter_tvb + tvbuff_t *cap_req_filter_tvb = NULL; +%(DEFAULT_BODY)s + +#.FN_FTR UE-CapabilityRAT-Request/capabilityRequestFilter + if (cap_req_filter_tvb) { + nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter); + switch(nr_priv->rat_type){ + case RAT_Type_nr: + dissect_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL); + break; + default: + break; + } + } + +#.TYPE_ATTR +EUTRA-NS-PmaxValue/additionalPmax DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c index a1a482de32..5db7bcee68 100644 --- a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c +++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c @@ -1,7 +1,7 @@ /* packet-nr-rrc-template.c * NR; * Radio Resource Control (RRC) protocol specification - * (3GPP TS 38.331 V15.2.0 Release 15) packet dissection + * (3GPP TS 38.331 V15.3.0 Release 15) packet dissection * Copyright 2018, Pascal Quantin * * Wireshark - Network traffic analyzer @@ -17,10 +17,16 @@ #include <epan/packet.h> #include <epan/asn1.h> +#include <epan/expert.h> +#include <epan/reassemble.h> +#include <epan/exceptions.h> +#include <epan/show_exception.h> #include <wsutil/str_util.h> #include "packet-per.h" +#include "packet-gsm_map.h" +#include "packet-cell_broadcast.h" #include "packet-lte-rrc.h" #include "packet-nr-rrc.h" @@ -31,24 +37,87 @@ void proto_register_nr_rrc(void); void proto_reg_handoff_nr_rrc(void); +static dissector_handle_t nas_5gs_handle = NULL; +static dissector_handle_t lte_rrc_conn_reconf_handle = NULL; + +static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL; + +static reassembly_table nr_rrc_sib7_reassembly_table; +static reassembly_table nr_rrc_sib8_reassembly_table; + /* Include constants */ #include "packet-nr-rrc-val.h" /* Initialize the protocol and registered fields */ static int proto_nr_rrc = -1; #include "packet-nr-rrc-hf.c" +static int hf_nr_rrc_serialNumber_gs = -1; +static int hf_nr_rrc_serialNumber_msg_code = -1; +static int hf_nr_rrc_serialNumber_upd_nb = -1; +static int hf_nr_rrc_warningType_value = -1; +static int hf_nr_rrc_warningType_emergency_user_alert = -1; +static int hf_nr_rrc_warningType_popup = -1; +static int hf_nr_rrc_warningMessageSegment_nb_pages = -1; +static int hf_nr_rrc_warningMessageSegment_decoded_page = -1; +static int hf_nr_rrc_sib7_fragments = -1; +static int hf_nr_rrc_sib7_fragment = -1; +static int hf_nr_rrc_sib7_fragment_overlap = -1; +static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1; +static int hf_nr_rrc_sib7_fragment_multiple_tails = -1; +static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1; +static int hf_nr_rrc_sib7_fragment_error = -1; +static int hf_nr_rrc_sib7_fragment_count = -1; +static int hf_nr_rrc_sib7_reassembled_in = -1; +static int hf_nr_rrc_sib7_reassembled_length = -1; +static int hf_nr_rrc_sib7_reassembled_data = -1; +static int hf_nr_rrc_sib8_fragments = -1; +static int hf_nr_rrc_sib8_fragment = -1; +static int hf_nr_rrc_sib8_fragment_overlap = -1; +static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1; +static int hf_nr_rrc_sib8_fragment_multiple_tails = -1; +static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1; +static int hf_nr_rrc_sib8_fragment_error = -1; +static int hf_nr_rrc_sib8_fragment_count = -1; +static int hf_nr_rrc_sib8_reassembled_in = -1; +static int hf_nr_rrc_sib8_reassembled_length = -1; +static int hf_nr_rrc_sib8_reassembled_data = -1; +static int hf_nr_rrc_utc_time = -1; +static int hf_nr_rrc_local_time = -1; /* Initialize the subtree pointers */ static gint ett_nr_rrc = -1; #include "packet-nr-rrc-ett.c" -static gint ett_nr_rrc_UECapabilityInformation = -1; +static gint ett_nr_rrc_DedicatedNAS_Message = -1; +static gint ett_rr_rrc_targetRAT_MessageContainer = -1; +static gint ett_nr_rrc_nas_Container = -1; +static gint ett_nr_rrc_serialNumber = -1; +static gint ett_nr_rrc_warningType = -1; +static gint ett_nr_rrc_dataCodingScheme = -1; +static gint ett_nr_rrc_sib7_fragment = -1; +static gint ett_nr_rrc_sib7_fragments = -1; +static gint ett_nr_rrc_sib8_fragment = -1; +static gint ett_nr_rrc_sib8_fragments = -1; +static gint ett_nr_rrc_warningMessageSegment = -1; +static gint ett_nr_rrc_timeInfo = -1; +static gint ett_nr_rrc_capabilityRequestFilter = -1; + +static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT; + +static const unit_name_string units_periodicities = { " periodicity", " periodicities" }; +static const unit_name_string units_prbs = { " PRB", " PRBs" }; +static const unit_name_string units_slots = { " slot", " slots" }; typedef struct { guint8 rat_type; + guint8 target_rat_type; + guint16 message_identifier; + guint8 warning_message_segment_type; + guint8 warning_message_segment_number; } nr_rrc_private_data_t; /* Helper function to get or create a struct that will be actx->private_data */ -static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx) +static nr_rrc_private_data_t* +nr_rrc_get_private_data(asn1_ctx_t *actx) { if (actx->private_data == NULL) { actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t); @@ -56,47 +125,421 @@ static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx) return (nr_rrc_private_data_t*)actx->private_data; } -static guint8 private_data_get_rat_type(asn1_ctx_t *actx) +static void +nr_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; +} + +/* Forward declarations */ +static int dissect_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + +static void +nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%u dB (%u)", 2*v, v); +} + +static const value_string nr_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 nr_rrc_warningType_vals[] = { + { 0, "Earthquake"}, + { 1, "Tsunami"}, + { 2, "Earthquake and Tsunami"}, + { 3, "Test"}, + { 4, "Other"}, + { 0, NULL}, +}; + +static const fragment_items nr_rrc_sib7_frag_items = { + &ett_nr_rrc_sib7_fragment, + &ett_nr_rrc_sib7_fragments, + &hf_nr_rrc_sib7_fragments, + &hf_nr_rrc_sib7_fragment, + &hf_nr_rrc_sib7_fragment_overlap, + &hf_nr_rrc_sib7_fragment_overlap_conflict, + &hf_nr_rrc_sib7_fragment_multiple_tails, + &hf_nr_rrc_sib7_fragment_too_long_fragment, + &hf_nr_rrc_sib7_fragment_error, + &hf_nr_rrc_sib7_fragment_count, + &hf_nr_rrc_sib7_reassembled_in, + &hf_nr_rrc_sib7_reassembled_length, + &hf_nr_rrc_sib7_reassembled_data, + "SIB7 warning message segments" +}; + +static const fragment_items nr_rrc_sib8_frag_items = { + &ett_nr_rrc_sib8_fragment, + &ett_nr_rrc_sib8_fragments, + &hf_nr_rrc_sib8_fragments, + &hf_nr_rrc_sib8_fragment, + &hf_nr_rrc_sib8_fragment_overlap, + &hf_nr_rrc_sib8_fragment_overlap_conflict, + &hf_nr_rrc_sib8_fragment_multiple_tails, + &hf_nr_rrc_sib8_fragment_too_long_fragment, + &hf_nr_rrc_sib8_fragment_error, + &hf_nr_rrc_sib8_fragment_count, + &hf_nr_rrc_sib8_reassembled_in, + &hf_nr_rrc_sib8_reassembled_length, + &hf_nr_rrc_sib8_reassembled_data, + "SIB8 warning message segments" +}; + +static void +dissect_nr_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_nr_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_nr_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_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83, + str, "Decoded Page %u: %s", i+1, str); + } + offset += 83; + } +} + +static const value_string nr_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 void +nr_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 +nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v); +} + +static void +nr_rrc_Hysteresis_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v); +} + +static void +nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v) { - nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx); - return private_data->rat_type; + gint32 d = (gint32)v; + + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d); +} + +static void +nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v) +{ + gint32 d = (gint32)v; + + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d); +} + +static void +nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)"); + } else if (v < 97) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)"); + } } -static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type) +static void +nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v) { - nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx); - private_data->rat_type = rat_type; + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); + } else if (v < 34) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)"); + } +} + +static void +nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)"); + } else if (v == 127) { + g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v); + } +} + +static void +nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v) +{ + g_snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v); +} + +static void +nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)"); + } else if (v < 126) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v); + } else if (v == 126) { + g_snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)"); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)"); + } +} + +static void +nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)"); + } else if (v < 127) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "-20dB <= SS-RSRQ (127)"); + } +} + +static void +nr_rrc_SINR_Range_fmt(gchar *s, guint32 v) +{ + if (v == 0) { + g_snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)"); + } else if (v < 127) { + g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v); + } else { + g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)"); + } } #include "packet-nr-rrc-fn.c" -void proto_register_nr_rrc(void) { +void +proto_register_nr_rrc(void) { /* List of fields */ static hf_register_info hf[] = { #include "packet-nr-rrc-hfarr.c" + { &hf_nr_rrc_serialNumber_gs, + { "Geographical Scope", "nr-rrc.serialNumber.gs", + FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000, + NULL, HFILL }}, + { &hf_nr_rrc_serialNumber_msg_code, + { "Message Code", "nr-rrc.serialNumber.msg_code", + FT_UINT16, BASE_DEC, NULL, 0x3ff0, + NULL, HFILL }}, + { &hf_nr_rrc_serialNumber_upd_nb, + { "Update Number", "nr-rrc.serialNumber.upd_nb", + FT_UINT16, BASE_DEC, NULL, 0x000f, + NULL, HFILL }}, + { &hf_nr_rrc_warningType_value, + { "Warning Type Value", "nr-rrc.warningType.value", + FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00, + NULL, HFILL }}, + { &hf_nr_rrc_warningType_emergency_user_alert, + { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert", + FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100, + NULL, HFILL }}, + { &hf_nr_rrc_warningType_popup, + { "Popup", "nr-rrc.warningType.popup", + FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080, + NULL, HFILL }}, + { &hf_nr_rrc_warningMessageSegment_nb_pages, + { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages", + FT_UINT8, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_warningMessageSegment_decoded_page, + { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page", + FT_STRING, STR_UNICODE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragments, + { "Fragments", "nr-rrc.warningMessageSegment.fragments", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment, + { "Fragment", "nr-rrc.warningMessageSegment.fragment", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_overlap, + { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_overlap_conflict, + { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_multiple_tails, + { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_too_long_fragment, + { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_error, + { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_fragment_count, + { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_reassembled_in, + { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_reassembled_length, + { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib7_reassembled_data, + { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragments, + { "Fragments", "nr-rrc.warningMessageSegment.fragments", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment, + { "Fragment", "nr-rrc.warningMessageSegment.fragment", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_overlap, + { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_overlap_conflict, + { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_multiple_tails, + { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_too_long_fragment, + { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_error, + { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_fragment_count, + { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_reassembled_in, + { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in", + FT_FRAMENUM, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_reassembled_length, + { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_sib8_reassembled_data, + { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_utc_time, + { "UTC time", "nr-rrc.utc_time", + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0, + NULL, HFILL }}, + { &hf_nr_rrc_local_time, + { "Local time", "nr-rrc.local_time", + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, + NULL, HFILL }}, }; static gint *ett[] = { &ett_nr_rrc, #include "packet-nr-rrc-ettarr.c" - &ett_nr_rrc_UECapabilityInformation + &ett_nr_rrc_DedicatedNAS_Message, + &ett_rr_rrc_targetRAT_MessageContainer, + &ett_nr_rrc_nas_Container, + &ett_nr_rrc_serialNumber, + &ett_nr_rrc_warningType, + &ett_nr_rrc_dataCodingScheme, + &ett_nr_rrc_sib7_fragment, + &ett_nr_rrc_sib7_fragments, + &ett_nr_rrc_sib8_fragment, + &ett_nr_rrc_sib8_fragments, + &ett_nr_rrc_warningMessageSegment, + &ett_nr_rrc_timeInfo, + &ett_nr_rrc_capabilityRequestFilter + }; + + static ei_register_info ei[] = { + { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}, }; + expert_module_t* expert_nr_rrc; + /* Register protocol */ proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME); /* Register fields and subtrees */ proto_register_field_array(proto_nr_rrc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); + expert_nr_rrc = expert_register_protocol(proto_nr_rrc); + expert_register_field_array(expert_nr_rrc, ei, array_length(ei)); /* Register the dissectors defined in nr-rrc.cnf */ #include "packet-nr-rrc-dis-reg.c" + + nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), + g_direct_hash, g_direct_equal); + + reassembly_table_register(&nr_rrc_sib7_reassembly_table, + &addresses_reassembly_table_functions); + reassembly_table_register(&nr_rrc_sib8_reassembly_table, + &addresses_reassembly_table_functions); } void proto_reg_handoff_nr_rrc(void) { + nas_5gs_handle = find_dissector("nas-5gs"); + lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf"); } |