aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2018-01-09 23:38:47 +0100
committerAnders Broman <a.broman58@gmail.com>2018-01-10 05:31:33 +0000
commit88abff68df5fcea46e1f7f0a32d7fe8718fd67c0 (patch)
tree802e75b2a344129a51605e451e0cba45913536e7 /epan/dissectors/asn1
parentfb4953a13c1ac6e5b54a347769c5f05e8fd6ab28 (diff)
NR RRC: add initial dissector based on v15.0.0
ASN.1 prose imported from the specification and heavily modified manually to workaround its poor quality. Some of them are marked with -- WS modification comment, some are not. Probably useless as-is, but it is an initial start until an updated version is available. Change-Id: I19ab6cedb6aa23c8ed57bae525ee4a3391494e32 Reviewed-on: https://code.wireshark.org/review/25235 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/asn1')
-rw-r--r--epan/dissectors/asn1/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/Makefile.am1
-rw-r--r--epan/dissectors/asn1/lte-rrc/lte-rrc.cnf1
-rw-r--r--epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c1
-rw-r--r--epan/dissectors/asn1/nr-rrc/CMakeLists.txt51
-rw-r--r--epan/dissectors/asn1/nr-rrc/Makefile.am43
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn183
-rw-r--r--epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn3061
-rw-r--r--epan/dissectors/asn1/nr-rrc/nr-rrc.cnf202
-rw-r--r--epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c108
10 files changed, 3651 insertions, 1 deletions
diff --git a/epan/dissectors/asn1/CMakeLists.txt b/epan/dissectors/asn1/CMakeLists.txt
index 692c2f5956..02fc68ff0c 100644
--- a/epan/dissectors/asn1/CMakeLists.txt
+++ b/epan/dissectors/asn1/CMakeLists.txt
@@ -79,6 +79,7 @@ set(ASN1_SRC_DIRS
mpeg-pes
mudurl
nbap
+ nr-rrc
ns_cert_exts
novell_pkis
ocsp
diff --git a/epan/dissectors/asn1/Makefile.am b/epan/dissectors/asn1/Makefile.am
index 9c94673ac9..77694ff969 100644
--- a/epan/dissectors/asn1/Makefile.am
+++ b/epan/dissectors/asn1/Makefile.am
@@ -81,6 +81,7 @@ SUBDIRS = \
mudurl \
nbap \
novell_pkis \
+ nr-rrc \
ns_cert_exts \
ocsp \
p1 \
diff --git a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
index 6afc23d060..ff018d37ed 100644
--- a/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
+++ b/epan/dissectors/asn1/lte-rrc/lte-rrc.cnf
@@ -28,6 +28,7 @@ HandoverPreparationInformation-NB_PDU
RLF-Report-r9_PDU
RLF-Report-v9e0_PDU
SCG-ConfigInfo-r12_PDU
+UECapabilityInformation_PDU
UEPagingCoverageInformation_PDU
UEPagingCoverageInformation-NB_PDU
UERadioAccessCapabilityInformation_PDU
diff --git a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
index 9666d1289c..148a1975d9 100644
--- a/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
+++ b/epan/dissectors/asn1/lte-rrc/packet-lte-rrc-template.c
@@ -350,7 +350,6 @@ static const fragment_items lte_rrc_sib12_frag_items = {
/* Forward declarations */
static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
-static int dissect_UECapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
static const true_false_string lte_rrc_eutra_cap_feat_group_ind_1_val = {
"Intra-subframe freq hopping for PUSCH scheduled by UL grant; DCI format 3a; Aperiodic CQI/PMI/RI report on PUSCH: Mode 2-0 & 2-2 - Supported",
diff --git a/epan/dissectors/asn1/nr-rrc/CMakeLists.txt b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
new file mode 100644
index 0000000000..5d728e72e0
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/CMakeLists.txt
@@ -0,0 +1,51 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+set( PROTOCOL_NAME nr-rrc )
+
+set( PROTO_OPT )
+
+set( EXPORT_FILES
+ ${PROTOCOL_NAME}-exp.cnf
+)
+
+set( EXT_ASN_FILE_LIST
+)
+
+set( ASN_FILE_LIST
+ NR-InterNodeDefinitions.asn
+ NR-RRC-Definitions.asn
+)
+
+set( EXTRA_DIST
+ ${ASN_FILE_LIST}
+ packet-${PROTOCOL_NAME}-template.c
+ ${PROTOCOL_NAME}.cnf
+)
+
+set( SRC_FILES
+ ${EXTRA_DIST}
+ ${EXT_ASN_FILE_LIST}
+)
+
+set( A2W_FLAGS -L )
+
+ASN2WRS()
diff --git a/epan/dissectors/asn1/nr-rrc/Makefile.am b/epan/dissectors/asn1/nr-rrc/Makefile.am
new file mode 100644
index 0000000000..8831281284
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/Makefile.am
@@ -0,0 +1,43 @@
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+include ../Makefile.inc
+
+PROTOCOL_NAME = nr-rrc
+
+EXPORT_FILES = $(PROTOCOL_NAME)-exp.cnf
+
+EXT_ASN_FILE_LIST =
+
+ASN_FILE_LIST = \
+ NR-InterNodeDefinitions.asn \
+ NR-RRC-Definitions.asn
+
+EXTRA_DIST = \
+ $(EXTRA_DIST_COMMON) \
+ $(ASN_FILE_LIST) \
+ packet-$(PROTOCOL_NAME)-template.c \
+ $(PROTOCOL_NAME).cnf
+
+SRC_FILES = \
+ $(EXTRA_DIST) \
+ $(EXT_ASN_FILE_LIST)
+
+A2W_FLAGS = -L
+
+EXTRA_CNF =
diff --git a/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
new file mode 100644
index 0000000000..d7241a8d6d
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-InterNodeDefinitions.asn
@@ -0,0 +1,183 @@
+-- 3GPP TS 38.331 V15.0.0 (2017-12)
+
+NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ RRCReconfiguration,
+ UE-CapabilityRAT-ContainerList
+FROM NR-RRC-Definitions;
+
+-- TAG-HANDOVER-COMMAND-START
+
+HandoverCommand ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ handoverCommand-r15 HandoverCommand-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverCommand-r15-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-r15 HandoverPreparationInformation-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+HandoverPreparationInformation-r15-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
+}
+
+AS-Context ::= SEQUENCE {
+ reestablishmentInfo SEQUENCE {
+ sourcePhysCellId PhysCellId,
+ targetCellShortMAC-I ShortMAC-I,
+ additionalReestabInfoList AdditionalReestabInfoList OPTIONAL
+ } OPTIONAL,
+ -- FFS Whether to change e.g. move all re-establishment info to Xx
+ configRestrictInfo ConfigRestrictInfoSCG 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 INTEGER,
+ candidateCellInfoList CandidateCellInfoList OPTIONAL,
+ ...
+}
+
+-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
+-- TAG-SCG-CONFIG-START
+
+SCG-Config ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ scg-Config-r15 SCG-Config-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCG-Config-r15-IEs ::= SEQUENCE {
+ scg-CellGroupdConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ p-maxFR1 P-Max OPTIONAL,
+ scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfiguration) OPTIONAL,
+ configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
+ candidateCellInfoList CandidateCellInfoList OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ConfigRestrictModReqSCG ::= SEQUENCE {
+ requestedBC-List-NR SEQUENCE OF INTEGER OPTIONAL,
+ requestedBPC-List-NR SEQUENCE OF INTEGER OPTIONAL,
+ -- FFS Signalling details of BC and BPC restrictions requested by SgNB to be alleviated
+ ...
+}
+
+-- TAG-SCG-CONFIG-STOP
+-- TAG-SCG-CONFIG-INFO-START
+
+SCG-ConfigInfo ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ c1 CHOICE{
+ scg-ConfigInfo-r15 SCG-ConfigInfo-r15-IEs,
+ spare3 NULL, spare2 NULL, spare1 NULL
+ },
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+SCG-ConfigInfo-r15-IEs ::= SEQUENCE {
+ eutra-CapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation) OPTIONAL,
+ candidateCellInfoList CandidateCellInfoList OPTIONAL,
+ measResultSSTD MeasResultSSTD OPTIONAL,
+ configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
+ drx-InfoMCG DRX-Info OPTIONAL,
+ sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
+ p-maxFR1 P-Max OPTIONAL,
+ mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfiguration) OPTIONAL,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+ConfigRestrictInfoSCG ::= SEQUENCE {
+ restrictedBandCombinationNR INTEGER OPTIONAL,
+ restrictedBasebandCombinationNR-NR SEQUENCE OF INTEGER OPTIONAL,
+ -- FFS Signalling details of BC and BPC restrictions to be observed by SgNB
+ -- FFS Signalling details regarding power coordination
+ maxMeasFreqsSCG-NR INTEGER OPTIONAL,
+ ...
+}
+
+DRX-Info ::= SEQUENCE {
+ cycle INTEGER,
+ offset INTEGER
+}
+
+-- TAG-SCG-CONFIG-INFO-STOP
+-- TAG-CANDIDATE-CELL-INFO-LIST-START
+
+CandidateCellInfoList ::= SEQUENCE (SIZE (1..maxCellSCG)) OF CandidateCellInfo
+
+CandidateCellInfo ::= SEQUENCE {
+ -- FFS whether to introduce something additional for transfer of SN configured measurements
+ cellIdentification SEQUENCE {
+ physCellId PhysCellId,
+ dl-CarrierFreq ARFCN-ValueNR
+ },
+ measResultCell SEQUENCE {
+ rsrpResultCell RSRP-Range,
+ rsrqResultCell RSRQ-Range
+ -- FFS whether to support SINR
+ } OPTIONAL,
+ candidateRS-IndexList CandidateRS-IndexInfoList OPTIONAL,
+ ...
+}
+
+CandidateRS-IndexInfoList ::= SEQUENCE (SIZE (1..maxRS-IndexReport)) OF CandidateRS-IndexInfo -- WS modification: was CandidateBeamInfoList
+
+CandidateRS-IndexInfo ::= SEQUENCE {
+ -- FFS whether to support CSI RS based beam results also
+ ssb-Index SSB-Index,
+ measResultSSB SEQUENCE {
+ rsrpResultCell RSRP-Range,
+ rsrqResultCell RSRQ-Range
+ -- FFS whether to support SINR
+ } OPTIONAL,
+ ...
+}
+
+-- TAG-CANDIDATE-CELL-INFO-LIST-STOP
+
+-- WS modification: fake definitions for missing entries in ASN.1
+maxCellPrep INTEGER ::= 1
+maxCellSCG INTEGER ::= 1
+maxRS-IndexReport INTEGER ::= 1
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
new file mode 100644
index 0000000000..c0b5713544
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/NR-RRC-Definitions.asn
@@ -0,0 +1,3061 @@
+-- 3GPP TS 38.331 V15.0.0 (2017-12)
+
+NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- TAG-NR-RRC-DEFINITIONS-STOP
+-- TAG-BCCH-BCH-MESSAGE-START
+
+BCCH-BCH-Message ::= SEQUENCE {
+ message BCCH-BCH-MessageType
+}
+
+BCCH-BCH-MessageType ::= CHOICE {
+ mib MIB,
+ messageClassExtension SEQUENCE {}
+}
+
+-- TAG-BCCH-BCH-MESSAGE-STOP
+-- TAG-DL-DCCH-MESSAGE-START
+
+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 {}
+}
+
+-- TAG-DL-DCCH-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,
+ 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-UL-DCCH-MESSAGE-STOP
+-- TAG-MIB-START
+
+MIB ::= SEQUENCE {
+ -- Part of the SSB index transmitted explicitly in the MasterInformationBlock (see 38.213, section 4.1).
+ -- The SSB-Index identifies this SSB in the SS-Burst-Set.
+ -- The field is only present for carrier frequencies >6 GHz. FFS whether to create a separate MIB for >6 GHz or move optional field to the end.
+ ssb-IndexExplicit INTEGER (1..7) OPTIONAL, -- Cond Above6Ghz
+
+ -- Indication of whether the SS block is in the first or second 5 ms of a radio frame.
+ -- Corresponds to L1 parameter 'half-frame-index' (see 38,211, section 4.3.1)
+ halfFrameIndex ENUMERATED {firstHalf,secondHalf},
+
+ systemFrameNumber BIT STRING (SIZE (10)),
+
+ -- Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages.
+ -- Values 15 and 30 kHz are applicable for carrier frequencies <6GHz; Values 60 and 120 kHz are applicable for carrier frequencies >6GHz
+ subCarrierSpacingCommon SubcarrierSpacing,
+
+ -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers. See 38.211, section 7.4.3.1)
+ ssb-subcarrierOffset INTEGER (0..11),
+
+ -- Position of (first) DL DM-RS (see 38.211, section 7.4.1.1.1)
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+
+ -- Determines a bandwidth for PDCCH/SIB, a common ControlResourceSet (CORESET) a common search space and necessary PDCCH parameters
+ -- Corresponds to L1 parameter 'RMSI-PDCCH-Config' (see FFS_Specification, section FFS_Section)
+ -- FFS: Make optional and omit e.g. in EN-DC or in other cells not broadcasting SIB1? Or make it mandatory to avoid optional fields in MIB?
+ pdcchConfigSIB1 INTEGER(0..255),
+
+ -- Indicates that UE shall not campe on this cell
+ cellBarred ENUMERATED {barred, notBarred},
+ -- Indicates that intraFreqReselection is not allowed when cellBarred is set to barred.
+ intraFreqReselection ENUMERATED {allowed, notAllowed},
+
+ -- FFS: How many spare values to keep in MIB?
+ spare BIT STRING (SIZE (0)) -- WS modification; was ffsValue
+}
+
+-- TAG-MIB-STOP
+-- TAG-MEASUREMENTREPORT-START
+
+MeasurementReport ::= SEQUENCE {
+ criticalExtensions CHOICE {
+ measurementReport MeasurementReport-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+MeasurementReport-IEs ::= SEQUENCE {
+ measResults MeasResults
+-- FFS
+}
+
+-- TAG-MEASUREMENTREPORT-STOP
+-- TAG-RRCRECONFIGURATION-START
+
+RRCReconfiguration ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfiguration RRCReconfiguration-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfiguration-IEs ::= SEQUENCE {
+ -- Configuration of Radio Bearers (DRBs, SRBs) including SDAP/PDCP.
+ -- In In EN-DC this field may only be present if the RRCReconfiguration
+ -- is transmitted over SRB3.
+ radioBearerConfig RadioBearerConfig OPTIONAL, -- Need M
+
+ -- Configuration of primary and secondary cell groups (Dual Connectivity):
+ masterCellGroupConfig CellGroupConfig OPTIONAL, -- Need M
+ secondaryCellGroupToAddModList SEQUENCE (SIZE (1..maxSCellGroups)) OF CellGroupConfig OPTIONAL, -- Need M
+ secondaryCellGroupToReleaseList SEQUENCE (SIZE (1..maxSCellGroups)) OF CellGroupId OPTIONAL, -- Need M
+
+ measConfig MeasConfig OPTIONAL, -- Need M
+
+
+ lateNonCriticalExtension OCTET STRING OPTIONAL,
+ nonCriticalExtension SEQUENCE{} OPTIONAL
+}
+
+-- TAG-RRCRECONFIGURATION-STOP
+-- TAG-RRCRECONFIGURATIONCOMPLETE-START
+
+RRCReconfigurationComplete ::= SEQUENCE {
+ rrc-TransactionIdentifier RRC-TransactionIdentifier,
+ criticalExtensions CHOICE {
+ rrcReconfigurationComplete RRCReconfigurationComplete-IEs,
+ criticalExtensionsFuture SEQUENCE {}
+ }
+}
+
+RRCReconfigurationComplete-IEs ::= SEQUENCE {
+ -- FFS
+}
+
+-- TAG-RRCRECONFIGURATIONCOMPLETE-STOP
+-- TAG-SIB1-START
+
+SIB1 ::= SEQUENCE {
+
+ -- FFS / TODO: Add other parameters.
+
+ -- Time domain positions of the transmitted SS-blocks in an SS-Burst-Set (see 38.213, section 4.1)
+ ssb-PositionsInBurst SEQUENCE {
+ -- Indicates the presence of the up to 8 SSBs in one group
+ inOneGroup BIT STRING (SIZE (8)),
+ -- For above 6 GHz: indicates which groups of SSBs is present
+ groupPresence BIT STRING (SIZE (8)) OPTIONAL -- Cond above6GHzOnly
+ },
+
+ -- The SSB periodicity in msec for the rate matching purpose (see 38.211, section [7.4.3.1])
+ ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare1, spare2 },
+
+ -- TX power that the NW used for SSB transmission. The UE uses it to estimate the RA preamble TX power.
+ -- (see 38.213, section 7.4)
+ ss-PBCH-BlockPower INTEGER (-60..50),
+
+ frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond FDD
+
+ -- FFS: How to indicate the FrequencyInfoUL for the SUL
+ supplementaryUplink SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL
+ -- FFS: Add additional (selection) criteria determining when/whether the UE shall use the SUL frequency
+ } OPTIONAL, -- Cond SUL
+
+ tdd-UL-DL-configuration NULL OPTIONAL, -- Cond TDD WS modification: was TYPE_FFS!
+
+ -- Enables hopping of base sequence of PUCCH Format 0 when transmitted in different slots.
+ -- Corresponds to L1 parameter 'PUCCH-F0-Base-sequence-hopping' (see 38.211, section 6.4.1.3)
+ pucch-Format0-BaseSequenceHopping ENUMERATED {true} OPTIONAL,
+ -- Enabling hopping of base sequence of PUCCH Format 1 when transmitted in different slots
+ -- Corresponds to L1 parameter 'PUCCH-F1-Base-sequence-hopping' (see 38.211, section 6.4.1.3)
+ pucch-Format1-BaseSequenceHopping ENUMERATED {true} OPTIONAL
+}
+
+-- TAG-SIB1-STOP
+-- TAG-SETUP-RELEASE-START
+
+--SetupRelease { ElementTypeParam } ::= CHOICE {
+-- release NULL,
+-- setup ElementTypeParam
+--}
+
+-- TAG-SETUP-RELEASE-STOP
+-- TAG-DRB-IDENTITY-START
+
+DRB-Identity ::= INTEGER (4..32)
+
+-- TAG-DRB-IDENTITY-STOP
+-- TAG-BANDWIDTH-PART-START
+
+BandwidthPart-Config ::= SEQUENCE {
+
+ -- FFS: Conditions! What to do when certain fields or the entire bandwidth part is omitted? Assume parameters of the carrier instead?
+ -- Or use the initialBWP derived from SIB1 or ServingCellConfigCommon? Or make it mandatory to provide at least one BWP.
+ -- FFS: How can a BandiwdthPart be changed? Only via synchronousReconfiguration or also without?
+
+ -- NOTE: The changes in this section are based on RAN1 agreements (not from the official L1 parameter list):
+
+ -- The bandwidth parts for downlink. (see 38.211, 38.213, section 12)
+ downlinkBandwidthPartsToReleaseList SEQUENCE (SIZE (1..maxNrofBandwidthParts)) OF BandiwdthPartId OPTIONAL,
+ downlinkBandwidthPartsToAddModList SEQUENCE (SIZE (1..maxNrofBandwidthParts)) OF BandwidthPart OPTIONAL,
+ -- ID of the downlink bandwidth part to be used upon MAC-activation of an SCell. If not provided, the UE uses the default BWP
+ firstActiveDownlinkBwp-Id BandiwdthPartId OPTIONAL, -- Cond SCellOnly
+
+ -- Corresponds to L1 parameter 'default-DL-BWP'.
+ -- ID of the downlink bandwidth part to be used upon expiry of txxx.
+ -- This field is UE specific. When the field is absent the UE the initial BWP as default BWP.
+ -- (see 38.211, 38.213, section 12)
+ -- FFS: May the NW change the default BWP with a regular RRC reconfiguration or only with Reconfiguration with sync?
+ -- FFS: Whether to add a default uplink BWP
+ defaultDownlinkBwp-Id BandiwdthPartId OPTIONAL,
+
+ -- The bandwidth parts for uplink. In case of TDD uplink- and downlink BWP with the same bandwidthPartId are considered
+ -- as a BWP pair and must have the same center frequency.
+ uplinkBandwidthPartsToReleaseList SEQUENCE (SIZE (1..maxNrofBandwidthParts)) OF BandiwdthPartId OPTIONAL,
+ uplinkBandwidthPartsToAddModList SEQUENCE (SIZE (1..maxNrofBandwidthParts)) OF BandwidthPart OPTIONAL,
+ -- ID of the uplink bandwidth part to be used upon MAC-activation of an SCell. If not provided, the UE uses the FFS: default BWP
+ firstActiveUplinkBwp-Id BandiwdthPartId OPTIONAL, -- Cond SCellOnly
+
+ -- The duration in ms after which the UE falls back to the default Bandwidth Part. (see 38.321, section FFS_Section)
+ -- The UE starts the timer when it switches its active downlink BWP to a downlink BWP other than the default downlink BWP.
+ -- The UE restarts the timer to the initial value when it successfully decodes a DCI to schedule PDSCH(s) in its active downlink BWP.
+ -- When the timer expires, the UE switches its active downlink BWP to the default downlink (FFS: and uplink?) BWP.
+ -- FFS: For TDD the UE switches also the paired uplink BWP to the one with the defaultDownlinkBwp-Id.
+ -- FFS: For FDD the UE switches the uplink BWP?????
+ -- When the network releases the timer configuration, the UE stops the timer without swithching to the default (FFS: and uplink?) BWP.
+ bandwidthPartInactivityTimer CHOICE {
+ release NULL,
+ setup ENUMERATED {
+ null }} OPTIONAL -- Need M
+
+}
+
+BandwidthPart ::= SEQUENCE {
+ -- An identifier for this bandwidth part.
+ -- Corresponds to L1 parameter 'UL-BWP-index'. (see 38.211, 38.213, section 12)
+ bandwidthPartId BandwidthPartId,
+ -- Frequency domain location of this bandwidth part as a distance in number of PRBs in relation to the reference PRB (PRB 0)
+ -- of the associated carrier. Corresponds to L1 parameter 'DL-BWP-loc'. (see 38.211, section FFS_Section).
+ -- In case of TDD, a BWP-pair (UL BWP and DL BWP with the same bandwidthPartId) must have the same location (see 38.211, section REF)
+ -- FFS_Value: RAN1 seems to discuss the final range.
+ location INTEGER (0.. maxNrofPhysicalResourceBlocksTimes4) OPTIONAL,
+ -- Bandwidth of this bandwidth part (see 38.211, section REF)
+ bandwidth INTEGER (1.. maxNrofPhysicalResourceBlocks) OPTIONAL,
+ -- Subcarrier spacing to be used in this BWP. It is applied to at least PDCCH, PDSCH and corresponding DMRS.
+ -- The values provided here are converted into a subcarrier spacing as indicated in 38.211, Table 4.1-2.
+ subcarrierSpacing ENUMERATED {n0, n1, n2, n3, n4} OPTIONAL,
+ -- Indicates whether to use the extended cyclic prefix for this bandwidth part. If not set, the UE uses the normal cyclic prefix.
+ -- Normal CP is supported for all numerologies and slot formats. Extended CP is supported only for 60 kHz subcarrier spacing.
+ -- (see 38.211, section 4.2.2)
+ cyclicPrefix ENUMERATED { extended } OPTIONAL,
+
+ -- Frequency location of the uplink "direct current" frequency.
+ -- Corresponds to L1 parameter 'UL-BWP-DC'. (see 38.211, section FFS_Section)
+ directCurrentLocation INTEGER (0..3299) OPTIONAL -- Cond UplinkOnly
+}
+
+BandwidthPartId ::= INTEGER (0..maxNrofBandwidthParts-1)
+
+-- TAG-BANDWIDTH-PART-STOP
+-- TAG-CELL-GROUP-CONFIG-START
+
+-- Configuration of one Cell-Group:
+CellGroupConfig ::= SEQUENCE {
+ cellGroupId CellGroupId,
+
+ -- Logical Channel configuration and association with radio bearers:
+ rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLCH)) OF LCH-Config OPTIONAL,
+ rlc-BearerToReleaseList SEQUENCE (SIZE(1..maxLCH)) OF LogicalChannelIdentity OPTIONAL,
+
+ -- Parameters applicable for the entire cell group:
+ mac-CellGroupConfig MAC-CellGroupConfig OPTIONAL, -- Need M
+ rlf-TimersAndConstants RLF-TimersAndConstants OPTIONAL, -- Need M
+ physical-CellGroupConfig PhysicalCellGroupConfig OPTIONAL, -- Need M
+
+ -- Serving Cell specific parameters (PCell and SCells)
+ spCellConfig SpCellConfig OPTIONAL, -- Need M
+ sCellToAddModList SCellToAddModList OPTIONAL, -- Need M
+ sCellToReleaseList SCellToReleaseList OPTIONAL -- Need M
+}
+
+CellGroupId ::= INTEGER (1.. maxSCellGroups)
+
+
+-- Configuration of one logical channel:
+LCH-Config ::= SEQUENCE {
+ logicalChannelIdentity LogicalChannelIdentity,
+
+ -- Associate the logical channel with an SRB or a DRB:
+ servedRadioBearer INTEGER (1..32) OPTIONAL, -- Cond LCH-SetupOnly
+
+ reestablishRLC ENUMERATED {true} OPTIONAL, -- Need N
+ rlc-Config RLC-Config OPTIONAL, -- Cond LCH-Setup
+
+ mac-LogicalChannelConfig LogicalChannelConfig OPTIONAL -- Cond LCH-Setup
+}
+
+LogicalChannelIdentity ::= INTEGER (1..32) -- WS modification: was FFS but 38.321 defines max value as 32
+
+-- Cell-Group specific L1 parameters
+PhysicalCellGroupConfig ::= SEQUENCE {
+ -- Enables spatial bundling of HARQ ACKs. It is configured per cell group, i.e. for all the cells within the cell group.
+ -- It is only applicable when more than 4 layers are possible to schedule.
+ -- Corresponds to L1 parameter 'HARQ-ACK-spatial-bundling' (see 38.213, section FFS_Section)
+ -- Absence indicates that spatial bundling is disabled.
+ harq-ACK-Spatial-Bundling ENUMERATED {true} OPTIONAL -- Need R,
+}
+
+
+-- Serving cell specific MAC and PHY parameters for a SpCell:
+SpCellConfig ::= SEQUENCE {
+ -- Parameters for the synchronous reconfiguration to the target SpCell:
+ reconfigurationWithSync SEQUENCE {
+ spCellConfigCommon ServingCellConfigCommon,
+ newUE-Identity C-RNTI,
+ t304 ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000-v1310},
+ rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL -- Need M
+ } OPTIONAL, -- Cond SpCellChange
+
+ spCellConfigDedicated ServingCellConfigDedicated OPTIONAL -- Need M
+}
+
+C-RNTI ::= BIT STRING (SIZE (16))
+SCellToReleaseList ::= SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex
+SCellToAddModList ::= SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig
+
+SCellConfig ::= SEQUENCE {
+ sCellIndex SCellIndex,
+ sCellConfigCommon ServingCellConfigCommon OPTIONAL, -- Cond SCellAdd
+ sCellConfigDedicated ServingCellConfigDedicated OPTIONAL -- Cond SCellAddMod
+}
+
+-- TAG-CELL-GROUP-CONFIG-STOP
+-- TAG-CELL-INDEX-LIST-START
+
+CellIndexList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellIndex
+
+CellIndex ::= INTEGER (1..maxNrofCellMeas)
+
+-- TAG-CELL-INDEX-LIST-STOP
+-- TAG-CONTROL-RESOURCE-INDEX-START
+
+ControlResourceIndex ::= INTEGER (1..maxNrofControlResourceSets)
+
+-- TAG-CONTROL-RESOURCE-INDEX-STOP
+
+CrossCarrierSchedulingConfig ::= SEQUENCE {
+
+ -- FFS: Indicate this separately for UL and DL (as done in LTE for LAA)
+ schedulingCellInfo CHOICE {
+ own SEQUENCE { -- No cross carrier scheduling
+ cif-Presence BOOLEAN
+ },
+ other SEQUENCE { -- Cross carrier scheduling
+ schedulingCellId ServCellIndex,
+ -- FFS: pdsch-start is probably not needed since RAN1 agreed that the scheduling DCI can provide (an index into a
+ -- UE-specific table giving) the OFDM symbols used for the PDSCH (or PUSCH) transmission. But what does "can provide" mean?
+ pdsch-Start INTEGER (1..4),
+ -- FFS: cif-InSchedulingCell is probably still needed since RAN1 agreed that "If CIF is present in DCI, the bitwidth is fixed at 3 bit".
+ cif-InSchedulingCell INTEGER (1..7)
+ }
+ }
+}
+
+-- TAG-CSI-MEAS-CONFIG-START
+
+-- Top level parameter for CSI/BM framework. Contains lists of reporting, resource, and link configurations (see 38.214, section 5.2)
+CSI-MeasConfig ::= SEQUENCE {
+ csi-ResourceConfigs SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig OPTIONAL,
+ csi-ReportConfigs SEQUENCE (SIZE (1..maxNrofCSI-Reports)) OF CSI-ReportConfig OPTIONAL,
+ csi-MeasIdToAddModList SEQUENCE (SIZE (1..maxNrofCSI-MeasId)) OF CSI-MeasIdToAddMod OPTIONAL,
+
+ -- Contains trigger states for dynamically selecting one or more aperiodic and semi-persistent reporting configurations
+ -- and/or triggering one or more aperiodic CSI-RS resource sets for channel and/or interference measurement.
+ -- FFS_CHECK: Is this the appropriate place for the IE or should it be inside the resource configuration or in a set?
+ reportTrigger SEQUENCE {
+ -- Size of CSI request field in DCI (bits). Corresponds to L1 parameter 'ReportTriggerSize' (see 38.214, section 5.2)
+ reportTriggerSize INTEGER (0..6) OPTIONAL -- WS modification: was FFS but 38.214 defines max value as 6
+ }
+}
+
+
+-- One CSI resource configuration comprising of one or more resource sets
+CSI-ResourceConfig ::= SEQUENCE {
+ -- FFS: Where is the CSI-ResourceConfigId used?
+ csi-ResourceConfigId CSI-ResourceConfigId,
+ -- Contains up to maxNrofCSI-ResourceSets resource CSI-ReosurceSets if ResourceConfigType is 'aperiodic' and maxNrofCSI-ResourceSets otherwise.
+ -- Corresponds to L1 parameter 'ResourceSetConfigList' (see 38.214, section 5.2.1.3.1)
+ csi-ResourceSets SEQUENCE (SIZE (1..maxNrofCSI-ResourceSets)) OF CSI-ResourceSet,
+
+ -- List of SSB resources used for beam measurement and reporting in a resource set
+ -- Corresponds to L1 parameter 'SSBResourceMeasList' (see 38,214, section FFS_Section)
+ ssb-Resources SEQUENCE (SIZE (1..maxNrofSSB-Resources-1)) OF CSI-SSB-Resource OPTIONAL,
+
+ -- Time domain behavior of resource configuration. Corresponds to L1 parameter 'ResourceConfigType' (see 38.214, section 5.2.2.3.5)
+ resourceType CHOICE {
+ aperiodic NULL,
+ semiPersistent NULL,
+ periodic NULL
+ }}
+
+CSI-ResourceConfigId ::= INTEGER (0..maxNrofCSI-ResourceConfigurations-1)
+
+-- A set of CSI-RS resources (their IDs) for which DCI indicates whether or not these CSI-RS resources are currently present or not.
+-- Corresponds to L1 parameter 'ResourceSetConfig' (see 38.214, section 5.2)
+CSI-ResourceSet ::= SEQUENCE {
+ -- FFS: Where is the CSI-ResourceSetId used?
+ csi-ResourceSetId CSI-ResourceSetId,
+ -- Contains up to maxNrofCSI-RS-ResourcesPerSet CSI-RS-Resource configurations.
+ -- Corresponds to L1 parameter 'CSI-RS-ResourceConfigList' (see 38.214, section 5.2)
+ -- FFS: Better make the csi-rs-Resources a common pool on CSI-MeasConfig level?
+ csi-rs-Resources SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-Resource,
+ -- Indicates whether repetition is on/off. Repetition on (off), means that The UE can (cannot) assume that
+ -- the network maintains a fixed TX beam over the resources in the set.
+ -- Corresponds to L1 parameter 'ResourceRep' (see 38.214, section FFS_Section)
+ repetition BOOLEAN
+}
+
+CSI-ResourceSetId ::= INTEGER (0..maxNrofCSI-ResourceSets-1)
+
+-- A CSI-RS (reference signal) resource which the UE may be configured to measure on (see 38.214, section 5.2.1.3.1)
+NZP-CSI-RS-Resource ::= SEQUENCE {
+ nzp-csi-rs-ResourceId NZP-CSI-RS-ResourceId,
+ -- Number of ports (see 38.214, section 5.2.1.2)
+ nrofPorts ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
+ -- OFDM symbol location(s) in a slot and subcarrier occupancy in a PRB of the CSI-RS resource
+ -- FFS: how to configure CSI-RS in different slots for fine time/frequency tracking (see 38.214, section 5.2.1.3.1)
+ resourceMapping NULL, -- WS modification: was TYPE_FFS!
+ -- CDM value (1, 2, 4, or 8), CDM pattern (freq only, time and freq, time only) (see 38.214, section 5.2.1.3.1)
+ cdm-Value ENUMERATED {n1, n2, n4, n8},
+ cdm-Pattern ENUMERATED {freqOnly, timeAndFreq, timeOnly},
+ -- Density of CSI-RS resource measured in RE/port/PRB (see 38.214, section 5.2.1.3.1)
+ -- Values 0.5 (dot5), 1 (one) and 3 (three) are allowed for X=1,
+ -- values 0.5 (dot5) and 1 (one) are allowed for X=2, 16, 24 and 32,
+ -- value 1 (one) is allowed for X=4, 8, 12.
+ csi-RS-Density ENUMERATED {dot5, one, three, spare},
+ -- Wideband or partial band CSI-RS (see 38.214, section 5.2.1.3.1)
+ csi-RS-FreqBand NULL, -- WS modification: was TYPE_FFS!
+ -- Power offset of NZP CSI-RS RE to PDSCH RE, corresponds to parameter Pc (see 38.214, section 5.2.1.3.1)
+ powerControlOffset NULL, -- WS modification: was TYPE_FFS!
+ -- Power offset of NZP CSI-RS RE to SS RE. Corresponds to L1 parameter 'Pc_SS' (see 38.214, section FFS_Section)
+ powerControlOffsetSS NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Scrambling ID (see 38.214, section 5.2.1.3.1)
+ scramblingID INTEGER(0), -- WS modification: was TYPE_FFS!
+ -- Periodicity and slot offset
+ csi-RS-timeConfig CHOICE {
+ sl5 INTEGER (0..4),
+ sl10 INTEGER (0..9),
+ sl20 INTEGER (0..19),
+ sl40 INTEGER (0..39),
+ sl80 INTEGER (0..79),
+ sl160 INTEGER (0..159),
+ sl320 INTEGER (0..319),
+ sl640 INTEGER (0..639)
+ }
+}
+
+NZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)
+
+ZP-CSI-RS-Resource ::= SEQUENCE {
+ zp-csi-rs-ResourceId ZP-CSI-RS-ResourceId,
+ -- OFDM symbol and subcarrier occupancy of the CSI-RS resource within a slot (see 38.214, section REF)
+ resourceMapping NULL -- WS modification: was TYPE_FFS!
+
+}
+
+ZP-CSI-RS-ResourceId ::= INTEGER (0..maxNrofZP-CSI-RS-Resources-1)
+
+CSI-IM-ResourceConfig ::= SEQUENCE {
+ csi-IM-ResourceConfigId CSI-IM-ResourceConfigId,
+
+ -- The resource element pattern for the CSI-IM resource
+ -- Corresponds to L1 parameter 'CSI-IM-RE-pattern' (see 38.214, section 5.2.2.3.4)
+ csi-IM-ResourceElementPattern ENUMERATED {pattern2-2, pattern4-1},
+
+ -- OFDM symbol and subcarrier occupancy of the CSI-IM resource within a slot
+ -- Corresponds to L1 parameter 'CSI-IM-ResourceMapping' (see 38.214, section 5.2.2.3.4)
+ -- FFS_Values: RAN1 indicated "symbol locations: [0..13] and subcarrier locations: [0..9]" -> Should this be a bitmap of 9x13? Or two separate?
+ resourceMapping NULL OPTIONAL -- WS modification: was TYPE_FFS!
+}
+
+CSI-IM-ResourceConfigId ::= INTEGER (0..maxNrofCSI-IM-Resources-1)
+
+CSI-SSB-Resource ::= SEQUENCE {
+ -- FFS: Undefined what the IE CSI-SSB-Resource contains.
+}
+
+-- Configuration of a CSI-Report sent on L1 (e.g. PUCCH) (see 38.214, section 5.2.1)
+CSI-ReportConfig ::= SEQUENCE {
+ reportConfigId CSI-ReportConfigId,
+ -- Time domain behavior of reporting configuration
+ reportConfigType CHOICE {
+ periodic SEQUENCE {
+ -- Periodicity and slot offset . Corresponds to L1 parameter 'ReportPeriodicity'and 'ReportSlotOffset'
+ -- (see 38.214, section section 5.2.1.4).
+ reportSlotConfig CHOICE {
+ sl5 INTEGER(0..4),
+ sl10 INTEGER(0..9),
+ sl20 INTEGER(0..19),
+ sl40 INTEGER(0..39),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319)
+ },
+ -- Indicates which PUCCH resource to use for reporting on PUCCH.
+ pucch-CSI-ResourceIndex NULL -- WS modification: was TYPE_FFS!
+ },
+ semiPersistent SEQUENCE {
+ -- Periodicity and slot offset. Corresponds to L1 parameter 'ReportPeriodicity' and 'ReportSlotOffset'
+ -- (see 38.214, section section 5.2.1.4).
+ reportSlotConfig CHOICE {
+ sl5 INTEGER(0..4),
+ sl10 INTEGER(0..9),
+ sl20 INTEGER(0..19),
+ sl40 INTEGER(0..39),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319)
+ },
+ -- Indicates which PUCCH resource to use for reporting on PUCCH.
+ pucch-CSI-ResourceIndex NULL -- WS modification: was TYPE_FFS!
+ },
+ aperiodic SEQUENCE {
+ -- Timing offset Y for aperiodic reporting. A particular value is indicated in DCI. (see 38.214, section 5.2.1.1)
+ aperiodicReportSlotOffset NULL -- WS modification: was TYPE_FFS!
+ }
+ },
+ -- The CSI related quanities to report (see 38.214, section REF)
+ reportQuantity CHOICE {
+ cRI-RI-PMI-CQI NULL,
+ cRI-RI-i1 NULL,
+ cRI-RI-i1-CQI SEQUENCE {
+ -- PRB bundling size to assume for CQI calcuation when reportQuantity is CRI/RI/i1/CQI
+ -- Corresponds to L1 parameter 'PDSCH-bundle-size-for-CSI' (see 38.214, section FFS_Section)
+ pdsch-BundleSizeForCSI ENUMERATED {n2, n4} OPTIONAL
+ },
+ cRI-RI-CQI NULL,
+ cRI NULL,
+ cRI-RSRP NULL,
+ spare1 NULL,
+ spare0 NULL
+ },
+ -- Reporting configuration in the frequency domain. (see 38.214, section 5.2.1)
+ reportFreqConfiguration SEQUENCE {
+ -- Indicates whether the UE shall report a single (wideband) or multiple (subband) CQI. (see 38.214, section 5.2.1.4)
+ cqi-FormatIndicator ENUMERATED { widebandCQI, subbandCQI },
+ -- Indicates whether the UE shall report a single (wideband) or multiple (subband) PMI. (see 38.214, section 5.2.1.4)
+ pmi-FormatIndicator ENUMERATED { widebandPMI, subbandPMI },
+ -- Indicates a contiguous or non-contigous subset of subbands in the bandwidth part which CSI shall be reported
+ -- for. FFS: Each bit in the bit-string represents one subband. The right-most bit in the bit string represents the
+ -- lowest subband in the BWP. (see 38.214, section 5.2.1.4)
+ -- FFS: Size of the bitmap. Introduce a CHOICE with different bitmap lengths depening on number of subbands in carrier/BWP?
+ csi-ReportingBand BIT STRING (SIZE (FFS))
+ },
+ -- Time domain measurement restriction for the channel (signal) measurements. (see 38.214, section 5.2.1.1)
+ measRestrictionTimeForChannel NULL, -- WS modification: was TYPE_FFS!
+ -- Time domain measurement restriction for interference measurements. (see 38.214, section 5.2.1.1)
+ measRestrictionTimeForInterference NULL, -- WS modification: was TYPE_FFS!
+ -- Codebook configuration for Type-1 or Type-II including codebook subset restriction
+ codebookConfig CodebookConfig,
+ -- Maximum number of CQIs per CSI report (cf. 1 for 1-CW, 2 for 2-CW)
+ nrofCQIsPerReport ENUMERATED {n1, n2},
+ -- Turning on/off group beam based reporting (see 38.214, section FFS_Section)
+ groupBasedBeamReporting CHOICE {
+ enabled SEQUENCE {
+ -- Number of beams to report for group based beam reporting (see 38.214, section REF)
+ nrofBeamsToReport INTEGER (2..4) -- WS modification: was TYPE_FFS! but 38.214 suggests this range
+ },
+ disabled SEQUENCE {
+ -- The number (N) of measured RS resources to be reported per report setting in a non-group-based report.
+ -- N <= N_max, where N_max is either 2 or 4 depending on UE capability.
+ -- FFS: The signaling mechanism for the gNB to select a subset of N beams for the UE to measure and report.
+ -- FFS: Note: this parameter may not be needed for certain resource and/or report settings
+ -- FFS_ASN1: Change groupBasedBeamReporting into a CHOICE and include this field into the "no" option?
+ -- (see 38.214, section FFS_Section)
+ -- When the field is absent the UE applies the value 1
+ nrofReportedRS ENUMERATED {n1, n2, n3, n4} OPTIONAL
+ }
+ },
+
+ -- Which CQI table to use for CQI calculation. Corresponds to L1 parameter 'CQI-Table' (see 38.214, section FFS_Section)
+ -- FFS: Whether URLLC2 should be added as one option
+ cqi-Table ENUMERATED {dl-64QAM, dl-256QAM, urllc1, urllc2} OPTIONAL,
+ -- Indicates one out of two possible BWP-dependent values for the subband size
+ -- Corresponds to L1 parameter 'SubbandSize' (see 38.214, section FFS_Section)
+ -- FFS_Value: Clarify what value1 and value2 mean.
+ subbandSize ENUMERATED {value1, value2},
+ -- BLER target that the UE shall be assume in its CQI calculation.
+ -- Corresponds to L1 parameter 'BLER-Target' (see 38.214, section FFS_Section)
+ -- FFS_Values (now filled with spares)
+ bler-Target ENUMERATED {v0dot1, spare3, space2, spare1} OPTIONAL
+
+}
+
+CSI-ReportConfigId ::= INTEGER (0..maxNrofCSI-ReportConfig-1)
+
+-- Codebook configuration for Type-I and Type-II (see 38.214, section 5.2.2.2)
+CodebookConfig ::= SEQUENCE {
+ -- Number of antenna ports in first dimension
+ codebookConfig-N1 ENUMERATED {n1,n2,n3,n4,n6,n8,n12,n16},
+ -- Number of antenna ports in second dimension
+ codebookConfig-N2 ENUMERATED {n1,n2,n3,n4},
+ -- Codebook subset restriction for the different codebooks
+
+ -- CodebookType including possibly sub-types and the corresponding parameters for each. Corresponds to L1 parameter 'CodebookType'
+ -- (see 38.214, section 5.2.2.2)
+ codebookType CHOICE {
+ type1 SEQUENCE {
+ subType ENUMERATED {typeI-SinglePanel, typeI-MultiPanel},
+ -- Switch between Config 1 and Config 2
+ codebookMode ENUMERATED {config1, config2},
+ -- Number of panels, Ng, used in multi-panel codebook
+ numberOfPanels ENUMERATED {panels2, panels4} OPTIONAL, -- Cond TypeI-MultiPanel
+ codebookSubsetRestrictionType1 CHOICE {
+ -- Codebook subset restriction for Type I Single-panel codebook
+ -- Corresponds to L1 parameter 'TypeI-SinglePanel-CodebookSubsetRestriction' (see 38.214, section FFS_Section)
+ -- FFS_Value: RAN1 indicated Bitmap of size N1*N2*O1*O2
+ singlePanel BIT STRING (SIZE (FFS)),
+
+ -- Codebook subset restriction for 2TX codebook
+ -- Corresponds to L1 parameter 'TypeI-SinglePanel-2Tx-CodebookSubsetRestriction' (see 38.214, section FFS_Section)
+ singlePanel2TX BIT STRING (SIZE (6)),
+
+ -- Codebook subset restriction for Type I Multi-panel codebook
+ -- Corresponds to L1 parameter 'TypeI-MultiPanel-CodebookSubsetRestriction' (see 38.214, section FFS_Section)
+ multiPanel BIT STRING (SIZE (FFS)),
+ -- i2 codebook subset restriction for Type I Single-panel codebook used when reportQuantity is CRI/Ri/i1/CQI
+ -- Corresponds to L1 parameter 'TypeI-SinglePanel-CodebookSubsetRestriction-i2' (see 38.214, section FFS_Section)
+ singlePanelCodebookSubsetRestriction-i2 BIT STRING (SIZE (16))
+ },
+ ri-Restriction CHOICE {
+ -- Restriction for RI for TypeI-SinglePanel-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeI-SinglePanel-RI-Restriction' (see 38.214, section FFS_Section)
+ typeI-SinglePanelRI-Restriction BIT STRING (SIZE (8)),
+ -- Restriction for RI for TypeI-MultiPanel-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeI-MultiPanel-RI-Restriction' (see 38.214, section FFS_Section)
+ typeI-MultiPanelRI-Restriction BIT STRING (SIZE (4))
+ }
+ },
+ type2 SEQUENCE {
+ subType ENUMERATED {typeII, typeII-PortSelection},
+ -- The size of the PSK alphabet, QPSK or 8-PSK
+ phaseAlphabetSize ENUMERATED {n4, n8},
+ -- If subband amplitude reporting is activated (true)
+ subbandAmplitude BOOLEAN,
+ -- Number of beams, L, used for linear combination
+ numberOfBeams ENUMERATED {beams2, beams3, beams4},
+ -- The size of the port selection codebook (parameter d)
+ portSelectionSamplingSize ENUMERATED {n1, n2, n3, n4} OPTIONAL, -- Cond TypeII-PortSelection
+ -- Codebook subset restriction for Type II codebook.
+ -- FFS: Clarify the meaning of the bitmap
+ -- FFS: The size of the bitmap is ceil(log2(nchoosek(O1*O2,4)))+8*N1*N2 ==> Clarify size. Present different bitmap sizes by CHOICE?
+ codebookSubsetRestrictionType2 BIT STRING (SIZE (FFS)),
+ ri-Restriction CHOICE {
+ -- Restriction for RI for TypeII-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeII-RI-Restriction' (see 38.214, section FFS_Section)
+ typeII-RI-Restriction BIT STRING (SIZE (2)),
+ -- Restriction for RI for TypeII-PortSelection-RI-Restriction
+ -- Corresponds to L1 parameter 'TypeII-PortSelection-RI-Restriction' (see 38.214, section FFS_Section)
+ typeII-PortSelectionRI-Restriction BIT STRING (SIZE (2))
+ }
+ }
+ }
+}
+
+
+-- Linking a CSI-RS-ResourceConfig with a CSI-ReportConfig (see 38.214, section 5.2)
+CSI-MeasIdToAddMod ::= SEQUENCE {
+ csi-measId CSI-MeasId,
+ csi-RS-resourceConfigId CSI-RS-ConfigurationId,
+ csi-reportConfigId CSI-ReportConfigId,
+
+ -- For CQI-Emulation, i.e., how to measure and compute the CQI.
+ -- CHECK: Clarify further what the values mean.
+ -- CHECK: Is there a need to inform the UE which resource to use for which measurement (signal, interference, ...)?
+ measQuantity ENUMERATED {channel, interference}
+}
+
+CSI-MeasId ::= INTEGER (0..maxNrofCSI-MeasId-1)
+
+-- CHECK: Do the BeamManagement parameters really belong into the CSI context? Or rather to RLF/RLM?
+-- FFS_FIXME: BeamManagement IE is not used anywhere.
+BeamManagement ::= SEQUENCE {
+ -- Use of PRACH or/and PUSCH for beam in some combination, details FFS
+ linkReconfigurationRequest NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- List of CSI-RS resouces used for beam failure detection
+ -- Corresponds to L1 parameter 'Beam-Failure-Detection-RS-ResourceConfig' (see 38.213, section 6)
+ failureDetectionResources NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- Number of beam failure instances before the UE declares beam failure
+ -- Corresponds to L1 parameter 'Beam-Failure-Instance-MaxCount' (see 38.321, section FFS_Section)
+ beamFailureInstanceMaxCount NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- Reference signal used to identify candidate beam
+ -- Corresponds to L1 parameter 'Candidate-Beam-RS-Identification-Resource' (see 38.213, section 6)
+ beamFailureCandidateBeamResource NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- The candidate beam can be considered identified when metric X (FFS) of candidate beam is higher than a threshold"
+ -- Corresponds to L1 parameter 'Beam-failure-candidate-beam-threshold' (see 38.213, section 6)
+ beamFailureCandidateBeamThreshold NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- RACH resource to send the beam failure recovery request
+ -- Corresponds to L1 parameter 'Beam-failure-recovery-request-RACH-Resource' (see 38.213, section 6)
+ beamFailureRecoveryRACH-Resource NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- Window for beamfailure recovery
+ -- Corresponds to L1 parameter 'Beam-failure-recovery-request-window' (see 38.213, section 6)
+ beamFailureRecoveryRequestWindow NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- CORESET configured to receive the Beam Failure Recovery Response. FFS: parameter name to be updated
+ -- Corresponds to L1 parameter 'Beam-Failure-Recovery-Response-CORESET' (see 38.213, section 6)
+ -- When the field is absent the UE applies the value FFS_DefaultValue
+ -- FFS_Value: Is this the ID of a CORESET defined elsewhere? Or is it really a ControlResourceSet IE?
+ recoveryControlResourceSet NULL OPTIONAL -- WS modification: was FFS_Value
+
+}
+
+-- TAG-CSI-MEAS-CONFIG-STOP
+-- TAG-FAILURE-REPORT-SCG-TO-OTHER-RAT-START
+-- FFS if failureType is needed
+
+FailureReportSCG-ToOtherRAT ::= SEQUENCE {
+ failureType ENUMERATED { t313-Expiry, randomAccessProblem,
+ rlc-MaxNumRetx, maxUL-TimingDiff,
+ scg-ChangeFailure, scg-reconfigFailure,
+ srb3-IntegrityFailure},
+ measResultServingFreqList MeasResultServFreqList2NR,
+ measResultNeighCells MeasResultList2NR,
+ ...
+}
+
+MeasResultServFreqList2NR ::= SEQUENCE (SIZE (1..maxServCell)) OF MeasResultServFreq2NR
+
+MeasResultServFreq2NR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ measResultServingCell MeasResultNR,
+ measResultBestNeighServingCell MeasResultNR OPTIONAL
+}
+
+MeasResultList2NR ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
+
+MeasResult2NR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+ measResult MeasResultListNR
+}
+
+-- TAG-FAILURE-REPORT-SCG-TO-OTHER-RAT-STOP
+-- TAG-FREQUENCY-INFO-UL-START
+
+FrequencyInfoUL ::= SEQUENCE {
+ -- FFS_FIXME: Frequency Information parameters need corrections (currently just inherited from LTE).
+ carrierFreqUL ARFCN-ValueNR OPTIONAL, -- Need OP
+ carrierBandwidthUL CarrierBandwidthNR OPTIONAL, -- Need OP
+ additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Need OP
+ p-Max P-Max OPTIONAL, -- Need OP
+ -- Enable or disable the NR UL transmission with a 7.5KHz shift to the LTE raster
+ frequencyShift7p5khz ENUMERATED {true} OPTIONAL, -- Cond FDD
+
+ -- The initial uplink BWP configuration for a SpCell. Corresponds to L1 parameter 'initial-UL-BWP'.
+ -- (see 38.331, section FFS_Section).
+ initialUplinkBandwidthPart BandwidthPart OPTIONAL -- Cond FDD-PCell
+}
+
+-- TAG-FREQUENCY-INFO-UL-STOP
+-- TAG-LOGICAL-CHANNEL-CONFIG-START
+
+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 {ms50, ms100, ms150, ms300, ms500, ms1000, spare2, spare1},
+
+ -- FFS: Detailed handling of restrictions (UP email discussion)
+ -- Defined in L1 parameters but the value range must be checked.
+ allowedSubCarrierSpacing SubcarrierSpacing OPTIONAL,
+
+ allowedTiming NULL OPTIONAL, -- WS modification: was TYPE_FFS
+ logicalChannelGroup INTEGER (0..maxLCid) OPTIONAL,
+
+ logicalChannelSR-Mask BOOLEAN,
+
+ logicalChannelSR-DelayTimerApplied BOOLEAN
+ } OPTIONAL -- Cond UL
+
+ -- other parameters
+}
+
+-- TAG-LOGICAL-CHANNEL-CONFIG-STOP
+-- TAG-MAC-CELL-GROUP-CONFIG-START
+
+MAC-CellGroupConfig ::= SEQUENCE {
+ drx-Config DRX-Config OPTIONAL, -- Need R
+
+ schedulingRequestConfig SchedulingRequestConfig OPTIONAL,
+ bsr-Config BSR-Configuration OPTIONAL, -- Need N
+ tag-Config TAG-Configuration OPTIONAL, -- Need N
+ phr-Config PHR-Config OPTIONAL, -- Need N
+ sCellDeactivationTimer ENUMERATED {
+ ms20, ms40, ms80, ms160, ms200, ms240, ms320, ms400, ms480, ms520, ms640, ms720, ms840, ms1280, spare2,
+ spare1} OPTIONAL, -- Cond ServingCellWithoutPUCCH
+ -- FFS : configurable per SCell?
+ skipUplinkTxDynamic BOOLEAN
+}
+
+DRX-Config ::= CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ drx-onDurationTimer ENUMERATED {
+ ms1-32, ms2-32, ms3-32, ms4-32, ms5-32, ms6-32, ms7-32, ms8-32, ms9-32, ms10-32, ms11-32,
+ ms12-32, ms13-32, ms14-32, ms15-32, ms16-32, ms17-32, ms18-32, ms19-32, ms-20-32, ms21-32,
+ ms22-32, ms23-32, ms24-32, ms25-32, ms26-32, ms27-32, ms28-32, ms29-32, ms30-32, ms31-32,
+ ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
+ ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
+ ms1600, spare9, 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,
+ 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, sl1128,
+ u160sl160, u320sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
+ spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
+ -- FFS units and dependency on numerology for DL and UL retransmission timers
+ 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 ENUMERATED {
+ ms0, ms1-32,ms2-32, ms3-32, ms4-32, ms5-32, ms6-32, ms7-32, ms8-32, ms9-32, ms10-32, ms11-32,
+ ms12-32, ms13-32, ms14-32, ms15-32, ms16-32, ms17-32, ms18-32, ms19-32, ms-20-32, ms21-32,
+ ms22-32, ms23-32, ms24-32, ms25-32, ms26-32, ms27-32, ms28-32, ms29-32, ms30-32, ms31-32 } }
+}
+
+PHR-Config ::= CHOICE {
+ release NULL,
+ setup 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-Type2PCell BOOLEAN,
+ phr-Type2OtherCell BOOLEAN,
+ phr-ModeOtherCG ENUMERATED {real, virtual}
+ }
+}
+
+
+TAG-Config ::= SEQUENCE {
+ tag-ToReleaseList TAG-ToReleaseList OPTIONAL, -- Need N
+ tag-ToAddModList TAG-ToAddModList OPTIONAL -- Need N
+}
+
+TAG-ToReleaseList ::= SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id
+TAG-ToAddModList ::= SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-ToAddMod
+TAG-ToAddMod ::= 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 {
+ -- FFS: other values for periodicBSR-Timer, "every PDU" value
+ 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},
+ logicaChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL
+}
+
+
+
+-- TAG-MAC-CELL-GROUP-CONFIG-STOP
+-- TAG-MEAS-CONFIG-START
+
+MeasConfig ::= SEQUENCE {
+ -- Measurement objects
+ measObjectToRemoveList MeasObjectToRemoveList OPTIONAL,
+ measObjectToAddModList MeasObjectToAddModList OPTIONAL,
+
+ -- Reporting configurations
+ reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL,
+ reportConfigToAddModList ReportConfigToAddModList OPTIONAL,
+
+ -- Measurement identities
+ measIdToRemoveList MeasIdToRemoveList OPTIONAL,
+ measIdToAddModList MeasIdToAddModList OPTIONAL,
+
+ -- Other parameters
+ -- s-Measure config
+ s-MeasureConfig CHOICE {
+ ssb-rsrp RSRP-Range,
+ csi-rsrp RSRP-Range
+ } OPTIONAL,
+
+ quantityConfig QuantityConfig OPTIONAL,
+
+ -- Placehold for measGapConfig
+ measGapConfig MeasGapConfig OPTIONAL
+}
+
+MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId
+
+MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId
+
+ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxNrofReportConfigId)) OF ReportConfigId
+
+-- TAG-MEAS-CONFIG-STOP
+-- TAG-MEAS-ID-START
+
+MeasId ::= INTEGER (1..maxNrofMeasId)
+
+-- TAG-MEAS-ID-STOP
+-- TAG-MEAS-ID-TO-ADD-MOD-LIST-START
+
+MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod
+
+MeasIdToAddMod ::= SEQUENCE {
+ measId MeasId,
+ measObjectId MeasObjectId OPTIONAL,
+ reportConfigId ReportConfigId
+}
+
+-- TAG-MEAS-ID-TO-ADD-MOD-LIST-STOP
+-- TAG-MEAS-OBJECT-ID-START
+
+MeasObjectId ::= INTEGER (1..maxNrofObjectId)
+
+-- TAG-MEAS-OBJECT-ID-STOP
+-- TAG-MEAS-OBJECT-NR-START
+
+MeasObjectNR ::= SEQUENCE {
+ carrierFreq ARFCN-ValueNR,
+
+ --RS configuration (e.g. SMTC window, CSI-RS resource, etc.)
+ referenceSignalConfig ReferenceSignalConfig OPTIONAL,
+
+ --Consolidation of L1 measurements per RS index
+ absThreshSS-BlocksConsolidation ThresholdNR OPTIONAL,
+ absThreshCSI-RS-Consolidation ThresholdNR OPTIONAL,
+
+ --Config for cell measurement derivation
+ nroSS-BlocksToAverage INTEGER (2..maxNroSS-BlocksToAverage) OPTIONAL,
+ nroCSI-RS-ResourcesToAverage INTEGER (2..maxNroCSI-RS-ResourcesToAverage) OPTIONAL,
+
+ -- Filter coefficients applicable to this measurement object
+ quantityConfigIndex INTEGER (1..maxQuantityConfigId),
+
+ --Frequency-specific offsets (only for events A3, A6)
+ offsetFreq Q-OffsetRangeList,
+
+ -- Cell list
+ cellsToRemoveList CellIndexList OPTIONAL,
+ cellsToAddModList CellsToAddModList OPTIONAL,
+
+ -- Black list
+ blackCellsToRemoveList CellIndexList OPTIONAL,
+ blackCellsToAddModList BlackCellsToAddModList OPTIONAL,
+
+ -- White list
+ whiteCellsToRemoveList CellIndexList OPTIONAL,
+ whiteCellsToAddModList WhiteCellsToAddModList OPTIONAL
+}
+
+-- FFS / TODO: To be updated based on email discussion[99#31][NR] Additional information for SSB and CSI-RS config (Ericsson)
+ReferenceSignalConfig::= SEQUENCE {
+
+ ssb-MeasurementTimingConfiguration SSB-MeasurementTimingConfiguration OPTIONAL,
+
+ ssbPresence CHOICE {
+ present SEQUENCE {
+ frequencyOffset NULL, -- WS modification: was TYPE_FFS!
+ subcarrierSpacing SubcarrierSpacing
+ },
+ notPresent SEQUENCE {
+ -- FFS: How to inform the UE where else to find the SSB. FFS whether to indicate here a carrier or a cell ID or multiple cell IDs
+ }
+ },
+
+ -- CSI-RS resources to be used for for CSI-RS based RRM measurements
+ csi-rs-ResourceConfig-Mobility CSI-RS-ResourceConfig-Mobility OPTIONAL, -- Need N
+
+ -- Indicates whether the UE can utilize serving cell timing to derive the index of SS block transmitted by neighbour cell:
+ useServingCellTimingForSync BOOLEAN
+}
+
+-- A measurement timing configuration
+SSB-MeasurementTimingConfiguration ::= SEQUENCE {
+ -- Primary measurement timing configuration. Applicable for intra- and inter-frequency measurements.
+ smtc1 SEQUENCE {
+ -- Periodicity and offset of the measurement window in which to receive SS/PBCH blocks.
+ -- Periodicity and offset are given in number of subframes.
+ -- FFS_FIXME: This does not match the L1 parameter table!
+ -- (see 38.213, section REF):
+ 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 of the measurement window in which to receive SS/PBCH blocks. It is given in number of subframes
+ -- (see 38.213, section 4.1)
+ -- FFS: RAN1 discusses additional allowed durations:
+ duration ENUMERATED { sf1, sf5 },
+
+ -- The set of SS blocks to be measured within the SMTC measurement duration.
+ -- Corresponds to L1 parameter 'SSB-measured' (see FFS_Spec, section FFS_Section)
+ -- When the field is absent the UE measures on all SS-blocks
+ -- FFS_CHECK: Is this IE placed correctly.
+ ssb-ToMeasure CHOICE {
+ release NULL,
+ setup CHOICE {
+ -- bitmap for sub 3 GHz
+ shortBitmap BIT STRING (SIZE (4)),
+ -- bitmap for 3-6 GHz
+ mediumBitmap BIT STRING (SIZE (8)),
+ -- bitmap for above 6 GHz
+ longBitmap BIT STRING (SIZE (64))
+ }
+ } OPTIONAL -- Need M
+ },
+
+ -- Secondary measurement timing confguration for explicitly signalled PCIs. It uses the offset and duration from smtc1.
+ -- It is supported only for intra-frequency measurements in RRC CONNECTED.
+ smtc2 SEQUENCE {
+ -- PCIs that are known to follow this SMTC.
+ pci-List SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysicalCellId OPTIONAL,
+ -- Periodicity for the given PCIs. Timing offset and Duration as provided in smtc1.
+ periodicty NULL -- WS modification: was TYPE_FFS!
+ } OPTIONAL -- Cond IntraFreqConnected
+}
+
+CSI-RS-ResourceConfig-Mobility ::= SEQUENCE {
+ -- MO specific values
+csi-rs-MeasurementBW SEQUENCE {
+ csi-rs-measurementBW-size ENUMERATED { size24, size48, size96, size192, size268},
+ csi-rs-measurement-BW-start ENUMERATED {ffsTypeAndValue},
+ associated-SSB ENUMERATED {ffsTypeAndValue},
+ qcled-SSB BOOLEAN,
+ isServingCellMO BOOLEAN
+},
+ -- subcarrier spacing of CSI-RS. It can take the same values available also for the data channels and for SSB
+ subcarrierSpacing SubcarrierSpacing,
+
+ -- List of resources
+ csi-rs-ResourceList-Mobility SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility
+}
+
+CSI-RS-Resource-Mobility ::= SEQUENCE {
+ csi-rs-ResourceId-RRM CSI-RS-ResourceId-RRM,
+ cellId PhysicalCellId,
+ -- Contains periodicity and slot offset for periodic/semi-persistent CSI-RS (see 38.211, section x.x.x.x)FFS_Ref
+ -- FFS: Whether ms80 and ms160 are supported
+ slotConfig CHOICE {
+ ms5 INTEGER (0..4),
+ ms10 INTEGER (0..9),
+ ms20 INTEGER (0..19),
+ ms40 INTEGER (0..39),
+ ms80 INTEGER (0..79),
+ ms160 INTEGER (0..159)
+ },
+ -- Resource Element mapping pattern for CSI-RS (see 38.211, section x.x.x.x) FFS_Ref
+ resourceElementMappingPattern NULL, -- WS modification: was TYPE_FFS!
+ -- FFS / TODO: ADD DESCRIPTION (see 38.211, section x.x.x.x) FFS_Ref
+ sequenceGenerationConfig NULL -- WS modification: was TYPE_FFS!
+}
+
+CSI-RS-ResourceId-RRM ::= INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)
+
+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{
+ threshold-RSRP RSRP-Range OPTIONAL,
+ threshold-RSRQ RSRQ-Range OPTIONAL,
+ threshold-SINR SINR-Range OPTIONAL
+}
+
+CellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod
+
+CellsToAddMod ::= SEQUENCE {
+ cellIndex INTEGER (1..maxNrofCellMeas),
+ physCellId PhysCellId,
+ cellIndividualOffset Q-OffsetRangeList
+}
+
+BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF BlackCellsToAddMod
+
+BlackCellsToAddMod ::= SEQUENCE {
+ cellIndex INTEGER (1..maxNrofCellMeas),
+ physCellIdRange PhysCellIdRange
+}
+
+
+WhiteCellsToAddModList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF WhiteCellsToAddMod
+
+WhiteCellsToAddMod ::= SEQUENCE {
+ cellIndex INTEGER (1..maxNrofCellMeas),
+ physCellIdRange PhysCellIdRange
+}
+
+-- TAG-MEAS-OBJECT-NR-STOP
+-- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-START
+
+MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod
+
+MeasObjectToAddMod ::= SEQUENCE {
+ measObjectId MeasObjectId,
+ measObject CHOICE {
+ measObjectNR MeasObjectNR,
+ measObjectEUTRA MeasObjectEUTRA
+ }
+}
+
+-- TAG-MEAS-OBJECT-TO-ADD-MOD-LIST-STOP
+-- TAG-MEAS-RESULTS-START
+
+MeasResults ::= SEQUENCE {
+ measId MeasId,
+ measResultServingFreqList MeasResultServFreqList,
+ measResultNeighCells CHOICE {
+ measResultListNR MeasResultListNR,
+ measResultListEUTRA MeasResultListEUTRA,
+ ...
+ } OPTIONAL
+}
+
+MeasResultServFreqList ::= SEQUENCE (SIZE (1..maxServCell)) OF MeasResultServFreq
+
+MeasResultServFreq ::= SEQUENCE {
+ servFreqId ServCellIndex OPTIONAL,
+ measResultServingCell MeasResultNR,
+ measResultBestNeighCell MeasResultNR }
+
+MeasResultListNR ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR
+
+MeasResultNR ::= SEQUENCE {
+ physCellId PhysCellId OPTIONAL,
+ --FFS: Details of cgi info
+ cgi-Info NULL, -- WS modification: was TYPE_FFS!
+ measResult SEQUENCE {
+ cellResults SEQUENCE{
+ resultsSSBCell ResultsSSBCell OPTIONAL,
+ resultsCSI-RSCell ResultsCSI-RSCell OPTIONAL
+ },
+ rsIndexResults SEQUENCE{
+ resultsSSBIndexes ResultsPerSSBIndexList OPTIONAL,
+ resultsCSI-RSIndexes ResultsPerCSI-RSIndexList OPTIONAL
+ } OPTIONAL
+ }
+}
+
+ResultsSSBCell ::= SEQUENCE {
+ ssb-Cellrsrp RSRP-Range OPTIONAL,
+ ssb-Cellrsrq RSRQ-Range OPTIONAL,
+ ssb-Cellsinr SINR-Range OPTIONAL
+}
+
+ResultsCSI-RSCell ::= SEQUENCE {
+ csi-rs-Cellrsrp RSRP-Range OPTIONAL,
+ csi-rs-Cellrsrq RSRQ-Range OPTIONAL,
+ csi-rs-Cellsinr SINR-Range OPTIONAL
+}
+
+ResultsPerSSBIndexList ::= SEQUENCE (SIZE (1..maxNroSSBs)) OF ResultsPerSSBIndex
+
+ResultsPerSSBIndex ::= SEQUENCE {
+ ssb-Index SSB-Index,
+ ss-rsrp RSRP-Range OPTIONAL,
+ ss-rsrq RSRQ-Range OPTIONAL,
+ ss-sinr SINR-Range OPTIONAL
+}
+
+ResultsPerCSI-RSIndexList ::= SEQUENCE (SIZE (1..maxNroCSI-RS)) OF ResultsPerCSI-RSIndex
+
+ResultsPerCSI-RSIndex ::= SEQUENCE {
+ csi-rsIndex CSI-RSIndex,
+ csi-rsrp RSRP-Range OPTIONAL,
+ csi-rsrq RSRQ-Range OPTIONAL,
+ csi-sinr SINR-Range OPTIONAL
+}
+
+-- TAG-MEAS-RESULTS-STOP
+-- TAG-PDCCH-CONFIG-START
+
+-- Downlink control channel related parameters
+PDCCH-Config ::= SEQUENCE {
+ -- List of Control Resource Sets (CORESETs) to be used by the UE
+ controlResourceSetToAddModList SEQUENCE(SIZE (1..maxNrofControlResourceSets)) OF ControlResourceSet OPTIONAL,
+ controlResourceSetToReleaseList SEQUENCE(SIZE (1..maxNrofControlResourceSets)) OF ControlResourceId OPTIONAL,
+
+ searchSpacesToAddModList SEQUENCE(SIZE (1..maxNrofSearchSpaces)) OF SearchSpace OPTIONAL,
+ searchSpacesToReleaseList SEQUENCE(SIZE (1..maxNrofSearchSpaces)) OF SearchSpaceId OPTIONAL,
+
+
+ -- FFS: Is this timing information applicable to the entire PDCCH or could it be different per CORESET?
+ -- FFS: Is there a default timing (to be used at least until first reconfiguration). Are the fields optionally present?
+ timing SEQUENCE {
+ dl-assignment-to-DL-data NULL, -- WS modification: was TYPE_FFS!
+ ul-assignment-to-UL-data NULL, -- WS modification: was TYPE_FFS!
+ dl-data-to-UL-ACK NULL -- WS modification: was TYPE_FFS!
+ } OPTIONAL
+
+}
+
+-- A time/frequency control resource set (CORESET) in which to search for downlink control information (see 38.213, section x.x.x.x)FFS_Ref
+ControlResourceSet ::= SEQUENCE {
+ controlResourceSetId ControlResourceSetId,
+
+ -- Frequency domain resources for the CORESET. The network ensures that the CORESET is within the BWP configured for a UE. (see 38.213, REF)
+ frequencyDomainResources NULL, -- WS modification: was TYPE_FFS!
+ -- Starting OFDM symbol for the CORESET (see 38.213, REF)
+ startSymbol INTEGER (0..maxCoReSetStartSymbol),
+ -- Contiguouse time duration of the CORESET in number of symbols see 38.213, section x.x.x.x)FFS_Ref
+ duration INTEGER (1..maxCoReSetDuration),
+ -- Resource Element Groups (REGs) can be bundled to create REG bundles. This parameter defines the size of such bundles.
+ -- (see 38.211, section 7.3.2.2)
+ reg-BundleSize ENUMERATED {n2, n3, n6},
+ -- Mapping of Control Channel Elements (CCE) to Resource Element Groups (REG). (see 38.211, 38.213, FFS_REF)
+ cce-reg-MappingType ENUMERATED { interleaved, nonInterleaved },
+ -- Precoder granularity in frequency domain (see 38.213, section FFS_REF)
+ precoderGranularity NULL, -- WS modification: was TYPE_FFS!
+ -- Corresponds to L1 parameter 'CORESET-interleaver-rows' (see 38.211, 38.213, section FFS_Section)
+ interleaverRows ENUMERATED {n2, n3, n6} OPTIONAL,
+
+ -- Corresponds to L1 parameter 'CORESET-shift-index' (see 38.211, 38.213, section FFS_Section)
+ shiftIndex NULL, -- WS modification: was FFS_Value OPTIONAL,
+
+ -- Reference to a configured TCI State providing QCL configuration/indication for PDCCH.
+ -- Corresponds to L1 parameter 'TCI-StateRefId' (see 38.211, 38.213, section FFS_Section)
+ tci-StateRefId NULL, -- WS modification: was FFS_Value OPTIONAL,
+
+ -- PDCCH DMRS scrambling initalization. Corresponds to L1 parameter 'PDCCH-DMRS-Scrambling-ID' (see 38.214, section 5.1)
+ -- When the field is absent the UE applies the value TBD/FFS
+ pdcch-DMRS-ScramblingID NULL -- WS modification: was FFS_Value OPTIONAL
+}
+
+-- ID of a Control Resource Set.
+ControlResourceSetId ::= INTEGER (0..maxNrofControlResourceSets-1)
+
+-- A search space defines how/where to search for PDCCH candidates. A search space is associated with one Control Resource Set
+SearchSpace ::= SEQUENCE {
+ searchSpaceId SearchSpaceId,
+
+ -- The CORESET applicable for this SearchSpace.
+ -- FFS: Value 0 identifies the common CORESET configured in MIB?
+ -- FFS: Values 1..maxNrofControlResourceSets-1 identify CORESETs configured by dedicated signalling?
+ controlResourceSetId ControlResourceSetId,
+
+ -- Slots for PDCCH Monitoring configured as periodicity and offset. Corresponds to L1 parameters 'Montoring-periodicity-PDCCH-slot' and
+ -- 'Montoring-offset-PDCCH-slot' (see 38.213, section 10)
+ -- sl15, sl10, sl20 FFS
+ monitoringSlotPeriodicityAndOffset CHOICE {
+ sl1 NULL,
+ sl2 INTEGER (0..1),
+ sl5 INTEGER (0..4),
+ sl10 INTEGER (0..9),
+ sl20 INTEGER (0..19)
+ } OPTIONAL,
+
+ -- Symbols for PDCCH monitoring in the slots configured for PDCCH monitoring (see monitoringSlotPeriodicityAndOffset).
+ -- The most significant (left) bit represents the first OFDM in a slot. The least significant (right) bit represents the last symbol.
+ -- Corresponds to L1 parameter 'Montoring-symbols-PDCCH-within-slot' (see 38.213, section 10)
+ monitoringSymbolsWithinSlot BIT STRING (SIZE (14)) OPTIONAL,
+
+ -- Number of candidates per aggregation level. Corresponds to L1 parameter 'Aggregation-level-1' to 'Aggregation-level-8'
+ -- (see 38.213, section 10)
+ 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}
+ },
+
+
+
+ -- Indicates whether this is a common search space (present) or a UE specific search space.
+ -- FFS: How many CSSs can the NW configure? And can a CSS only be in the common CORESET?
+ searchSpaceType CHOICE {
+ common SEQUENCE {
+ -- Monitoring of a group common PDCCH for at least SFI (Slot Format Indicator)
+ -- FFS_CHECK: Is this really part of the common search space? Or entirely separate?
+ sfi-PDCCH SFI-PDCCH,
+ -- Turn on monitoring of DL preemption DCI
+ -- FFS_CHECK: Is Preemp-DL needed at all? Can't this be derived from the presence of the following INT-RNTI field?
+ preemp-DL BOOLEAN,
+ -- RNTI used for indication pre-emption in DL. Also connected to monitoring of a Type2-PDCCH common search space.
+ -- (see 38.213, section 10)
+ -- FFS: What does the abbreviation stand for? Add a better description
+ -- FFS:_Verify that RNTI is still 16 bit.
+ int-RNTI BIT STRING (SIZE (16)),
+ -- Set selection for DL-preemption indication, the set indication two different manners the DL preemption DCI
+ -- is interpreteded by the UE. Corresponds to L1 parameter 'int-TF-unit' (see 38.213, section 10.1)
+ -- FFS: Clarify description.
+ int-TF ENUMERATED {set0, set1},
+ -- Monitoring periodicity of DCI with INT-RNTI in number of slots.
+ -- Corresponds to L1 parameter 'INT-monitoring-periodicity' (see 38.213, section 11.2)
+ monitoringPeriodicity NULL OPTIONAL -- WS modification: was FFS_Value
+ },
+ ue-Specific SEQUENCE {
+ -- FFS: Parameters that are applicable only for USS?
+ }
+ } OPTIONAL -- Need M
+}
+
+SearchSpaceId ::= INTEGER (1..maxNrofSearchSpaces)
+
+-- Configuration of monitoring a Group-Common-PDCCH for Slot-Format-Indicators (SFI)
+SFI-PDCCH ::= SEQUENCE {
+
+ -- Monitoring periodicity of SFI PDCCH in slots. Should be 8 values in total. RAN1 will decided the remainnig values, i.e. X1, X2, X3
+ -- Corresponds to L1 parameter 'SFI-monitoring-periodicity' (see 38.213, section FFS_Section)
+ monitoringPeriodicity ENUMERATED {sl1, sl2, sl5, sl10, sl20, spare3, spare2, spare1} OPTIONAL,
+
+ -- Maps a specific cell to a given SFI value within the DCI message
+ -- Corresponds to L1 parameter 'SFI-cell-to-SFI' (see 38.213, section FFS_Section)
+ sfi-CellToSFI SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CellToSFI OPTIONAL,
+
+ -- The number of PDCCH candidates for the configured aggregation level.
+ -- Corresponds to L1 parameter 'SFI-Num-PDCCH-cand' (see 38.213, section FFS_Section)
+ nrofPDCCH-Candidates ENUMERATED {n1, n2},
+
+ -- The aggregation level for the SFI-PDCCH. Corresponds to L1 parameter 'SFI-Aggregation-Level' (see 38.213, section FFS_Section)
+ aggregationLevel ENUMERATED {n1, n2, n4, n8},
+
+ -- RNTI used for SFI on the given cell
+ -- Corresponds to L1 parameter 'SFI-RNTI' (see 38.213, section FFS_Section)
+ sfi-RNTI BIT STRING (SIZE (16)) OPTIONAL,
+
+ -- Payload length of SFI DCI. Corresponds to L1 parameter 'SFI-DCI-payload-length' (see 38.213, section FFS_Section)
+ dci-PayloadLength NULL OPTIONAL, -- WS modification: was TYPE_FFS!
+
+ -- Defines whether a specific CORESET is used or the CSS. Corresponds to L1 parameter 'SFI-SS' (see 38.213, section FFS_Section)
+ searchSpace NULL OPTIONAL, -- WS modification: was TYPE_FFS!
+
+ -- SFI value location within a DCI message, this fields gives the starting bit in the DCI message, assumption is that lenght is given RAN1 spec.
+ -- Corresponds to L1 parameter 'SFI-values' (see 38.213, section FFS_Section)
+ -- FFS_CHECK whether this field is placed correctly
+ sfi-PositionInDCI INTEGER (1..1) OPTIONAL -- WS modification: was MaxDCIpayload but it is undefined
+}
+
+-- Mapping for a given cell to SFI value within DCI message. Corresponds to L1 parameter 'cell-to-SFI' (see 38.213, section FFS_Section)
+CellToSFI ::= SEQUENCE {
+ -- FFS: Content and structure of this IE.
+
+ -- A list with SlotFormatCombinations. Each SlotFormatCombination comprises of one or more SlotFormats (see 38.211, section 4.3.2)
+ slotFormatCombinations SEQUENCE (SIZE (1..maxNrofSlotFormatCombinations)) OF SlotFormatCombination OPTIONAL
+}
+
+SlotFormatCombination ::= SEQUENCE {
+ slotFormatCombinationId SlotFormatCombinationId
+ -- slotFormats SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) WS modification: comment this wrong construct
+}
+
+-- SFI index that is assoicated with a certian slot-format-combination
+-- Corresponds to L1 parameter 'SFI-index' (see 38.213, section FFS_Section)
+SlotFormatCombinationId ::= INTEGER (0..maxNrofSlotFormatCombinations-1)
+
+
+-- TAG-PDCCH-CONFIG-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-Size-UL ENUMERATED {len12bits, len18bits},
+ pdcp-SN-Size-DL ENUMERATED {len12bits, len18bits},
+ 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
+ },
+ uplinkOnlyROHC SEQUENCE {
+ maxCID INTEGER (1..16383) DEFAULT 15,
+ profiles SEQUENCE {
+ profile0x0006 BOOLEAN
+ }
+ },
+ ...
+ }
+ },
+
+ integrityProtection BOOLEAN,
+
+ statusReportRequired BOOLEAN OPTIONAL -- Cond Rlc-AM
+ } OPTIONAL, -- Cond DRB
+ -- FFS / TODO: Handle more than two secondary cell groups
+ moreThanOneRLC SEQUENCE {
+ primaryPath SEQUENCE {
+ cellGroup CellGroupId,
+ logicalChannel LogicalChannelIdentity
+ },
+ ul-DataSplitThreshold CHOICE {
+ release NULL,
+ setup 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}
+ },
+ ul-Duplication BOOLEAN
+ } OPTIONAL, -- Cond MoreThanOneRLC
+
+ t-Reordering ENUMERATED {
+ ms0, ms5, ms10, ms15, ms20, ms30, ms40, ms60, ms50, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
+ ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250, ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
+ ms3000} OPTIONAL, -- Need R
+
+ -- FFS: whether ms0 is the same like outOfOrderDelivery
+ -- FFS: new values for t-Reordering
+ outOfOrderDelivery BOOLEAN,
+ ...
+}
+
+-- TAG-PDCP-CONFIG-STOP
+-- TAG-PDSCH-CONFIG-START
+
+PDSCH-Config ::= SEQUENCE {
+ -- Indicates whether to use code-block-group (CBG) based transmission (see 38.213, section x.x.x.x) FFS_Ref
+ -- FFS: Is this BOOLEAN parameter needed or can it be derived from the presence of the codeBlockGroupsPerTransportBlock?
+ codeBlockGroupTransmission BOOLEAN,
+ -- Maximum number of code-block-groups (CBGs) per TB. In case of multiple CW the maximum CBG is 4 (see 38.213, section 9.1.1)
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+ -- Indicates whether CBGFI for CBG based (re)transmission in DL is enabled (true). (see FFS_Specification, section FFS_Section)
+ codeBlockGroupFlushIndicator BOOLEAN,
+
+ -- Selection of the DMRS type to be used for DL (see 38.211, section 7.4.1.1.1)
+ dmrs-Type ENUMERATED {type1, type2} OPTIONAL, -- Need R
+ -- Position for additional DM-RS in DL, see Table 7.4.1.1.2-4 in 38.211.
+ -- The four values represent the cases of 1+0, 1+1, 1+1+1. 1+1+1+1 non-adjacent OFDM symbols for DL.
+ -- CHECK: Listed in RAN1 table. But should this really be in dedicated signalling?
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos2, pos3} OPTIONAL, -- Need R
+ -- DM-RS groups that are QCL:ed, i.e. group 1 (see 38.214, section 5.1)
+ -- CHECK: Clarify how to configure the DMRS groups and the relation to TCI.
+ dmrs-group1 NULL, -- WS modification: was TYPE_FFS!
+ -- DM-RS groups that are QCL:ed, i.e. group 2 (see 38.214, section 5.1)
+ dmrs-group2 NULL, -- WS modification: was TYPE_FFS!
+
+ -- Configures downlink PTRS .
+ -- If absent of released, the UE assumes that downlink PTRS are not present. See 38.211 section 7.4.1.2.2
+ phaseTracking-RS CHOICE {
+ release NULL,
+ setup Downlink-PTRS-Config
+ } OPTIONAL, -- Need M
+
+ -- Contains Transmission Configuration Indicator (TCI) states for dynamically indicating (over DCI) a transmission configuration
+ -- which includes QCL-relationships between the DL RSs in one RS set and the PDSCH DMRS ports
+ -- (see 38.214, section 5.1.4)
+ tci-States NULL, -- WS modification: was TYPE_FFS!
+ -- Reference Signal set within a TCI state, e.g., which RSs, which QCL parameters, etc. (see 38.214, section 5.1.4)
+ tci-rs-SetConfig NULL, -- WS modification: was TYPE_FFS!
+ -- If at least spatial QCL is configured/indicated, this field indicates if TCI field is present or not present in DL-related DCI.
+ -- When the field is absent the UE considers the TCI to be absent/disabled.
+ -- FFS_RAN1: details of the granularity of the configuration, e.g. per CORESET, per UE.
+ -- Corresponds to L1 parameter 'TCI-PresentInDCI' (see 38,213, section 5.1.5)
+ tci-PresentInDCI ENUMERATED {enabled} OPTIONAL,
+ -- Accounts for overhead from CSI-RS, CORESET, etc. FFS: Clarify value range and description.
+ -- Corresponds to L1 parameter 'Xoh-PDSCH' (see 38.214, section 5.1.3.2)
+ xOverhead ENUMERATED {n0, n6, n12, n18} OPTIONAL, -- WS modification: was FFS_Value, values retrieved from 38.214
+
+ -- Indexes to possible symbol allcoations (the indexes point to entries in a UE specific table)
+ -- Corresponds to L1 parameter 'PDSCH-symbol-allocation' (see 38.214, section 5.1.2.1)
+ pdsch-symbolAllocation NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Resources that the UE should rate match PDSCH around.
+ rateMatchResourcesPDSCH SEQUENCE {
+ -- Resources patterns which the UE should rate match PDSCH around. The UE rate matches around the union of all resources
+ -- indicated in the nexted bitmaps. Corresponds to L1 parameter 'rate-match-PDSCH-resource-set' (see 38.214, section 5.1.2.2.3)
+ -- FFS_ASN1: Consider replacing by AddMod/Release lists
+ rateMatchPatterns CHOICE {
+ release NULL,
+ setup SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern
+ } OPTIONAL, -- Need M
+ lte-CRS-ToMatchAround CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Number of LTE CRS antenna port to rate-match around.
+ -- Corresponds to L1 parameter 'rate-match-resources-numb-LTE-CRS-antenna-port' (see 38.214, section 5.1.4)
+ nrofCRS-Ports ENUMERATED {n1, n2, n4},
+ -- Shifting value v-shift in LTE to rate match around LTE CRS
+ -- Corresponds to L1 parameter 'rate-match-resources-LTE-CRS-v-shift' (see 38.214, section 5.1.4)
+ v-Shift ENUMERATED {n0, n1, n2, n3, n4, n5}
+ }
+ } OPTIONAL -- Need M
+ },
+
+ -- Selection between config 1 and config 2 for RBG size for PDSCH. Corresponds to L1 parameter 'RBG-size-PDSCH' (see 38.214, section 5.1.2.2.1)
+ rbg-Size ENUMERATED {config1, config2},
+
+ -- Indicates which MCS table the UE shall use for PDSCH. Corresponds to L1 parameter 'MCS-Table-PDSCH' (see 38.214, section 5.1.3.1).
+ mcs-Table ENUMERATED {dl-64QAM, dl-256QAM},
+
+ -- Maximum number of code words that a single DCI may schedule. This changes the number of MCS/RV/NDI bits in the DCI message from 1 to 2.
+ maxNrofCodeWordsScheduledByDCI ENUMERATED {n1, n2} OPTIONAL, -- Need R
+
+ -- The number of HARQ processes to be used on the PDSCH of a serving cell.
+ -- Corresponds to L1 parameter 'number-HARQ-process-PDSCH' (see 38.214, section REF)
+ nrofHARQ-processesForPDSCH NULL, -- WS modification: was TYPE_FFS!
+
+
+ -- HARQ-ACK codebook is configured to be either semi-static of dynamic. This is applicable to both CA and none CA operation
+ -- Corresponds to L1 parameter 'HARQ-ACK-codebook' (see 38.213, section FFS_Section)
+ harq-ACK-Codebook ENUMERATED {semiStatic, dynamic},
+
+ -- Bundle size the UE may assume. Corresponds to L1 paramter 'PDSCH-bundle-size' (see 38.211, section 7.3.1.5)
+ -- FFS: Better description, value range
+ pdsch-BundleSize NULL, -- WS modification: no type was present
+
+ -- If set to true, the network indicates the PRB bundle size dynamically via DCI. Corresponds to L1 parameter 'PRB_bundling'
+ -- (see 38.214, section 5.1.2.3)
+ prbBundlingEnabled BOOLEAN,
+
+ ...
+}
+
+-- Parameters for configuration of downlink PTRS (see 38.211 section 7.4.1.2.2)
+Downlink-PTRS-Config ::= SEQUENCE {
+ -- Presence and frequency density of DL PT-RS as a function of Scheduled BW (see 38.214, section 5.1)
+ -- FFS: To be Configured per BWP
+ frequencyDensity NULL, -- WS modification: was TYPE_FFS!
+ -- Presence and time density of DL PT-RS as a function of MCS (see 38.214, section 5.1)
+ -- FFS: To be Configured per BWP
+ timeDensity NULL, -- WS modification: was TYPE_FFS!
+ -- Indicates the number of DL PTRS ports. This is equal or smaller than the number of DMRS groups (related to PDSCH parameters
+ -- dmrs-group1 and dmrs-group2). Corresponds to L1 parameter 'DL-PTRS-ports' (see 38.214, section 5.1)
+ nrofPorts ENUMERATED {n1, n2},
+ -- EPRE ratio between PTRS and PDSCH. Corresponds to L1 parameter 'DL-PTRS-EPRE-ratio' (see 38.214, section 5.1)
+ -- FFS: Whether there is one EPRE value per port (a comment in the L1 parameters hints that)
+ epre-Ratio NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Indicates the subcarrier offset for DL PTRS. Corresponds to L1 parameter 'DL-PTRS-RE-offset' (see 38.214, section 5.1)
+ resourceElementOffset NULL OPTIONAL -- WS modification: was FFS_Value
+}
+
+RateMatchPattern ::= SEQUENCE {
+
+ -- A resource block level bitmap in the frequency domain. It indicates the PRBs to which the symbolsInResourceBlock bitmap applies.
+ -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap1' (see 38.214, section FFS_Section)
+ -- FFS_ASN1: Consider multiple options with different number of bits (for narrower carriers)
+ resourceBlocks BIT STRING (SIZE (275)),
+
+ -- A symbol level bitmap in time domain. It indicates (FFS: with a bit set to true) the symbols which the UE shall rate match around.
+ -- This pattern recurs (in time domain) with the configured periodicityAndOffset.
+ -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap2' (see 38.214, section FFS_Section)
+ symbolsInResourceBlock BIT STRING (SIZE (14)),
+
+ -- A time domain repetition pattern. It determines the periodicity (FFS: And offset???) at which the symbolsInResourceBlock pattern recurs.
+ -- Absence of this field indicates the value n1, i.e., the symbolsInResourceBlock recurs every 14 symbols.
+ -- Corresponds to L1 parameter 'rate-match-PDSCH-bitmap3' (see 38.214, section FFS_Section)
+ -- FFS: Doesn't one require also an offset to configure from where the repetitions start?
+ periodicityAndOffset CHOICE {
+ n5 INTEGER (0..4),
+ n10 INTEGER (0..9),
+ n20 INTEGER (0..19),
+ n40 INTEGER (0..39)
+ } OPTIONAL -- Need R
+
+}
+
+-- TAG-PDSCH-CONFIG-STOP
+-- TAG-PHYS-CELL-ID-START
+
+PhysCellId ::= INTEGER (0..1007)
+
+-- TAG-PHYS-CELL-ID-STOP
+-- TAG-PUCCH-CONFIG-START
+
+PUCCH-Config ::= SEQUENCE {
+ -- PUCCH resource sets (see 38.213 9.2)
+ resourceSets SEQUENCE (SIZE (1..1)) OF PUCCH-ResourceSet OPTIONAL, -- WS modification: was FFS_Value
+
+ format1 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Enabling inter-slot frequency hopping when PUCCH Format 1 is repetead over multiple slots.
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL,
+ -- Number of slots with the same PUCCH F1. When the field is absent the UE applies the value n1.
+ -- Corresponds to L1 parameter 'PUCCH-F1-number-of-slots' (see 38.213, section 9.2)
+ -- FFS_Value: Undefined values y1-y3 in range!
+ nrofSlots ENUMERATED {n1,ny1,y2,y3} OPTIONAL
+ } } OPTIONAL, -- Need M
+
+ format2 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Maximum coding rate to determine how to feedback UCI on PUCCH Format 2.
+ -- Corresponds to L1 parameter 'PUCCH-F2-maximum-coderate' (see 38.213, section 9.2)
+ maxCodeRate INTEGER (0..7) OPTIONAL, -- WS modification: was FFS_Value, 38.214 suggests those values
+ -- Number of PRBs for PUCCH Format 2. Corresponds to L1 parameter 'PUCCH-F2-number-of-PRBs' (see 38.213, section 9.2)
+ -- FFS_Value range
+ nrofPRBs INTEGER(1..16) OPTIONAL,
+ -- Enabling simultaneous transmission of CSI and HARQ-ACK feedback with or without SR with PUCCH Format2
+ -- Corresponds to L1 parameter 'PUCCH-F2-Simultaneous-HARQ-ACK-CSI' (see 38.213, section 9.2)
+ -- When the field is absent the UE applies the value OFF
+ simultaneousHARQ-ACK-CSI ENUMERATED {true} OPTIONAL -- Need R
+ } } OPTIONAL, -- Need M
+
+
+ format3 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Enabling inter-slot frequency hopping when PUCCH Format 3 is repetead over multiple slots.
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL,
+ -- Enabling 2 DMRS symbols per hop of a PUCCH Format 3 if both hops are more than X symbols when FH is enabled.
+ -- Enabling 4 DMRS sybmols for a PUCCH Format 3 with more than 2X+1 symbols when FH is disabled.
+ -- Corresponds to L1 parameter 'PUCCH-F3-F4-additional-DMRS' (see 38.21X, section FFS_Section)
+ additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
+ -- Max coding rate to determine how to feedback UCI on PUCCH Format 3
+ -- Corresponds to L1 parameter 'PUCCH-F3-maximum-coderate' (see 38.213, section 9.2)
+ maxCodeRate INTEGER (0..7) OPTIONAL, -- WS modification: was FFS_Value, 38.214 suggests those values
+ -- Number of slots with the same PUCCH F3. When the field is absent the UE applies the value n1.
+ -- Corresponds to L1 parameter 'PUCCH-F3-number-of-slots' (see 38.213, section 9.2)
+ -- FFS_Value: Undefined values y1-y3 in range!
+ nrofSlots ENUMERATED {n1,y1,y2,y3} OPTIONAL,
+ -- Enabling pi/2 BPSK for UCI symbols instead of QPSK for PUCCH.
+ -- Corresponds to L1 parameter 'PUCCH-PF3-PF4-pi/2PBSK' (see 38.21X, section FFS_Section)
+ pi2PBSK ENUMERATED {enabled} OPTIONAL
+ } } OPTIONAL, -- Need M
+
+ format4 CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Enabling inter-slot frequency hopping when PUCCH Format 4 is repetead over multiple slots.
+ interslotFrequencyHopping ENUMERATED {enabled} OPTIONAL,
+ -- Enabling 2 DMRS symbols per hop of a PUCCH Format 4 if both hops are more than X symbols when FH is enabled.
+ -- Enabling 4 DMRS sybmols for a PUCCH Format 4 with more than 2X+1 symbols when FH is disabled.
+ -- Corresponds to L1 parameter 'PUCCH-F3-F4-additional-DMRS' (see 38.21X, section FFS_Section)
+ additionalDMRS ENUMERATED {true} OPTIONAL, -- Need R
+ -- Max coding rate to determine how to feedback UCI on PUCCH Format 4
+ -- Corresponds to L1 parameter 'PUCCH-F4-maximum-coderate' (see 38.213, section 9.2)
+ maxCodeRate INTEGER (0..7) OPTIONAL, -- WS modification: was FFS_Value, 38.214 suggests those values
+ -- Number of slots with the same PUCCH F4. When the field is absent the UE applies the value n1.
+ -- Corresponds to L1 parameter 'PUCCH-F4-number-of-slots' (see 38.213, section 9.2)
+ -- FFS_Value: Undefined values y1-y3 in range!
+ nrofSlots ENUMERATED {n1,y1,y2,y3} OPTIONAL,
+ -- Enabling pi/2 BPSK for UCI symbols instead of QPSK for PUCCH.
+ -- Corresponds to L1 parameter 'PUCCH-PF3-PF4-pi/2PBSK' (see 38.21X, section FFS_Section)
+ pi2PBSK ENUMERATED {enabled} OPTIONAL
+ } } OPTIONAL, -- Need M
+
+ schedulingRequestResources CHOICE {
+ release NULL,
+ setup SEQUENCE (SIZE (1..maxNrofSchedulingRequestResoruces)) OF SchedulingRequestResource-Config
+ } OPTIONAL, -- Need M
+
+ -- RNTI used for PUCCH TPC. Corresponds to L1 parameter 'TPC-PUCCH-RNTI' (see 38.213, section 10).
+ tpc-PUCCH-RNTI BIT STRING (SIZE (16)) OPTIONAL
+}
+
+-- A set with one or more PUCCH resource configurations
+PUCCH-ResourceSet ::= SEQUENCE {
+ -- FFS What a PUCCH resource set contains and how the PUCCH resources in a set link to DCIs codepoints.
+}
+
+-- A PUCCH Format 0 resource configuration (see 38.213, section 9.2)
+-- Corresponds to L1 parameter 'PUCCH-F0-resource-config' (see 38.213, section 9.2)
+PUCCH-format0 ::= SEQUENCE {
+ startingSymbolIndex INTEGER(0..13),
+ nrofSymbols ENUMERATED {n1, n2},
+ startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
+ frequencyHopping BOOLEAN,
+ initialCyclicShift INTEGER(0..11)
+}
+
+-- A PUCCH Format 1 resource configuration (see 38.213, section 9.2)
+-- Corresponds to L1 parameter 'PUCCH-F1-resource-config' (see 38.213, section 9.2)
+PUCCH-format1 ::= SEQUENCE {
+ startingSymbolIndex INTEGER(0..10),
+ nrofSymbols INTEGER(4..14),
+ startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
+ frequencyHopping BOOLEAN,
+ initialCyclicShift INTEGER(0..11),
+ timeDomainOCC INTEGER(0..6)
+}
+
+-- A PUCCH Format 2 resource configuration (see 38.213, section 9.2)
+-- Corresponds to L1 parameter 'PUCCH-F2-resource-config' (see 38.213, section 9.2)
+PUCCH-format2 ::= SEQUENCE {
+ startingSymbolIndex INTEGER(0..13),
+ nrofSymbols ENUMERATED {n1, n2},
+ startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
+ nrofPRBs PUCCH-F2-number-of-PRB,
+ frequencyHopping BOOLEAN
+}
+
+-- A PUCCH Format 3 resource configuration(see 38.213, section 9.2)
+-- Corresponds to L1 parameter 'PUCCH-F3-resource-config' (see 38.213, section 9.2)
+PUCCH-format3 ::= SEQUENCE {
+ startingSymbolIndex INTEGER(0..10),
+ nrofSymbols INTEGER(4..14),
+ startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
+ nrofPRBs ENUMERATED {n1,n2,n3,n4,n5,n6,n8,n9,n10,n12,n15,n16},
+ frequencyHopping BOOLEAN
+}
+
+-- A PUCCH Format 4 resource configuration (see 38.213, section 9.2)
+-- Corresponds to L1 parameter 'PUCCH-F4-resource-config' (see 38.213, section 9.2)
+PUCCH-format4 ::= SEQUENCE {
+ startingSymbolIndex INTEGER(0..10),
+ nrofSymbols INTEGER(4..14),
+ startingPRB INTEGER(0..maxNrofPhysicalResourceBlocks-1),
+ frequencyHopping BOOLEAN,
+ occ-Length ENUMERATED {n2,n4},
+ occ-Index ENUMERATED {n0,n1,n2,n3}
+}
+
+
+-- TAG-PUCCH-CONFIG-STOP
+-- TAG-PUSCH-CONFIG-START
+
+PUSCH-Config ::= SEQUENCE {
+ -- Indicates whether to use code-block-group (CBG) based transmission (see 38.214, section x.x.x.x) FFS_Ref
+ -- FFS: Is this BOOLEAN parameter needed or can it be derived from the presence of the codeBlockGroupsPerTransportBlock?
+ codeBlockGroupTransmission ENUMERATED {true} OPTIONAL, -- Need R
+ -- Maximum number of code-block-groups (CBGs) per TB (see 38.xxx, section x.x.x, FFS_Ref)
+ maxCodeBlockGroupsPerTransportBlock ENUMERATED {n2, n4, n6, n8},
+
+ -- Selection of the DMRS type to be used for UL (see section 38.211, section 6.4.1.1.2)
+ dmrs-Type ENUMERATED {type1, type2} OPTIONAL, -- Need R
+ -- Position for additional DM-RS in DL, see Table 7.4.1.1.2-4 in 38.211.
+ -- The four values represent the cases of 1+0, 1+1, 1+1+1. 1+1+1+1 non-adjacent OFDM symbols for DL.
+ dmrs-AdditionalPosition ENUMERATED {pos0, pos1, pos2, pos3} OPTIONAL, -- Need R
+
+ -- Configures uplink PTRS (see 38.211, section x.x.x.x) FFS_Ref
+ phaseTracking-RS CHOICE {
+ release NULL,
+ setup Uplink-PTRS-Config } OPTIONAL, -- Need M
+
+
+
+
+ -- If enabled, UE applies TPC commands via accumulation. If not enabled, UE applies the TPC command without accumulation.
+ -- (see 38.213, section 7)
+ -- FFS: Collect all power control parameters in a common section or keep them per channel?
+ tpcAccumulation ENUMERATED { enabled } OPTIONAL, -- Need R
+
+ -- RNTI used for PUSCH TPC
+ -- Corresponds to L1 parameter 'TPC-PUSCH-RNTI' (see 38.213, section 10)
+ tcp-PUSCH-RNTI BIT STRING (SIZE (16)) OPTIONAL,
+ -- Configured one of two supported frequency hopping mode. If not configured frequency hopping is not configured
+ -- Corresponds to L1 parameter 'Frequency-hopping-PUSCH' (see 38.214, section 6)
+ -- When the field is absent the UE applies the value Not configured
+ frequencyHopping ENUMERATED {mode1, mode2},
+ -- Configure either LBRM or FBRM for PUSCH. FBRM = Full buffer rate-matchingLBRM = Limited buffer rate-matching
+ -- Corresponds to L1 parameter 'LBRM-FBRM-selection' (see 38.212, section 5.4.2)
+ rateMatching ENUMERATED {fullBufferRM, limitedBufferRM},
+ -- Resources that the UE should rate match PUSCH around (see 38.214, section REF)
+ rateMatchResources NULL, -- WS modification: was TYPE_FFS!
+ -- Configuration of DCI code points that determine PUSCH resource allocations.
+ -- Corresponds to L1 parameter 'PUSCH-symbol-allocation' (see 38.214, section 6.1.2.1)
+ symbolAllocationIndexs NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- Indicates which MCS table the UE shall use for PUSCH without transform precoder
+ -- Corresponds to L1 parameter 'MCS-Table-PUSCH' (see 38.214, section 6.1.4)
+ -- When the field is absent the UE applies the value 64QAM
+ mcs-Table ENUMERATED {ul-64QAM, ul-256QAM},
+ -- Indicates which MCS table the UE shall use for PUSCH with transform precoding
+ -- Corresponds to L1 parameter 'MCS-Table-PUSCH-transform-precoding' (see 38.214, section 6.1.4)
+ -- When the field is absent the UE applies the value 64QAM
+ mcs-TableTransformPrecoder ENUMERATED {ul-64QAM, ul-256QAM},
+ -- The UE specifically selection of transformer precoder for PUSCH. When the field is absent the UE applies the value msg3-tp.
+ -- Corresponds to L1 parameter 'PUSCH-tp' (see 38.211, section 6.3.1.4)
+ transformPrecoder ENUMERATED {enabled} OPTIONAL,
+
+ -- Selection between config 1 and config 2 for RBG size for PUSCH. Corresponds to L1 parameter 'RBG-size-PUSCH' (see 38.214, section 6.1.2.2.1)
+ rbg-Size ENUMERATED {config1, config2},
+
+ -- Select between and configuration of dynamic and semi-static beta-offset
+ -- Corresponds to L1 parameter 'UCI-on-PUSCH' (see 38.214, section 9.3)
+ uci-on-PUSCH CHOICE {
+ release NULL,
+ setup CHOICE {
+ dynamic SEQUENCE (SIZE (1..4)) OF BetaOffsets,
+ semiStatic BetaOffsets
+ } } OPTIONAL, -- Need M
+
+ -- Accounts for overhead from CSI-RS, CORESET, etc. FFS: Clarify value range and description.
+ -- Corresponds to L1 parameter 'Xoh-PDSCH' (see 38.214, section 5.1.3.2)
+ xOverhead ENUMERATED {n0, n6, n12, n18} OPTIONAL, -- WS modification: was FFS_Value, values retrieved from 38.214
+
+ ...
+}
+
+-- Configuration of Uplink Phase-Tracking-Reference-Signals (PTRS)
+-- FFS: Is it possible to configure PTRS for CP-OFDM and DFT-S OFDM simultaneously or just one. If the latter, replace below by a CHOICE.
+Uplink-PTRS-Config ::= SEQUENCE {
+ -- Configuration of UL PTRS for CP-OFDM
+ cp-OFDM CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Presence and frequency density of UL PT-RS for CP-OFDM waveform as a function of scheduled BW (see 38.214, section 6.1)
+ -- FFS: Configuration is supposed to be per BWP according to RAN1
+ frequencyDensity NULL, -- WS modification: was TYPE_FFS!
+ -- Presence and time density of UL PT-RS for CP-OFDM waveform as a function of MCS (see 38.214, section 6.1)
+ -- FFS: Configuration is supposed to be per BWP according to RAN1
+ timeDensity NULL, -- WS modification: was TYPE_FFS!
+ -- Indicator related to the number of UL PTRS ports for CP-OFDM. Details to be further decided.
+ -- Corresponds to L1 parameter 'UL-PTRS-ports' (see 38.214, section 6.1)
+ nrofPorts ENUMERATED {n1, n2},
+ -- Indicates the subcarrier offset for UL PTRS for CP-OFDM. Corresponds to L1 parameter 'UL-PTRS-RE-offset' (see 38.214, section 6.1)
+ resourceElementOffset NULL OPTIONAL -- WS modification: was FFS_Value
+ }
+ } OPTIONAL, -- Cond M
+ -- Configuration of UL PTRS for DFT-S-OFDM.
+ dft-S-OFDM CHOICE {
+ release NULL,
+ setup SEQUENCE {
+ -- Sample density of PT-RS for DFT-s-OFDM, pre-DFT, indicating a set of thresholds T={NRBn,n=0,1,2,3,4},
+ -- that indicates dependency between presence of PT-RS and scheduled BW and the values of X and K the UE should
+ -- use depending on the scheduled BW according to the table in 38.214 FFS_Section.
+ -- FFS: Configuration is supposed to be per BWP according to RAN1
+ -- Corresponds to L1 parameter 'UL-PTRS-pre-DFT-density' (see 38.214, section 6.1)
+ sampleDensity NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Time density (OFDM symbol level) of PT-RS for DFT-s-OFDM
+ -- Corresponds to L1 parameter 'UL-PTRS-time-density-transform-precoding' (see 38.214, section 6.1)
+ timeDensity ENUMERATED {d1, d2} OPTIONAL,
+ -- PTRS sequence for DFT-s-OFDM. Corresponds to L1 parameter 'UL-PTRS-sequence-transform-precoding' (see 38.214, section 6.1)
+ sequence NULL OPTIONAL -- WS modification: was FFS_Value
+ }
+ } OPTIONAL -- Cond M
+}
+
+-- A set of beta-offset values
+BetaOffsets ::= SEQUENCE {
+ -- Up to 2 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-1' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 11
+ betaOffsetACK-Index1 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Up to 11 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-2' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 11
+ betaOffsetACK-Index2 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Above 11 bits HARQ-ACK. Corresponds to L1 parameter 'betaOffset-ACK-Index-3' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 11
+ betaOffsetACK-Index3 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Up to 11 bits of CSI part 1 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-1-Index-1' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 13
+ betaOffsetCSI-part1-Index1 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Above 11 bits of CSI part 1 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-1-Index-2' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 13
+ betaOffsetCSI-part1-Index2 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Up to 11 bits of CSI part 2 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-2-Index-1' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 13
+ betaOffsetCSI-part2-Index1 INTEGER(0..31) OPTIONAL, -- Need M
+ -- Above 11 bits of CSI part 2 bits. Corresponds to L1 parameter 'betaOffset-CSI-part-2-Index-2' (see 38.213, section 9.3)
+ -- When the field is absent the UE applies the value 13
+ betaOffsetCSI-part2-Index2 INTEGER(0..31) OPTIONAL -- Need M
+}
+
+-- TAG-PUSCH-CONFIG-STOP
+
+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-QUANTITY-CONFIG-START
+-- WS modification: missing QUantityConfig definiton start; let's add a fake one
+QuantityConfig ::= SEQUENCE {
+ quantityConfigRSindex QuantityConfigRS OPTIONAL
+}
+
+QuantityConfigRS ::= SEQUENCE {
+ -- SS Block based
+ ssbFilterCoefficientRSRP FilterCoefficient OPTIONAL, -- WS modification: was DEFAULT_FFS!
+ ssbFilterCoefficientRSRQ FilterCoefficient OPTIONAL, -- WS modification: was DEFAULT_FFS!
+ ssbFilterCoefficientRS-SINR FilterCoefficient OPTIONAL, -- WS modification: was DEFAULT_FFS!
+
+ -- CSI-RS based
+ csi-rsFilterCoefficientRSRP FilterCoefficient OPTIONAL, -- WS modification: was DEFAULT_FFS!
+ csi-rsFilterCoefficientRSRQ FilterCoefficient OPTIONAL, -- WS modification: was DEFAULT_FFS!
+ csi-rsFilterCoefficientRS-SINR FilterCoefficient OPTIONAL -- WS modification: was DEFAULT_FFS!
+}
+
+-- TAG-QUANTITY-CONFIG-STOP
+-- TAG-RACH-CONFIG-COMMON-START
+
+RACH-ConfigCommon ::= SEQUENCE {
+
+ -- FFS: whether any of the parameter(s) in the L1 TP should be within CBRA-SSB-ResourceList
+ groupBconfigured SEQUENCE {
+ -- FFS: ra-Msg3SizeGroupA values
+ ra-Msg3SizeGroupA ENUMERATED {b56, b144, b208, b256, b282, b480, b640, b800, b1000, spare7, spare6, spare5,
+ spare4, spare3, spare2, spare1},
+ -- FFS: Need and definition of messagePowerOffsetGroupB
+ messagePowerOffsetGroupB ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18}
+ } OPTIONAL,
+
+ cbra-SSB-ResourceList CBRA-SSB-ResourceList,
+
+ ra-ContentionResolutionTimer ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
+
+ -- Msg1 (RA preamble): UE may select the SS block and corresponding PRACH resource for path-loss estimation and (re)transmission
+ -- based on SS blocks that satisfy the threshold (see 38.213, section REF)
+ ssb-Threshold NULL OPTIONAL, -- WS modification: was TYPE_FFS!
+ -- FFS: Provide proper description
+ -- Corresponds to L1 parameter 'SUL-RSRP-Threshold' (see FFS_Spec, section FFS_Section)
+ sul-RSRP-Threshold NULL OPTIONAL, -- WS modification: was TYPE_FFS!
+
+ -- PRACH configuration index. Corresponds to L1 parameter 'PRACHConfigurationIndex' (see 38.211, section 6.3.3.2)
+ prach-ConfigurationIndex INTEGER (0..255) OPTIONAL,
+ -- PRACH root sequence index. Corresponds to L1 parameter 'PRACHRootSequenceIndex' (see 38.211, section 6.3.3.1).
+ -- The value range depends on whether L=839 or L=139
+ prach-RootSequenceIndex CHOICE {
+ l839 INTEGER (0..837),
+ l139 INTEGER (0..137)
+ } OPTIONAL,
+
+ -- N-CS configuration, see Table 6.3.3.1-3 in 38.211
+ zeroCorrelationZoneConfig INTEGER(0..15),
+ -- Configuration of restricted sets, see 38.211 6.3.3.1
+ -- CHECK: RAN1 value said "restrictedTypeA". Does it mean "restrictedToTypeA"? If not, what else?
+ restrictedSetConfig ENUMERATED {unrestricted, restrictedToTypeA, restrictedToTypeB},
+ -- (see 38.213, section 7.4)
+ preambleReceivedTargetPower ENUMERATED {
+ dBm-120, dBm-118, dBm-116, dBm-114, dBm-112, dBm-110, dBm-108, dBm-106, dBm-104, dBm-102, dBm-100,
+ dBm-98, dBm-96, dBm-94,dBm-92, dBm-90, dBm-88, dBm-86, dBm-84,dBm-82, dBm-80, dBm-78, dBm-76,
+ dBm-74, dBm-72, dBm-70, dBm-68, dBm-66, dBm-64, dBm-62, dBm-60, dBm-58, dBm-56, dBm-54, dBm-52, dBm-50, dBm-48, dBm-46, dBm-44, dBm-42, dBm-42, dBm-40, dBm-38, dBm-36, dBm-34, dBm-32, dBm-30, dBm-28, dBm-26, dBm-24, dBm-22, dBm-20, dBm-18, dBm-16, dBm-14, dBm-12, dBm-10, dBm-8, dBm-6, dBm-4, dBm-2, dBm-0, dBm2, dBm4, dBm6 } OPTIONAL,
+ -- Power ramping steps for PRACH (see 38.321, FFS_section)
+ powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6} OPTIONAL, -- Need R
+
+ -- CHECK: PreambleTransMax parameter usage (parameter was not provided by RAN1 and not yet discussed in RAN2)
+ preambleTransMax ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200},
+
+
+ -- Msg2 (RAR) window length. Corresponds to L1 parameter 'msg2-scs' (see 38.213, section 8.1)
+ ra-ResponseWindow NULL, -- Subcarrier spacing for msg2 for contention-free RA procedure for handover. WS modification: was TYPE_FFS!
+ -- Corresponds to L1 parameter 'msg2-scs' (see 38.321?, section FFS_Section)
+ msg2-SubcarrierSpacing SubcarrierSpacing,
+ -- CORESET configured for random access. When the field is absent the UE uses the CORESET according to pdcchConfigSIB1
+ -- Corresponds to L1 parameter 'rach-coreset-configuration' (see 38.211?, section FFS_Section)
+ rach-ControlResourceSet NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ -- Subcarrier spacing for Msg3. Corresponds to L1 parameter 'msg3-scs' (see 38.213, section 8.1)
+ msg3-SubcarrierSpacing SubcarrierSpacing,
+ -- Indicates to a UE whether transform precoding is enabled for Msg3 transmission.
+ -- Corresponds to L1 parameter 'msg3-tp' (see 38.213, section 8.1)
+ msg3-transformPrecoding ENUMERATED {true} OPTIONAL -- Need R
+}
+
+CBRA-SSB-ResourceList ::= SEQUENCE (SIZE(1..maxRAssbResources)) OF CBRA-SSB-Resource
+CBRA-SSB-Resource ::= SEQUENCE {
+ ssb SSB-ID,
+ startIndexRA-PreambleGroupA PreambleStartIndex,
+ numberofRA-PreamblesGroupA NumberOfRA-Preambles,
+ numberOfRA-Preambles NumberOfRA-Preambles,
+
+ -- PRACH configuration for SSB configuration (i.e. time and frequency location)
+ -- FFS / TODO: Type Definition for RA-Resources.
+ ra-Resources RA-Resources
+}
+
+PreambleStartIndex ::= INTEGER (0..maxRA-PreambleIndex)
+NumberofRA-Preambles ::= INTEGER (1.. maxNrOfRA-PreamblesPerSSB)
+
+-- TAG-RACH-CONFIG-COMMON-STOP
+-- TAG-RACH-CONFIG-DEDICATED-START
+
+-- FFS: resources for msg1-based on-demand SI request
+-- FFS: resources for beam failure recovery request
+
+RACH-ConfigDedicated ::= SEQUENCE {
+ -- Resources for handover to the cell
+ cfra-Resources CFRA-Resources,
+ -- Subcarrier spacing for msg2 for contention-free RA procedure for handover
+ rar-SubcarrierSpacing SubcarrierSpacing
+}
+
+-- FFS_CHECK: Isn't it sufficient to have just one list and the CHOICE inside the list element (around the ssb/csirs)?
+CFRA-Resources ::= CHOICE {
+ cfra-ssb-ResourceList SEQUENCE (SIZE(1..maxRAssbResources)) OF CFRA-SSB-Resource,
+ cfra-csirs-ResourceList SEQUENCE (SIZE(1..maxRAcsirsResources)) OF CFRA-CSIRS-Resource
+}
+
+CFRA-SSB-Resource ::= SEQUENCE {
+ ssb SSB-ID,
+ ra-PreambleIndex INTEGER (0..0), -- WS modification: was FFS_XX
+ -- PRACH configuration for SSB configuration (i.e. time and frequency location)
+ ra-Resources RA-Resources -- Definition FFS
+}
+
+CFRA-CSIRS-Resource ::= SEQUENCE {
+ csirs CSIRS-ID, -- FFS where the CSI-RS are defined (e.g. MO)
+ ra-PreambleIndex INTEGER (0..0), -- WS modification: was FFS_XX
+ -- PRACH configuration for CSIRS configuration (i.e. time and frequency location)
+ ra-Resources RA-Resources -- Definition FFS
+}
+
+-- TAG-RACH-CONFIG-DEDICATED-STOP
+-- TAG-RADIO-BEARER-CONFIG-START
+
+RadioBearerConfig ::= SEQUENCE {
+ srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Need M
+ srb-ToReleaseList INTEGER (3) OPTIONAL, -- Need M
+ drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Need M
+ drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need M
+ securityConfig SecurityConfig OPTIONAL -- Cond KeyChange
+}
+
+SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod
+SRB-ToAddMod ::= SEQUENCE {
+ srb-Identity SRB-Identity,
+
+ -- may only be set if the cell groups of all linked logical channels are reset or released
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Cond KeyChange
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ ...
+}
+
+
+DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
+DRB-ToAddMod ::= SEQUENCE {
+ cnAssociation CHOICE {
+ -- The EPS bearer ID determines the EPS bearer when NR connects to EPC using EN-DC
+ eps-BearerIdentity INTEGER (0..15), -- Cond EPS-DRB-Setup
+ -- The SDAP configuration determines how to map QoS flows to DRBs when NR connects to the 5GC
+ sdap-Config SDAP-Config -- Cond NGC
+ },
+ drb-Identity DRB-Identity,
+
+ -- may only be set if the cell groups of all linked logical channels are reset or released
+ reestablishPDCP ENUMERATED{true} OPTIONAL, -- Cond HO
+ recoverPDCP ENUMERATED{true} OPTIONAL, -- Need N
+ pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP
+ ...
+}
+
+DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
+
+
+SecurityConfig ::= SEQUENCE {
+ securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Need M
+ keyToUse ENUMERATED{keNB, s-KgNB} OPTIONAL, -- Need M
+ ...
+}
+
+-- TAG-RADIO-BEARER-CONFIG-STOP
+-- TAG-REPORT-CONFIG-ID-START
+
+ReportConfigId ::= INTEGER (1..maxNrofReportConfigId)
+
+-- TAG-REPORT-CONFIG-ID-STOP
+-- TAG-REPORT-CONFIG-START
+
+ReportConfigNR ::= SEQUENCE {
+ reportType CHOICE {
+ periodical PeriodicalReportConfig,
+ eventTriggered EventTriggerConfig,
+ reportCGI NULL, -- WS modification: was Type_FFS!
+ ...
+ }
+}
+
+-- FFS / TODO: Consider separating trgger configuration (trigger, periodic, ...) from report congiguration.
+-- 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 OPTIONAL
+ },
+ eventA4 SEQUENCE {
+ a4-Threshold MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN OPTIONAL
+ },
+ eventA5 SEQUENCE {
+ a5-Threshold1 MeasTriggerQuantity,
+ a5-Threshold2 MeasTriggerQuantity,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN OPTIONAL
+ },
+ eventA6 SEQUENCE {
+ a6-Offset MeasTriggerQuantityOffset,
+ reportOnLeave BOOLEAN,
+ hysteresis Hysteresis,
+ timeToTrigger TimeToTrigger,
+ useWhiteCellList BOOLEAN OPTIONAL
+ }
+ },
+
+ rsType ENUMERATED {ss, csi-rs},
+
+ -- Common reporting config (at least to periodical and eventTriggered)
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {ffs}, -- WS modification: was FFS!
+
+ -- Cell reporting configuration
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+
+ -- RS index reporting configuration
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL,
+ maxNroIndexesToReport INTEGER (1..maxNroIndexesToReport) OPTIONAL,
+ onlyReportBeamIds BOOLEAN OPTIONAL,
+
+ -- If configured the UE includes the best neighbour cells per serving frequency
+ reportAddNeighMeas NULL -- WS modification: was TYPE_FFS!
+}
+
+PeriodicalReportConfig ::= SEQUENCE {
+ rsType ENUMERATED {ssb, csi-rs},
+
+ -- Common reporting config (at least to periodical and eventTriggered)
+ reportInterval ReportInterval,
+ reportAmount ENUMERATED {ffs}, -- WS modification: was FFS!
+
+ -- Cell reporting configuration
+ reportQuantityCell MeasReportQuantity,
+ maxReportCells INTEGER (1..maxCellReport),
+
+ -- RS index reporting configuration
+ reportQuantityRsIndexes MeasReportQuantity OPTIONAL,
+ maxNroRsIndexesToReport INTEGER (1..maxNroIndexesToReport) OPTIONAL,
+ onlyReportBeamIds BOOLEAN OPTIONAL
+}
+
+MeasTriggerQuantity::= CHOICE {
+ rsrp RSRPRange,
+ rsrq RSRQRange,
+ sinr SINRRange
+}
+
+MeasTriggerQuantityOffset::= CHOICE {
+ rsrp INTEGER (0), -- WS modification: was FFS!
+ rsrq INTEGER (0), -- WS modification: was FFS!
+ sinr INTEGER (0) -- WS modification: was FFS!
+}
+
+
+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
+
+ReportConfigToAddMod ::= SEQUENCE {
+ reportConfigId ReportConfigId,
+ reportConfig CHOICE {
+ reportConfigNR ReportConfigNR,
+ reportConfigEUTRA ReportConfigEUTRA
+ }
+}
+
+-- TAG- REPORT-CONFIG-TO-ADD-MOD-LIST-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-FieldLength-AM,
+ 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-FieldLength-AM,
+ t-Reassembly T-Reassembly,
+ t-StatusProhibit T-StatusProhibit
+}
+
+UL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLength-UM
+}
+
+DL-UM-RLC ::= SEQUENCE {
+ sn-FieldLength SN-FieldLength-UM,
+ 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-FieldLength-UM ::= ENUMERATED {size6, size12}
+SN-FieldLength-AM ::= ENUMERATED {size12, size18}
+
+-- TAG-RLC-CONFIG-STOP
+-- TAG-RLF-TIMERS-AND-CONSTANTS-START
+
+RLF-TimersAndConstants ::= SEQUENCE {
+ -- FFS / TODO: Add RRC parameters such as timers and constants.
+}
+
+-- TAG-RLF-TIMERS-AND-CONSTANTS-STOP
+-- TAG-SCELL-INDEX-START
+
+-- FFS: Value range and usage across Cell Groups (shared value range or separate value range). RAN1 indicated 16 serving cells per CG.
+SCellIndex ::= INTEGER (1..31)
+
+-- TAG-SCELLINDEX-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
+}
+
+SchedulingRequestToAddMod ::= SEQUENCE {
+ schedulingRequestID SchedulingRequestId,
+
+ sr-prohibitTimer ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128},
+ sr-TransMax ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1}
+}
+
+-- FFS_TODO: provide resources for each SchedulingRequestID in ServingCellConfigDedicated (TBD whether directly, in PUCCH-Config, in each BWP)
+
+-- TAG-SCHEDULING-REQUEST-CONFIG-STOP
+-- TAG-SDAP-CONFIG-START
+
+SDAP-Config ::= SEQUENCE {
+ -- FFS / TODO: Definition of PDUsessionID to be added
+ pduSession PDUsessionID,
+
+ -- FFS: separate configuration for UL and DL
+ sdap-Header-DL ENUMERATED {present, absent},
+ sdap-Header-UL ENUMERATED {present, absent},
+ defaultDRB BOOLEAN,
+ reflectiveQoS BOOLEAN, -- It is FFS whether this field is needed
+
+ -- FFS: Is the simple list sufficient? Replace by add/mod/release list? Or bitmap?
+ mappedQoSflows SEQUENCE (SIZE (0..maxNrofQFIs)) OF QFI OPTIONAL, -- Need N
+ ...
+}
+
+
+QFI ::= INTEGER (0..maxQFI)
+
+-- TAG-SDAP-CONFIG-STOP
+
+SecurityAlgorithmConfig ::= SEQUENCE {
+ cipheringAlgorithm CipheringAlgorithm,
+ integrityProtAlgorithm IntegrityProtAlgorithm
+
+}
+
+IntegrityProtAlgorithm ::= ENUMERATED {
+ nia0, nia1, nia2, nia3, spare4, spare3,
+ spare2, spare1, ...}
+
+CipheringAlgorithm ::= ENUMERATED {
+ nea0, nea1, nea2, nea3, spare4, spare3,
+ spare2, spare1, ...}
+
+-- TAG-SERV-CELL-INDEX-START
+
+ServCellIndex ::= INTEGER (0..16)
+
+-- TAG-SERV-CELL-INDEX-STOP
+-- TAG-SERVING-CELL-CONFIG-COMMON-START
+
+ServingCellConfigCommon ::= SEQUENCE {
+
+ -- Parameters identifying the target cell (reconfiguration with sync, SCell addition, PSCell addition)
+ -- FFS: Need to indicate initial BWP here?
+ -- FFS: Update the following based on input from RAN1 and RAN4
+ physCellId PhysCellId OPTIONAL, -- Cond HOAndSCellAdd,
+ frequencyInfoDL SEQUENCE {
+ carrierFreqDL ARFCN-ValueNR,
+ carrierBandwidthDL CarrierBandwidthNR
+ } OPTIONAL, -- Cond InterFreqHOAndSCellAdd
+ frequencyInfoUL FrequencyInfoUL OPTIONAL, -- Cond InterFreqHOAndUplinkSCellAdd
+
+ -- FFS: How to indicate the FrequencyInfoUL for the SUL
+ supplementaryUplink SEQUENCE {
+ frequencyInfoUL FrequencyInfoUL
+ -- FFS: Add additional (selection) criteria determining when/whether the UE shall use the SUL frequency
+ } OPTIONAL, -- Cond SUL
+
+
+ -- Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages.
+ -- Values 15, and 30 kHz are applicable for carrier frequencies <6GHz; Values 60 and 120 kHz are applicable for carrier frequencies >6GHz
+ subcarrierSpacingCommon SubcarrierSpacing,
+
+ -- The frequency domain offset between SSB and the overall resource block grid in number of subcarriers.
+ -- Absence of the field indicates that no offset if applied (offset = 0). See 38.211, section 7.4.3.1)
+ ssb-subcarrier-offset INTEGER (1..11) OPTIONAL,
+
+ -- Indicates the time domain positions of the transmitted SS-blocks in an SS-burst.
+ -- Corresponds to L1 parameter 'SSB-Transmitted' (see 38.213, section 4.1)
+ -- FFS_CECHK: Is the NW required to provide always a valid bitmap? If not, we cannot use "need M"
+ ssb-PositionsInBurst CHOICE {
+ -- bitmap for sub 3 GHz
+ shortBitmap BIT STRING (SIZE (4)),
+ -- bitmap for 3-6 GHz
+ mediumBitmap BIT STRING (SIZE (8)),
+ -- bitmap for above 6 GHz
+ longBitmap BIT STRING (SIZE (64))
+ } OPTIONAL, -- Need M,
+
+ -- The SSB periodicity in msec for the rate matching purpose (see 38.211, section [7.4.3.1])
+ ssb-periodicityServingCell ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160 } OPTIONAL,
+
+ -- CHECK: This field is usually in MIB. Assuming that the UE does not need to acquire MIB before sending RA to target cell, this parameter
+ -- should also be here
+ -- Position of (first) DL DM-RS (see 38.211, section 7.4.1.1.1)
+ dmrs-TypeA-Position ENUMERATED {pos2, pos3},
+
+
+ -- Subcarrier spacing of SSB. Used only for non-initial access (e.g. SCells, PCell of SCG).
+ -- If the field is absent the UE shall assume the default value of the band.
+ -- FFS in RAN1: Possibility to have several default values? May the field be absent in that case?
+ subcarrierSpacingSSB SubcarrierSpacingSSB OPTIONAL, -- Need R
+
+ tdd-UL-DL-configurationCommon SEQUENCE {
+ -- Periodicity of the DL-UL pattern. Corresponds to L1 parameter 'DL-UL-transmission-periodicity' (see 38.211, section FFS_Section)
+ dl-UL-TransmissionPeriodicity ENUMERATED {ms0dot5, ms1, ms2, ms5, ms10} OPTIONAL,
+
+ -- Number of consecutive full DL slots at the beginning of each DL-UL pattern.
+ -- Corresponds to L1 parameter 'number-of-DL-slots' (see 38.211, section FFS_Section)
+ -- FFS_Value: Verify that 160 is correct (maximum number of slots within the longest period (10 ms) and the largest subcarrier spacing.
+ nrofDownlinkSlots INTEGER (0..160) OPTIONAL,
+
+ -- Number of consecutive DL symbols in the beginning of the slot following the last full DL slot (as derived from nrofDownlinkSlots).
+ -- Corresponds to L1 parameter 'number-of-DL-symbols-common' (see 38.211, section FFS_Section).
+ nrofDownlinkSymbols INTEGER (0..maxSymbolIndex) OPTIONAL,
+
+ -- Number of consecutive full UL slots at the end of each DL-UL pattern.
+ -- Corresponds to L1 parameter 'number-of-UL-slots' (see 38.211, section FFS_Section)
+ -- FFS_Value: Verify that 160 is correct (maximum number of slots within the longest period (10 ms) and the largest subcarrier spacing.
+ nrofUplinkSlots INTEGER (0..160) OPTIONAL,
+
+ -- Number of consecutive UL symbols in the end of the slot preceding the first full UL slot (as derived from nrofUplinkSlots).
+ -- Corresponds to L1 parameter 'number-of-UL-symbols-common' (see 38.211, section FFS_Section)
+ nrofUplinkSymbols INTEGER (0..maxSymbolIndex) OPTIONAL
+ } OPTIONAL, -- Cond TDD
+
+ -- TX power that the NW used for SSB transmission. The UE uses it to estimate the RA preamble TX power.
+ -- CHECK: Value range and step size (table says [-60...50]) (see 38.213, section 7.4)
+ ss-PBCH-BlockPower INTEGER (-60..50),
+
+ -- Parameters that are also conveyed via system information (SIB1) but which are provided here to accelerate handover
+ -- and to avoid that UEs need to read system information from SCells.
+ rach-ConfigCommon RACH-ConfigCommon
+
+ -- =====================================
+ -- FFS which of the following are needed
+ --
+ -- BandwidthPart-Confi
+ -- ControlResourceSet
+ -- SearchSpace
+ -- or include pdcchConfigSIB1 instead of BWP, CORESET and SearchSpace?
+ -- bcch-Config BCCH-Config,
+ -- pcch-Config PCCH-Config,
+ -- prach-Config PRACH-ConfigSIB,
+ -- pdsch-ConfigCommon PDSCH-ConfigCommon,
+ -- pusch-ConfigCommon PUSCH-ConfigCommon,
+ -- pucch-ConfigCommon PUCCH-ConfigCommon,
+ -- soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon,
+ -- uplinkPowerControlCommon UplinkPowerControlCommon,
+
+}
+
+-- TAG-SERVING-CELL-CONFIG-COMMON-STOP
+-- TAG-SERVING-CELL-CONFIG-DEDICATED-START
+
+ServingCellConfigDedicated ::= SEQUENCE {
+ -- L1 parameters:
+
+ tdd-UL-DL-configurationDedicated SEQUENCE {
+ -- The slotSpecificConfiguration allows overriding UL/DL allocations provided in tdd-UL-DL-configurationCommon.
+ -- FFS_ASN1: Consider making this an AddMod/Release list
+ -- FFS_ASN1: Replace absolute numbers by variables... once RAN1 confirms.
+ slotSpecificConfigurations SEQUENCE (SIZE(0..160)) OF SEQUENCE {
+ -- Identifies a slot within a dl-UL-TransmissionPeriodicity (given in tdd-UL-DL-configurationCommon)
+ slotIndex INTEGER (0..160),
+
+ -- FFS_ASN1: Consider a choice structure with options [allDownlink, allUplink, explicit] where the following two fields are provided
+ -- only in case of "explicit".
+
+ -- Number of consecutive DL symbols in the beginning of the slot identified by slotIndex
+ -- Corresponds to L1 parameter 'number-of-DL-symbols-dedicated' (see 38.211, section FFS_Section)
+ nrofDownlinkSymbols INTEGER (0..maxSymbolIndex) OPTIONAL,
+
+ -- Number of consecutive UL symbols in the end of the slot identified by slotIndex
+ -- Corresponds to L1 parameter 'number-of-UL-symbols-dedicated' (see 38.211, section FFS_Section)
+ nrofUplinkSymbols INTEGER (0..maxSymbolIndex) OPTIONAL
+ } OPTIONAL -- Need M
+ } OPTIONAL, -- Cond TDD
+
+ bandwidthParts BandwidthParts OPTIONAL,
+
+ -- Identifer used to initalite data scrambling (c_init) for both PDSCH and PUSCH.
+ -- Corresponds to L1 parameter 'Data-scrambling-Identity' (see 38,214, section FFS_Section)
+ dataScramblingIdentity NULL OPTIONAL, -- WS modification: was FFS_Value
+
+ pdcch-Config PDCCH-Config OPTIONAL,
+ pdsch-Config PDSCH-Config OPTIONAL,
+
+ -- FFS in RAN1: Tracking Reference Signals configuration: TRS-Config?
+ csi-MeasConfig CSI-MeasConfig OPTIONAL,
+
+ pucch-Config PUCCH-Config OPTIONAL,
+ pusch-Config PUSCH-Config OPTIONAL,
+ srs-Config SRS-Config OPTIONAL,
+
+ -- MAC parameters:
+ -- FFS: Is it per BWP?
+
+
+ -- FFS: Resources for scheduling request (per BWP)
+
+ sps-Config SPS-Config OPTIONAL,
+
+ -- Indicates whether this SCell is cross-carrier scheduled by another serving cell.
+ -- FFS: How to indicate whether CIF is present in the DCIs of the PCell? Should the CrossCarrierSchedulingConfig be included
+ -- and set to own so that the field "cif-Presence" can be set?
+ crossCarrierSchedulingConfig CrossCarrierSchedulingConfig OPTIONAL, -- Cond SCell
+
+ -- Timing Advance Group ID, as specified in TS 38.321 [3], which this cell belongs to.
+ tag-Id TAG-Id,
+ -- Enables the "UE beam lock function (UBF)", which disable changes to the UE beamforming configuration when in NR_RRC_CONNECTED.
+ -- FFS: Parameter added preliminary based on RAN4 LS in R4-1711823. Decide where to place it (maybe ServingCellConfigCommon or
+ -- in a BeamManagement IE??)
+ ue-BeamLockFunction ENUMERATED {enabled} OPTIONAL,
+
+ -- Indicates whether UE shall apply as pathloss reference either the downlink of PCell or of SCell that corresponds with this uplink
+ -- (see 38.213, section 7)
+ pathlossReferenceLinking ENUMERATED {pCell, sCell} OPTIONAL -- Cond SCell
+}
+
+-- TAG-SERVING-CELL-CONFIG-DEDICATED-STOP
+-- TAG-SRB-IDENTITY-START
+
+SRB-Identity ::= INTEGER (1..3)
+
+-- TAG-SRB-IDENTITY-STOP
+-- TAG-SPS-CONFIG-START
+
+-- SPS may be configured on the PCell as well as on SCells. But it shall not be configured for more than
+-- one serving cell of a cell group at once.
+SPS-Config ::= SEQUENCE {
+ -- FFS: Same SPS for UL and DL (like in LTE)? See also naming FFS above.
+ -- sps-RNTI BIT STRING (SIZE (16)) OPTIONAL,
+
+ -- FSS / TODO: ADD DL SPS!
+
+ -- UL SPS configuration
+ -- FFS CHECK: Add possibility to release UL SPS
+ uplink SEQUENCE { periodicity NULL, -- WS modification: was TYPE_FFS!
+ powerControl NULL, -- WS modification: was TYPE_FFS!
+
+ -- Enable transformer precoder for type1 and type2. Absence indicates that it is disabled.
+ -- Corresponds to L1 parameter 'UL-TWG-tp' (see 38.214, section FFS_Section)
+ transformPrecoder ENUMERATED {enabled} OPTIONAL,
+ -- The number of HARQ processes configured. It applies for both Type 1 and Type 2
+ -- Corresponds to L1 parameter 'UL-TWG-numbHARQproc' (see 38.214, section FFS_Section)
+ nrofHARQ-processes INTEGER(1..1) OPTIONAL, -- WS modification: was FFS_Value
+
+ -- If repetitions is used, this field indicates the redundancy version (RV) sequence to use.
+ -- Corresponds to L1 parameter 'UL-TWG-RV-rep' (see 38.214, section FFS_Section)
+ repK-RV ENUMERATED {s1-0231, s2-0303, s3-0000} OPTIONAL,
+ -- Periodicity for UL transmission without UL grant for type 1 and type 2
+ -- Corresponds to L1 parameter 'UL-TWG-periodicity' (see 38.321, section FFS_Section)
+ -- The following periodicities are supported depending on the configured subcarrier spacing [ms]:
+ -- 15kHz: 2 symbols, 7 symbols, 1, 2, 5, 10, 20, 32, 40, 64, 80, 128, 160, 320, 640
+ -- 30kHz: 2 symbols, 7 symbols, 0.5, 1, 2, 5, 10, 20, 32, 40, 64, 80, 128, 160, 320, 640
+ -- 60kHz: 2 symbols, 7 symbols (6 symbols for ECP), 0.25,0.5,1,2,5,10,20,32, 40, 64, 80, 128, 160, 320, 640
+ -- 120kHz: 2 symbols, 7 symbols, 0.125,0.25,0.5,1,2,5,10,20, 32, 40, 64, 80, 128, 160, 320, 640 OPTIONAL,
+ -- 2 symbols, 7 symbols, 0.125,0.25,0.5,1,2,5,10,20, 32, 40, 64, 80, 128, 160, 320, 640
+ priodicity ENUMERATED {sym2, sym7, ms0dot125, ms0dot25, ms0dot5, ms1, ms2, ms5, ms10, ms20,
+ ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640} OPTIONAL,
+
+
+ -- UL-SPS transmission with fully RRC-configured UL grant (Type1) (see 38.214, section x.x.x.x). FFS_Ref
+ -- If not provided or set to release, use UL-SPS transmission with UL grant configured by DCI addressed to SPS-RNTI (Type2).
+ rrcConfiguredUplinkGrant CHOICE {
+ setup SEQUENCE {
+ -- FFS: Merge the following two into one. Possibly don't use "periodicity" for rrcConfiguredUplinkGrant
+ timeDomainOffset NULL, -- WS modification: was TYPE_FFS!
+ timeDomainAllocation NULL, -- WS modification: was TYPE_FFS!
+ frequencyDomainAllocation NULL, -- WS modification: was TYPE_FFS!
+ -- UE-specific DMRS configuration:
+ dmrs NULL, -- WS modification: was TYPE_FFS!
+ mcsAndTBS NULL, -- WS modification: was TYPE_FFS!
+ -- The number or repetitions of K:
+ repK NULL }, -- WS modification: was TYPE_FFS!
+ release NULL
+ } OPTIONAL -- Need M
+ } OPTIONAL -- Need M
+}
+
+-- TAG-SPS-CONFIG-STOP
+-- TAG-SRS-CONFIG-START
+
+-- SRS configuration allowing to add and remove sets of SRS resources
+SRS-Config ::= SEQUENCE {
+ srs-ResourceSetToReleaseList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId OPTIONAL, -- Need M
+ srs-ResourceSetToAddModList SEQUENCE (SIZE(0..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet OPTIONAL, -- Need M
+
+ srs-ResourceToReleaseList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId OPTIONAL, -- Need M
+ srs-ResourceToAddModList SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource OPTIONAL, -- Need M
+
+
+ -- RNTI used for SRS TPC. Corresponds to L1 parameter 'TPC-SRS-RNTI' (see 38.213, section 10)
+ tpc-SRS-RNTI BIT STRING (SIZE (16)) OPTIONAL
+}
+
+-- A set of SRS resources
+SRS-ResourceSet ::= SEQUENCE {
+ srs-ResourceSetId SRS-ResourceSetId,
+ srs-ResourcesIds SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId,
+
+ -- The DCI "code point" upon which the UE shall transmit SRS according to this SRS resource set configuration.
+ -- FFS: Verify definition and usage.
+ -- Corresponds to L1 parameter 'AperiodicSRS-ResourceTrigger' (see 38.214, section FFS_Section)
+ aperiodicSRS-ResourceTrigger NULL -- WS modification: was TYPE_FFS!
+}
+
+SRS-ResourceSetId ::= INTEGER (0..maxNrofSRS-ResourceSets-1)
+
+SRS-Resource ::= SEQUENCE {
+ srs-ResourceId SRS-ResourceId,
+ nrofSRS-Ports ENUMERATED {port1, ports2, ports4},
+ -- Comb value (2 or 4) and comb offset. Corresponds to L1 parameter 'SRS-TransmissionComb' (see 38.214, section 6.2.1)
+ transmissionComb ENUMERATED {n2, n4},
+ -- OFDM symbol location of the SRS resource within a slot including number of OFDM symbols (1, 2, or 4 per SRS resource)
+ -- Corresponds to L1 parameter 'SRS-ResourceMapping' (see 38.214, section 6.2.1)
+ resourceMapping NULL, -- WS modification: was TYPE_FFS!
+ -- Parameter(s) defining frequency domain position and configurable shift to align SRS allocation to 4 PRB grid.
+ -- Corresponds to L1 parameter 'SRS-FreqDomainPosition' (see 38.214, section 6.2.1)
+ freqDomainPosition NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Includes parameters capturing SRS frequency hopping
+ -- Corresponds to L1 parameter 'SRS-FreqHopping' (see 38.214, section 6.2.1)
+ freqHopping INTEGER (0..63), -- WS modification: was TYPE_FFS!, 38.211 suggests this range
+ -- Parameter(s) for configuring group or sequence hopping including hopping sequence initialization
+ -- Corresponds to L1 parameter 'SRS-GroupSequenceHopping' (see 38.211, section FFS_Section)
+ groupOrSequenceHopping INTEGER (0..2) OPTIONAL, -- WS modification: was FFS_Value, 38.211 suggests this range
+ -- Time domain behavior of SRS resource configuration
+ -- Corresponds to L1 parameter 'SRS-ResourceConfigType' (see 38.214, section 6.2.1)
+ -- FFS: Add configuration parameters for the different SRS resource types?
+ resourceType CHOICE {
+ aperiodic SEQUENCE {
+ },
+ semi-persistent SEQUENCE {
+ },
+ periodic SEQUENCE {
+ }
+ } OPTIONAL, -- Need M
+ -- Periodicity and slot offset for periodic/semi-persistent SRS
+ -- Corresponds to L1 parameter 'SRS-SlotConfig' (see 38.214, section 6.2.1)
+ -- FFS_Value: RAN1 discusses whether more values for other subcarrier spacings are needed.
+ periodicityAndOffset CHOICE {
+ sl2 INTEGER(0..1),
+ sl5 INTEGER(0..4),
+ sl10 INTEGER(0..9),
+ sl20 INTEGER(0..19),
+ sl40 INTEGER(0..39),
+ sl80 INTEGER(0..79),
+ sl160 INTEGER(0..159),
+ sl320 INTEGER(0..319)
+ },
+ -- Sequence ID. Corresponds to L1 parameter 'SRS-SequenceId' (see 38.214, section 6.2.1)
+ sequenceId NULL, -- WS modification: was TYPE_FFS!
+ -- SRS antenna switching. Corresponds to L1 parameter 'SRS-AntSwitching' (see 38.211, section 6.2.1)
+ antennaSwitching NULL, -- WS modification: was TYPE_FFS!
+ -- Includes parameters for configuration of carrier based SRS switching
+ -- Corresponds to L1 parameter 'SRS-CarrierSwitching' (see 38,214, section FFS_Section)
+ carrierSwitching NULL OPTIONAL, -- WS modification: was FFS_Value
+ -- Parameter(s) definiing cyclic shift configuration. Corresponds to L1 parameter 'SRS-CyclicShiftConfig' (see 38.214, section 6.2.1)
+ cyclicShift INTEGER (0..12) OPTIONAL, -- WS modification: was FFS_Value but 38.211 suggests this range
+ -- Configuration of the spatial relation between a reference RS and the target SRS. Reference RS can be SSB/CSI-RS/SRS
+ -- Corresponds to L1 parameter 'SRS-SpatialRelationInfo' (see 38.214, section 6.2.1)
+ spatialRelationInfo ENUMERATED {ssb-pbch, csi-rs, srs} OPTIONAL -- WS modification: was FFS_Value, 38.214 suggests those values
+}
+
+SRS-ResourceId ::= INTEGER (0..maxNrofSRS-Resources-1)
+
+-- TAG-SRS-CONFIG-STOP
+-- TAG-SUBCARRIER-SPACING-START
+
+-- Check value range! Currently used for subcarrierSpacingCommon (SIB1, Msg2, Msg4
+-- FFS: Replace this 2-bit field by a 1-bit field: ENUMERATED {sc1, sc2}. Then define that sc1 = 15 kHz and sc2 = 30 kHz
+-- when carrier frequency < 6 GHz and sc1 = 60 kHz and sc2 = 120 kHz when carrier frequency is > 6GHz?
+SubcarrierSpacing ::= ENUMERATED {kHz15, kHz30, kHz60, kHz120}
+
+-- 15 or 30 kHz (<6GHz), 120 and 240 kHz (>6GHz).
+SubcarrierSpacingSSB ::= ENUMERATED {kHz15, kHz30, kHz120, kHz240}
+
+SubcarrierSpacingRACH ::= NULL -- WS modification: was TYPE_FFS!
+
+-- TAG-SUBCARRIER-SPACING-STOP
+
+BandCombinationList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination
+
+BandCombination ::= SEQUENCE {
+ -- FFS How to decouple DL and UL
+ -- FFS How to address NC CA in relation to carrier separation
+ -- intraBandSimultaneousTxRx will be added with FFS (per UE or per band combination)
+ -- multipleTimingAdvance will be added with FFS (per UE or per band combination)
+ -- singleTx will be included per band combination
+ -- scalingFactor will be included per band per band combination
+}
+
+
+RAT-Type ::= ENUMERATED {nr, mrdc, spare1, ...}
+
+-- FFS utra, geran-cs, geran-ps and cdma2000-1XRTT
+
+UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0.. maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container
+
+UE-CapabilityRAT-Container ::= SEQUENCE {
+ rat-Type RAT-Type,
+ ueCapabilityRAT-Container OCTET STRING
+}
+
+
+UE-MRDC-Capability ::= SEQUENCE {
+ measParameters-MRDC MeasParameters-MRDC,
+ rf-Parameters-MRDC RF-Parameters-MRDC,
+ phyLayerParameters-MRDC PhyLayerParameters-MRDC
+ -- FFS on other parameters
+}
+
+RF-Parameters-MRDC ::= SEQUENCE {
+ supportedBandCombination BandCombinationList
+ -- FFS on other parameters
+}
+
+PhyLayerParameters-MRDC ::= SEQUENCE {
+ supportedBasebandProcessingCombination-MRDC BasebandProcessingCombination-MRDC
+ -- FFS if supportedBasebandProcessingCombination-MRDC is included here or BandCombinationList
+ -- FFS on other parameters
+}
+
+BasebandProcessingCombination-MRDC ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF LinkedBasebandProcessingCombination
+
+LinkedBasebandProcessingCombination ::= SEQUENCE {
+ basebandProcessingCombinationIndex BasebandProcessingCombinationIndex,
+ basebandProcessingCombinationLinkedIndex SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombinationIndex
+}
+
+BasebandProcessingCombinationIndex ::= INTEGER (1..maxBasebandProcComb)
+
+MeasParameters-MRDC ::= SEQUENCE {
+ intraCarrierConcurrentMeas ENUMERATED {supported} OPTIONAL,
+ independentGapConfig ENUMERATED {supported} OPTIONAL,
+ sstd-MeasType1 ENUMERATED {supported} OPTIONAL
+}
+
+UE-NR-Capability ::= SEQUENCE {
+ pdcp-Parameters PDCP-Parameters,
+ rlc-Parameters RLC-Parameters, -- FFS OPTIONAL
+ mac-Parameters MAC-Parameters, -- FFS OPTIONAL
+ phyLayerParameters PhyLayerParameters,
+ rf-Parameters RF-Parameters,
+ nonCriticalExtension SEQUENCE {} OPTIONAL
+}
+
+PhyLayerParameters ::= SEQUENCE {
+ supportedBasebandProcessingCombination SupportedBasebandProcessingCombination
+ -- FFS on other parameters
+}
+
+RF-Parameters ::= SEQUENCE {
+ supportedBandListNR SupportedBandListNR,
+ supportedBandCombination BandCombinationList,
+ intraBandAsyncFDD ENUMERATED {supported} OPTIONAL
+ -- FFS Whether intraBandAsyncFDD is included per UE or per band combination
+}
+
+SupportedBandListNR ::= SEQUENCE (SIZE (1..maxBands)) OF BandNR
+
+SupportedBandCombination ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination
+
+SupportedBasebandProcessingCombination ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BasebandProcessingCombination
+
+BasebandProcessingCombination ::= SEQUENCE {
+ basebandParametersPerBand SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BasebandParametersPerBand
+ -- FFS on other parameters
+}
+
+BasebandParametersPerBand ::= SEQUENCE {
+ ca-BandwidthClassDL CA-BandwidthClass,
+ ca-BandwidthClassUL CA-BandwidthClass,
+ basebandParametersPerCC SEQUENCE (SIZE (1..maxServCell)) OF BasebandParametersPerCC,
+ supportedBWPerCC BWPerCC
+ -- FFS on the need (e.g. if ca-BandwidthClass is sufficient to cover BWPerCC)
+ -- FFS on other parameters
+}
+
+BasebandParametersPerCC ::= SEQUENCE {
+ supportedMIMO-CapabilityDL MIMO-Capability OPTIONAL,
+ supportedMIMO-CapabilityUL MIMO-Capability OPTIONAL,
+ modulationOrder ModulationOrder,
+ subCarrierSpacing SubCarrierSpacing
+ -- FFS if modulationOrder and subCarrierSpacing are included per Band or per CC
+ -- FFS on other parameters
+}
+
+BandNR ::= SEQUENCE {
+ bandNR FreqBandIndicatorNR,
+ supportedMIMO-CapabilityDL MIMO-Capability OPTIONAL,
+ supportedMIMO-CapabilityUL MIMO-Capability OPTIONAL
+ -- FFS on other parameters
+}
+
+CA-BandwidthClass ::= ENUMERATED {a, b, c, d, e, f, ...}
+
+MIMO-Capability ::= SEQUENCE {
+ -- FFS on the parameters
+}
+
+ModulationOrder ::= SEQUENCE {
+ -- FFS on the parameters
+}
+
+SubCarrierSpacing ::= SEQUENCE {
+ -- FFS on the parameters
+}
+
+PDCP-Parameters ::= SEQUENCE {
+ dataRateDRB-IP ENUMERATED {kbps64, spare6, spare5, spare4, spare3, spare2, spare1, spare0} OPTIONAL,
+ 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,
+ volteOverNR-PDCP ENUMERATED {supported} OPTIONAL
+}
+
+RLC-Parameters ::= SEQUENCE {
+ amWithShortSN ENUMERATED {supported} OPTIONAL,
+ umWithShortSN ENUMERATED {supported} OPTIONAL,
+ umWIthLongSN ENUMERATED {supported} OPTIONAL
+}
+
+MAC-Parameters ::= SEQUENCE {
+ lcp-Restriction ENUMERATED {supported} OPTIONAL,
+ skipUplinkTxDynamic ENUMERATED {supported} OPTIONAL,
+ logicalChannelSR-DelayTimer ENUMERATED {supported} OPTIONAL,
+ longDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ shortDRX-Cycle ENUMERATED {supported} OPTIONAL,
+ numberOfSR-Configurations ENUMERATED {n2, n3, n4,...} OPTIONAL, -- FFS value range
+ numberOfConfiguredGrantConfigurations ENUMERATED {n2, n3, n4,...} OPTIONAL -- FFS value range
+}
+
+-- TAG-UE-NR-CAPABILITY-STOP
+-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START
+maxBandComb INTEGER ::= 1 -- Maximum number of DL band combinations; WS modification: was FFS
+maxBasebandProcComb INTEGER ::= 1 -- Maximum number of base band processing combinations; WS modification: was FFS
+maxNrofSCells INTEGER ::= 15 -- Max number of secondary serving cells per cell group
+maxNrofCellMeas INTEGER ::= 1 -- Maximum number of entries in each of the cell lists in a measurement object; WS modification: was FFS
+maxNroSS-BlocksToAverage INTEGER ::= 2 -- Max number for the (max) number of SS blocks to average to determine cell measurement; WS modification: was FFS
+maxNroCSI-RS-ResourcesToAverage INTEGER ::= 2 -- Max number for the (max) number of CSI-RS to average to determine cell measurement; WS modification: was FFS
+
+maxNrofSR-CongigPerCellGroup INTEGER ::= 8 -- Maximum number of SR configurations per cell group
+
+maxLCG-ID INTEGER ::= 7 -- Maximum value of LCG ID
+macLC-ID INTEGER ::= 64 -- Maximum value of Logical Channel ID; WS modification: was FFS, 38.221 suggests 64
+maxNrofTAGs INTEGER ::= 4 -- Maximum number of Timing Advance Groups
+maxNrofTAGs-1 INTEGER ::= 3 -- Maximum number of Timing Advance Groups minus 1
+
+maxNrofBandwidthParts INTEGER ::= 4 -- Maximum number of BWPs per serving cell
+maxNrofBandwidthParts-1 INTEGER ::= 3 -- Maximum number of BWPs per serving cell minus 1
+
+maxSymbolIndex INTEGER ::= 13 -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
+
+maxNrofPhysicalResourceBlocks INTEGER ::= 275 -- Maximum number of PRBs
+maxNrofPhysicalResourceBlocks-1 INTEGER ::= 274 -- Maximum number of PRBs
+maxNrofPhysicalResourceBlocksTimes4 INTEGER ::= 1100 -- Maximum number of PRBs (used to reference PRBs in another subcarrier spacing)
+
+maxNrofControlResourceSets INTEGER ::= 2 -- Max number of CoReSets configurable on a serving cell; WS modification: was FFS
+maxNrofControlResourceSets-1 INTEGER ::= 1 -- Max number of CoReSets configurable on a serving cell minus 1; WS modification: was FFS
+maxCoReSetStartSymbol INTEGER ::= 0 -- Highest possible start symbol for a control resource set; WS modification: was FFS
+maxCoReSetDuration INTEGER ::= 3 -- Max number of OFDM symbols in a control resource set
+maxNrofSearchSpacesPerCoReSet INTEGER ::= 0 -- Max number of search spaces configurable per Control Resource Set; WS modification: was FFS
+
+maxNrofRateMatchPatterns INTEGER ::= 1 -- Max number of rate matching patterns that may be configured; WS modification: was FFS
+maxNrofRateMatchPatterns-1 INTEGER ::= 0 -- Max number of rate matching patterns that may be configured minus 1; WS modification: was FFS
+maxNrofCSI-Reports INTEGER ::= 1 -- Maximum number of report configurations; WS modification: was FFS
+maxNrofCSI-Reports-1 INTEGER ::= 0 -- Maximum number of report configurations minus 1; WS modification: was FFS
+maxNrofCSI-ResourceConfigurations INTEGER ::= 1 -- Maximum number of resource configurations; WS modification: was FFS
+maxNrofCSI-ResourceConfigurations-1 INTEGER ::= 0 -- Maximum number of resource configurations minus 1; WS modification: was FFS
+maxNrofCSI-ResourceSets INTEGER ::= 1 -- Maximum number of resource sets per resource configuration; WS modification: was FFS
+maxNrofCSI-ResourceSets-1 INTEGER ::= 0 -- Maximum number of resource sets per resource configuration minus 1; WS modification: was FFS
+maxNrofNZP-CSI-RS-Resources INTEGER ::= 1 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources; WS modification: was FFS
+maxNrofNZP-CSI-RS-Resources-1 INTEGER ::= 0 -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1; WS modification: was FFS
+maxNrofZP-CSI-RS-Resources INTEGER ::= 1 -- Maximum number of Zero-Power (NZP) CSI-RS resources; WS modification: was FFS
+maxNrofZP-CSI-RS-Resources-1 INTEGER ::= 0 -- Maximum number of Zero-Power (NZP) CSI-RS resources minus 1; WS modification: was FFS
+maxNrofCSI-IM-Resources INTEGER ::= 1 -- Maximum number of CSI-IM resources. See CSI-IM-ResourceMax in 38.214. WS modification: was FFS
+maxNrofCSI-IM-Resources-1 INTEGER ::= 0 -- Maximum number of CSI-IM resources minus 1. See CSI-IM-ResourceMax in 38.214. WS modification: was FFS
+maxNrofSSB-Resources INTEGER ::= 64 -- Maximum number of SSB resources in a resource set
+maxNrofSSB-Resources-1 INTEGER ::= 63 -- Maximum number of SSB resources in a resource set minus 1
+maxNrofCSI-RS-ResourcesPerSet INTEGER ::= 8 -- Maximum number of CSI-RS resources per resource set
+maxNrofCSI-MeasId INTEGER ::= 1 -- Maximum number of link configurations; WS modification: was FFS
+maxNrofCSI-MeasId-1 INTEGER ::= 0 -- Maximum number of link configurations minus 1; WS modification: was FFS
+maxNrofCSI-RS-ResourcesRRM INTEGER ::= 1 -- Maximum number of CSI-RS resources for an RRM measurement object; WS modification: was FFS
+maxNrofCSI-RS-ResourcesRRM-1 INTEGER ::= 0 -- Maximum number of CSI-RS resources for an RRM measurement object minus 1; WS modification: was FFS
+
+maxNrofObjectId INTEGER ::= 1 -- Maximum number of configured measurement objects; WS modification: was FFS
+maxNrOfRA-PreamblesPerSSB INTEGER ::= 1 -- Maximum number of Random Access Preamble value per SSB; WS modification: was FFS
+maxNrofReportConfigId INTEGER ::= 1 -- Maximum number of reporting configurations; WS modification: was FFS
+maxNrofMeasId INTEGER ::= 1 -- Maximum number of configured measurements; WS modification: was FFS
+maxNroQuantityConfig INTEGER ::= 2 -- Maximum number of quantity configurations
+
+maxNrofSRS-ResourceSets INTEGER ::= 1 -- Maximum number of SRS resource sets. WS modification: was FFS
+maxNrofSRS-ResourceSets-1 INTEGER ::= 0 -- Maximum number of SRS resource sets minus 1. WS modification: was FFS
+maxNrofSRS-Resources INTEGER ::= 1 -- Maximum number of SRS resources in an SRS resource set. WS modification: was FFS
+maxNrofSRS-Resources-1 INTEGER ::= 0 -- Maximum number of SRS resources in an SRS resource set minus 1. WS modification: was FFS
+maxRA-PreambleIndex INTEGER ::= 0 -- Maxximum value of Random Access Preamble Index; WS modification: was FFS
+maxRAT-CapabilityContainers INTEGER ::= 3 -- Maximum number of interworking RAT containers (incl NR and MRDC); WS modification: was FFS
+maxServCell INTEGER ::= 1 -- Maximum number of serving cells; WS modification: was FFS
+maxSimultaneousBands INTEGER ::= 1 -- Maximum number of simultaneously aggregated bands; WS modification: was FFS
+
+-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP
+
+-- WS modification: fake definitions for missing entries in ASN.1
+AdditionalSpectrumEmission ::= INTEGER (1..32)
+ARFCN-ValueNR ::= INTEGER
+BandwidthParts ::= BandwidthPart
+BSR-Configuration ::= BSR-Config
+CarrierBandwidthNR ::= ENUMERATED {ffs}
+ControlResourceId ::= ControlResourceSetId
+CSI-RS-ConfigurationId ::= INTEGER
+CSI-RSIndex ::= INTEGER
+CSIRS-ID ::= INTEGER
+FilterCoefficient ::= ENUMERATED {
+ fc0, fc1, fc2, fc3, fc4, fc5,
+ fc6, fc7, fc8, fc9, fc11, fc13,
+ fc15, fc17, fc19, spare1, ...}
+Hysteresis ::= INTEGER (0..30)
+maxBands INTEGER ::= 256
+maxCellReport INTEGER ::= 8
+maxDRB INTEGER ::= 29
+maxFreq INTEGER ::= 1
+maxLCid INTEGER ::= 32
+maxLCH INTEGER ::= 8
+maxQFI INTEGER ::= 0
+maxNrofAggregatedCellsPerCellGroup INTEGER ::= 1
+maxNrofCSI-ReportConfig-1 INTEGER ::= 0
+maxNrofPCIsPerSMTC INTEGER ::= 1
+maxNrofQFIs INTEGER ::= 1
+maxNrofSchedulingRequestResoruces INTEGER ::= 64
+maxNrofSearchSpaces INTEGER ::= 1
+maxNrofSlotFormatCombinations INTEGER ::= 1
+maxNrofSlotFormatCombinations-1 INTEGER ::= 1
+maxNrofSR-ConfigPerCellGroup INTEGER ::= 1
+maxNrofSRS-ResourcesPerSet INTEGER ::= 1
+maxNroCSI-RS INTEGER ::= 1
+maxNroIndexesToReport INTEGER ::= 1
+maxNroSSBs INTEGER ::= 8
+maxQuantityConfigId INTEGER ::= 1
+maxRAcsirsResources INTEGER ::= 1
+maxRAssbResources INTEGER ::= 1
+maxReportConfigId INTEGER ::= 1
+maxSCellGroups INTEGER ::= 1
+MeasGapConfig ::= SEQUENCE {}
+MeasObjectEUTRA ::= SEQUENCE {}
+MeasResultListEUTRA ::= SEQUENCE {}
+NumberOfRA-Preambles ::= NumberofRA-Preambles
+P-Max ::= INTEGER (-30..33)
+PDUsessionID ::= INTEGER
+PhysicalCellId ::= PhysCellId
+PhysCellIdRange ::= SEQUENCE {
+ start PhysCellId,
+ range ENUMERATED {
+ n4, n8, n12, n16, n24, n32, n48, n64, n84,
+ n96, n128, n168, n252, n504, spare2,
+ spare1} OPTIONAL -- Need OP
+}
+PUCCH-F2-number-of-PRB ::= INTEGER
+UECapabilityInformation ::= OCTET STRING
+RadioBearerConfiguration ::= RadioBearerConfig
+RA-Resources ::= SEQUENCE {}
+ReportInterval ::= ENUMERATED {
+ ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240,
+ min1, min6, min12, min30, min60, spare3, spare2, spare1}
+ReportConfigEUTRA ::= SEQUENCE {}
+RRC-TransactionIdentifier ::= INTEGER (0..3)
+RSRP-Range ::= INTEGER (0..97)
+RSRPRange ::= RSRP-Range
+RSRQ-Range ::= INTEGER (0..34)
+RSRQRange ::= RSRQ-Range
+SchedulingRequestId ::= INTEGER
+SchedulingRequestResource-Config ::= SEQUENCE{}
+ShortMAC-I ::= BIT STRING (SIZE (16))
+SINR-Range ::= INTEGER (0..127)
+SINRRange ::= SINR-Range
+SSB-ID ::= INTEGER (1..7)
+SSB-Index ::= INTEGER (1..7)
+TAG-Configuration ::= TAG-Config
+TimeToTrigger ::= ENUMERATED {
+ ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
+ ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
+ ms5120}
+
+END
diff --git a/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
new file mode 100644
index 0000000000..67a0dc0825
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/nr-rrc.cnf
@@ -0,0 +1,202 @@
+# nr-rrc.cnf
+# nr-rrc conformation file
+# Copyright 2018 Pascal Quantin
+
+#.OPT
+PER
+UNALIGNED
+#.END
+
+#.USE_VALS_EXT
+DRX-Config/setup/drx-onDurationTimer
+DRX-Config/setup/drx-InactivityTimer
+DRX-Config/setup/drx-RetransmissionTimerDL
+DRX-Config/setup/drx-RetransmissionTimerUL
+DRX-Config/setup/drx-LongCycleStartOffset
+DRX-Config/setup/shortDRX/drx-ShortCycle
+DRX-Config/setup/drx-SlotOffset
+PDCP-Config/moreThanOneRLC/ul-DataSplitThreshold/setup
+PDCP-Config/t-Reordering
+PollByte
+PollPDU
+Q-OffsetRange
+RACH-ConfigCommon/preambleReceivedTargetPower
+SPS-Config/uplink/priodicity
+T-PollRetransmit
+T-Reassembly
+T-StatusProhibit
+
+#.EXPORTS
+
+#.PDU
+#UE-MRDC-Capability
+#UE-NR-Capability
+BCCH-BCH-Message @bcch.bch
+DL-DCCH-Message @dl.dcch
+UL-DCCH-Message @ul.dcch
+#.END
+
+#.OMIT_ASSIGNMENT
+AS-Context
+BandCombination
+BandCombinationList
+BandNR
+BandwidthPart-Config
+BasebandParametersPerBand
+BasebandParametersPerCC
+BasebandProcessingCombination
+BasebandProcessingCombination-MRDC
+BasebandProcessingCombinationIndex
+BeamManagement
+CA-BandwidthClass
+CandidateCellInfo
+CandidateCellInfoList
+CandidateRS-IndexInfo
+CandidateRS-IndexInfoList
+ConfigRestrictInfoSCG
+ConfigRestrictModReqSCG
+ControlResourceIndex
+CSI-IM-ResourceConfig
+CSI-IM-ResourceConfigId
+DRX-Info
+FailureReportSCG-ToOtherRAT
+HandoverCommand
+HandoverCommand-r15-IEs
+HandoverPreparationInformation
+HandoverPreparationInformation-r15-IEs
+LinkedBasebandProcessingCombination
+MAC-Parameters
+MeasParameters-MRDC
+MeasResult2NR
+MeasResultList2NR
+MeasResultServFreq2NR
+MeasResultServFreqList2NR
+MIMO-Capability
+ModulationOrder
+PDCP-Parameters
+PhyLayerParameters
+PhyLayerParameters-MRDC
+PUCCH-F2-number-of-PRB
+PUCCH-format0
+PUCCH-format1
+PUCCH-format2
+PUCCH-format3
+PUCCH-format4
+RadioBearerConfiguration
+RAT-Type
+ReestabNCellInfo
+ReestabNCellInfoList
+RF-Parameters
+RF-Parameters-MRDC
+RLC-Parameters
+RRM-Config
+SIB1
+SCG-Config
+SCG-Config-r15-IEs
+SCG-ConfigInfo
+SCG-ConfigInfo-r15-IEs
+ShortMAC-I
+SubCarrierSpacing
+SubcarrierSpacingRACH
+SupportedBandCombination
+SupportedBandListNR
+SupportedBasebandProcessingCombination
+UE-CapabilityRAT-Container
+UE-CapabilityRAT-ContainerList
+UE-MRDC-Capability
+UE-NR-Capability
+UECapabilityInformation
+ZP-CSI-RS-Resource
+ZP-CSI-RS-ResourceId
+
+#.NO_EMIT ONLY_VALS
+
+#.MAKE_ENUM
+#RAT-Type TYPE_PREFIX
+
+#.FN_HDR BCCH-BCH-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-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 DL-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_DL;
+
+#.FN_HDR MIB
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
+
+#.FN_HDR RRCReconfiguration
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
+
+#.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_BODY UE-CapabilityRAT-Container
+# /* Initialise to invalid value */
+# private_data_set_rat_type(actx, 0xFF);
+# %(DEFAULT_BODY)s
+
+# #.FN_BODY RAT-Type VAL_PTR = &rat_type
+# guint32 rat_type;
+# %(DEFAULT_BODY)s
+# private_data_set_rat_type(actx, (guint8)rat_type);
+
+# #.FN_BODY UE-CapabilityRAT-Container/ueCapabilityRAT-Container VAL_PTR = &ue_cap_tvb
+# tvbuff_t *ue_cap_tvb=NULL;
+# %(DEFAULT_BODY)s
+
+# #.FN_FTR UE-CapabilityRAT-Container/ueCapabilityRAT-Container
+# if (ue_cap_tvb) {
+# proto_tree *subtree;
+#
+# subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container);
+# switch(private_data_get_rat_type(actx)){
+# case RAT_Type_nr:
+# /* eutra */
+# dissect_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+# break;
+# case RAT_Type_mrdc:
+# /* utra */
+# dissect_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL);
+# break;
+# default:
+# break;
+# }
+# }
+
+# #.FN_BODY UECapabilityInformation VAL_PTR = &parameter_tvb
+# tvbuff_t *parameter_tvb;
+# proto_tree *subtree;
+#
+# %(DEFAULT_BODY)s
+#
+# if (parameter_tvb) {
+# subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UECapabilityInformation);
+# dissect_lte_rrc_UECapabilityInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+# }
diff --git a/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
new file mode 100644
index 0000000000..8d694c9e38
--- /dev/null
+++ b/epan/dissectors/asn1/nr-rrc/packet-nr-rrc-template.c
@@ -0,0 +1,108 @@
+/* packet-nr-rrc-template.c
+ * NR;
+ * Radio Resource Control (RRC) protocol specification
+ * (3GPP TS 38.331 V15.0.0 Release 15) packet dissection
+ * Copyright 2018, Pascal Quantin
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+
+#include <epan/packet.h>
+#include <epan/asn1.h>
+
+#include <wsutil/str_util.h>
+
+#include "packet-per.h"
+#include "packet-lte-rrc.h"
+
+#define PNAME "NR Radio Resource Control (RRC) protocol"
+#define PSNAME "NR RRC"
+#define PFNAME "nr-rrc"
+
+void proto_register_nr_rrc(void);
+void proto_reg_handoff_nr_rrc(void);
+
+/* 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"
+
+/* Initialize the subtree pointers */
+static gint ett_nr_rrc = -1;
+#include "packet-nr-rrc-ett.c"
+static gint ett_nr_rrc_UECapabilityInformation = -1;
+
+#if 0
+/* Forward declarations */
+static int dissect_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+static int dissect_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+typedef struct {
+ guint8 rat_type;
+} 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)
+{
+ if (actx->private_data == NULL) {
+ actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t);
+ }
+ return (nr_rrc_private_data_t*)actx->private_data;
+}
+
+static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
+{
+ nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
+ return private_data->rat_type;
+}
+
+static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
+{
+ nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
+ private_data->rat_type = rat_type;
+}
+#endif
+
+#include "packet-nr-rrc-fn.c"
+
+void proto_register_nr_rrc(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+
+#include "packet-nr-rrc-hfarr.c"
+
+ };
+
+ static gint *ett[] = {
+ &ett_nr_rrc,
+#include "packet-nr-rrc-ettarr.c"
+ &ett_nr_rrc_UECapabilityInformation
+ };
+
+ /* 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));
+
+ /* Register the dissectors defined in nr-rrc.cnf */
+#include "packet-nr-rrc-dis-reg.c"
+}
+
+void
+proto_reg_handoff_nr_rrc(void)
+{
+}